项目加解密模块-获取本机一些配置信息
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;
}
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;
}
相关文章推荐
- 用ASP编写的加密和解密类
- VBS脚本加密/解密VBS脚本(简易免杀版1.1)
- BAT加密工具 EncryBat 非编译型bat批处理加密方案与代码
- C#对称加密(AES加密)每次生成的结果都不同的实现思路和代码实例
- SQLServer 2008中的代码安全(一) 存储过程加密与安全上下文
- 实例讲解SQL Server加密功能
- C#实现对文件进行加密解密的方法
- C#实现数据包加密与解密实例详解
- C#最简单的字符串加密解密方法
- C#加密app.config中连接字符串的方法
- C#使用伪随机数实现加密用户密码的方法
- asp MD5加密方式使用建议
- C#对称加密与非对称加密实例
- 浅谈C#中Md5和Sha1两种加密方式
- 基于C#对用户密码使用MD5加密与解密
- vbs shellcode转换escape加密
- PHP加密解密字符串汇总
- PHP加密解密实例分析
- php结合md5实现的加密解密方法
- ASP.NET web.config中 数据库连接字符串加密解密