Linux 中获取指定网口的IP地址(c实现)
2014-05-16 10:10
337 查看
/* *功能:传入一个网口名,获取相应的IP地址 * */ #include <stdio.h> #include <ifaddrs.h> #include <netinet/in.h> #include <string.h> #include <arpa/inet.h> char *interface2ip(char *infName) { struct ifaddrs *ifAddrStruct; void *tmpAddrPtr=NULL; char ip[16]; memset(ip, 0, sizeof(ip)); static char infIP[16]; getifaddrs(&ifAddrStruct); while (ifAddrStruct != NULL) { if (ifAddrStruct->ifa_addr->sa_family==AF_INET && 0 == strcmp(ifAddrStruct->ifa_name,infName)) { tmpAddrPtr=&((struct sockaddr_in *)ifAddrStruct->ifa_addr)->sin_addr; inet_ntop(AF_INET, tmpAddrPtr, ip, INET_ADDRSTRLEN); //printf("eth0 ip :%s\n",ip); strcpy(infIP,ip); //printf("infIP is :%s\n",infIP); } ifAddrStruct=ifAddrStruct->ifa_next; } //free ifaddrs freeifaddrs(ifAddrStruct); //return 0; return infIP; } int main() { char infName[] = "eth0"; printf("the result is : %s\n",interface2ip(infName)); return 0; }
结果:
相关文章推荐
- java下linux和window通用的获取指定网段的本地ip地址(NetworkInterface)
- Linux下C编程实现---获取本机IP地址
- Linux函数实现获取本机IP和设置IP地址
- 嵌入式linux通过DHCP自动获取IP地址实现
- Linux字符串替换一例:根据IP地址获取指定内容
- 嵌入式linux通过DHCP自动获取IP地址实现
- 嵌入式linux通过DHCP自动获取IP地址实现
- linux C如何获取服务器节点上所有网口的ip地址
- linux 获取eth0(指定网卡)网卡的IP地址(或MAC地址)
- 嵌入式linux通过DHCP自动获取IP地址实现
- linux下C实现IP地址,DNS,网关的自动获取
- linux获取指定网口的MAC
- Linux 实现DHCP自动获取IP地址
- linux下获取网络流量的实现方法
- Java获取主机IP地址,自动区分Windows和Linux
- linux下 获取本机ip地址和掩码地址
- Linux上获取指定进程的cpu使用情况
- Linux下实现一个网卡绑定多个IP地址
- linux下获取电信,网通,铁通IP地址
- DHCP多区域的配置!!客户机获取不到指定区域的IP地址。