您的位置:首页 > 其它

项目加解密模块-获取本机一些配置信息

2016-06-23 09:50 357 查看
ifreq  是在使用ifconfig命令配置本机ip,掩码等使用的结构体,定义在/usr/include/net/if.h里 , 然后使用ioctl与内核进行通信,通信使用socket。是想获取IP等信息还是修改信息,实在ioctl的参数确定的。

int main()

{

    int iSock = 0;

    struct sockaddr_in sockLocalAddr;

    struct ifreq ifInfo;

    unsigned char buf[6];

    bzero(&sockLocalAddr, sizeof(sockLocalAddr));

    bzero( &ifInfo, sizeof( ifInfo));

    bzero(buf, sizeof(buf));

    iSock = socket(AF_INET, SOCK_DGRAM, 0);

    if (-1 == iSock)

    {

        perror("socket:");

        return E_FAIL;

    }

    strncpy(ifInfo.ifr_name, "eth0", 4);

    ifInfo.ifr_name[4] = '\0';

    if( ioctl(iSock, SIOCGIFHWADDR, &ifInfo) == 0)

    {

        memcpy(buf, ifInfo.ifr_hwaddr.sa_data, 6);

        printf("hardwaer=%02x:%02x:%02x:%02x:%02x:%02x\n",

                buf[0],buf[1],buf[2],buf[3],buf[4],buf[5]);

    }

    return E_OK;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加密