首页 > 代码库 > 获取IP地址(简单实现)
获取IP地址(简单实现)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <sys/socket.h> 5 #include <sys/select.h> 6 #include <sys/time.h> 7 #include <unistd.h> 8 #include <sys/ioctl.h> 9 #include <errno.h> 10 #include <arpa/inet.h> 11 #include <sys/socket.h> 12 #include <net/if.h> 13 #include <net/if_arp.h> 14 #include <netdb.h> 15 16 #define ETH_NAME "p1p2" //网卡名字 17 18 int main() 19 { 20 int sock; 21 struct sockaddr_in sin; 22 struct ifreq ifr; 23 24 sock = socket(AF_INET, SOCK_DGRAM, 0); 25 if(sock < 0){ 26 perror("socket"); 27 return -1; 28 } 29 30 strcpy(ifr.ifr_name, ETH_NAME); 31 int ret = ioctl(sock, SIOCGIFADDR, &ifr); 32 if(ret < 0){ 33 perror("ioctl"); 34 return -1; 35 } 36 37 memcpy(&sin, &ifr.ifr_addr, sizeof(sin)); 38 printf("%s\n", inet_ntoa(sin.sin_addr)); 39 return 0; 40 }
获取IP地址(简单实现)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。