免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3742 | 回复: 2
打印 上一主题 下一主题

linux C语言 获取网卡ip地址 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-27 16:54 |只看该作者 |倒序浏览
#include <stdio.h>\r\n#include <string.h>\r\nint main()\r\n{\r\n    FILE *fpr;\r\n    char devicecfg[50];\r\n    char *device=\"eth0\";\r\n    sprintf(devicecfg,\"/etc/sysconfig/network-scripts/ifcfg-%s\",device);\r\n    char buf[1024],*p;\r\n    int i;\r\n    char gwIP[20]={0};    \r\n    \r\n    if((fpr=fopen(devicecfg, \"r\"))==NULL)\r\n    {\r\n        printf(\"open device config faile\\n\");\r\n        return -1;\r\n    }\r\n    memset(buf, 0, sizeof(buf));\r\n    while(fgets(buf, sizeof(buf),fpr)!= NULL)\r\n    {\r\n        if(NULL == (p=strstr(buf,\"GATEWAY=\"))) continue;\r\n        p=p+8;\r\n        strncpy(gwIP,p,strlen(p)-1);                \r\n        break;        \r\n    }\r\n    fclose(fpr);\r\n    printf(\"%s\\n\",gwIP);    \r\n    return 0;\r\n}
\n\n[ 本帖最后由 hackersea 于 2008-8-27 22:42 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-08-27 17:02 |只看该作者

调用演示...

#include <stdio.h>\r\n#include <string.h>\r\nint main()\r\n{\r\n    char gwIP[20]={0};\r\n    get_gw_ip(gwIP);\r\n    printf(\"%s\\n\",gwIP);    \r\n    return 0;\r\n}\r\n\r\nint get_gw_ip(char gwIP[])\r\n{\r\n    FILE *fpr;\r\n    char devicecfg[50];\r\n    char *device=\"eth0\";\r\n    sprintf(devicecfg,\"/etc/sysconfig/network-scripts/ifcfg-%s\",device);\r\n    char buf[1024],*p;\r\n    int i;\r\n    \r\n    memset(gwIP,0,sizeof(gwIP));\r\n    \r\n    if((fpr=fopen(devicecfg, \"r\"))==NULL)\r\n    {\r\n        printf(\"open device config failedn\");\r\n        return -1;\r\n    }\r\n    memset(buf, 0, sizeof(buf));\r\n    while(fgets(buf, sizeof(buf),fpr)!= NULL)\r\n    {\r\n        if(NULL == (p=strstr(buf,\"GATEWAY=\"))) continue;\r\n        p=p+8;\r\n        strncpy(gwIP,p,strlen(p)-1);                \r\n        break;        \r\n    }\r\n    fclose(fpr);\r\n    if(0==strlen(gwIP))\r\n    return -1;\r\n    else\r\n    return 0;\r\n}
\n\n[ 本帖最后由 hackersea 于 2008-8-27 22:42 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-08-27 18:23 |只看该作者
我想发给网关arp数据包,确认下网关mac地址。\r\n\r\n编程...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP