- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux 获取本机IP地址
IP地址分为IPv4 和IPv6,本文只验证了IPv4的获取,至于IPv6还没有验证。
?
说明:family = AT_INET :IPv4family = AT_INET6:IPv6address: 提取得到的IP地址所要保存的地址size =strlen(sampleIP) 192.168.123.128???????MAX_IPv4 =15
某些头文件应在其他方面,在本程序中没用得上。不过不影响程序的编译。
program list:
?
#include stdio.h#include stdlib.h#include string.h#include sys/socket.h#include netinet/in.h#include arpa/inet.h#include netdb.h#include sys/types.h#include net/if.h#include ifaddrs.h#include unistd.h????#include sys/stat.h??#include fcntl.h?????#include termios.h???#include errno.h?????
?int GetIP_v4_and_v6_linux(int family, char *address, int size){???struct ifaddrs *ifap0, *ifap;???char buf[NI_MAXHOST];???char *interface = eth0;???struct sockaddr_in *addr4;???struct sockaddr_in6 *addr6;???int ret;?????if( NULL == address )??????{?????????????return -1;?????????}??????if(getifaddrs(ifap0))??????{????????return -1;????????}????????for( ifap = ifap0; ifap != NULL; ifap=ifap-ifa_next)?????{??????if(strcmp(interface, ifap-ifa_name) != 0) continue;??????if(ifap-ifa_addr==NULL) continue;??????if ((ifap-ifa_flags IFF_UP) == 0) continue;??????if(family != ifap-ifa_addr-sa_family) continue;??????if(AF_INET == ifap-ifa_addr-sa_family)???????{????????addr4 = (struct sockaddr_in *)ifap-ifa_addr;????????if ( NULL != inet_ntop(ifap-ifa_addr-sa_family,??????????????(void *)(addr4-sin_addr), buf, NI_MAXHOST) )?????????????{??????????????if(size????strlen(buf) ) break;??????????????strcpy(address, buf);??????????????printf(IPv4=%s\n,address);//testing??????????????freeifaddrs(ifap0);??????????????return 0;?????????????}??????else break;???????????????????????????????}?????else if(AF_INET6 == ifap-ifa_addr-sa_family)????????{?????????addr6 = (struct sockaddr_in6 *)ifap-ifa_addr;?????????if(IN6_IS_ADDR_MULTICAST(addr6-sin6_addr))?????????????{ continue;?????????????}?????????if(IN6_IS_ADDR_LINKLOCAL(addr6-sin6_addr))?????????????{continue;?????????????}???????????if(IN6_IS_ADDR_LOOPBACK(addr6-
您可能关注的文档
- Bu-xclaf北外法语3-6.doc
- B历史文化名人.ppt
- C++由来及.ppt
- a寄生虫学第九讲(棘球、裂头).ppt
- C13缩合.ppt
- CAD、CAM的发展综述.doc
- CAD做一个漂亮的足球.doc
- CAD二次开发利用.doc
- CanMoon软件使用说明.doc
- CET-4 词汇与阅读等训练(第3期).doc
- 16《大家一起来合作》(第2课时)(教学设计)部编版道德与法治一年级下册.docx
- 12《动物的耳朵》教学设计-2023-2024学年科学二年级下册青岛版.docx
- 第12课 河流与湖泊(教学教学设计)三年级科学上册同步高效课堂系列(苏教版).docx
- 选择性必修一第三单元第2讲近代西方的法律与教化(教学设计)2024年新高考文化课冲刺点金历史.docx
- 课堂小练(12) 重组DNA技术的基本工具(教学设计)轻松课堂2023-2024学年新教材高中生物选择性必修3 生物技术与工程(人教版,多选).docx
- 1 《沁园春·长沙》教学设计 2024-2025学年统编版高中语文必修上册.docx
- 03《诗词三首 六月二十七日望湖楼醉书(其一)》(教学设计)2024-2025学年六年级语文上册同步精品课堂(统编版五四制2024).docx
- (教学设计)Unit 4 Scientists Who Changed the World 导读 话题妙切入2023-2024学年新教材高中英语必修第三册(译林版2020).docx
- (教学设计)专题8 第3单元 基础课时19 人工合成有机化合物2023-2024学年新教材高中化学必修第二册(苏教版2019).docx
- 第5章 §3 综合训练2023-2024学年新教材高中数学必修第二册同步教学设计 (北师大版2019).docx
最近下载
- 股市趋势技术分析.pdf VIP
- 经颅多普勒超声TCD知识考核试题与答案.docx VIP
- 《外贸英语函电》中职课件02项目二 签订合同.ppt VIP
- 规范荷兰紫皮书 CPR 18E-Guidelines for Quantitative Risk Assessment.pdf
- 《离子方程式正误判断》教学设计教学目标.doc VIP
- 医学实验动物学全套完整课件.pptx
- AIOT智慧养老实训平台.pdf
- 2024年秋新冀教版三年级上册英语教学课件 Unit 3 Lesson 2 .pptx
- 20110324重庆市建设项目交通影响评价技术导则.doc
- 中海地产薪酬管理制度[-2022年].pdf
文档评论(0)