ioctl()函数获取本机IP、MAC
2012-08-30 18:29
281 查看
#include <sys/ioctl.h> int ioctl(int d, int request, ...);
/* Socket configuration controls. */ #define SIOCGIFADDR 0x8915 /* get PA address */ #define SIOCSIFADDR 0x8916 /* set PA address */ #define SIOCGIFHWADDR 0x8927 /* Get hardware address */
struct ifreq,Interface request structure,在头文件<net/if.h>
#include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> #include <sys/ioctl.h> #include <net/if.h> int main() { int sock; int res; struct ifreq ifr; sock = socket(AF_INET, SOCK_STREAM, 0); strcpy(ifr.ifr_name, "eth0"); res = ioctl(sock, SIOCGIFADDR, &ifr); printf("IP: %s\n",inet_ntoa(((struct sockaddr_in*)&ifr.ifr_addr)->sin_addr)); strcpy(ifr.ifr_name, "eth0"); res = ioctl(sock, SIOCGIFHWADDR, &ifr); int i; char mac[32]; for(i = 0; i < 6; ++i) { sprintf(mac + 3*i, "%02x:", (unsigned char)ifr.ifr_hwaddr.sa_data[i]); } printf("MAC: %s\n",mac); return 0; }
相关文章推荐
- ioctl()函数获取本机IP、MAC
- ioctl()函数获取本机IP、MAC
- ioctl()函数获取本机ip,mask,mac
- Delphi For Android 使用Posix函数获取网络信息(MAC, IP...)
- ioctl()函数的简单使用——获取本机的IP、掩码、HWaddr
- linux ioctl函数获取本机IP
- ioctl获取本地IP和MAC地址
- ASP.NET获取客户端IP及MAC地址
- 利用JS获取IE客户端IP及MAC的实现
- Qt之获取本机网络信息(MAC, IP等等,很全)
- 获取域计算机信息(IP&MAC)
- servlet(java)获取客户端IP(MAC)
- Linux环境下获取当前主机的IP/MAC等信息(C/C++)
- JS获取本机MAC、IP、机器名
- 通过 ARP 协议获取局域网内指定 IP 地址的机器的 MAC 地址
- 获取客户端mac ip demo所需getIpAndMac.js文件(二)
- 获取指定IP的MAC地址
- getenv()函数,获取用户端IP的三个属性
- 利用JS获取IE客户端IP及MAC的实现
- [Asp.Net]获取客户端IP以及MAC地址