免费注册 查看新帖 |

Chinaunix

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

怎样知道linux系统的ip是自动获取ip??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-19 09:22 |只看该作者 |倒序浏览
我想编个程序,想知道现在的linux系统的ip是自动获取ip还是静态获取ip。

谢谢。

论坛徽章:
0
2 [报告]
发表于 2008-12-19 16:31 |只看该作者
在windows下用IPCONFIG可以看到  我现在在公司  没用linux 没法看  你可以从这个方向找找

在windows下  

如果是自动获取的
那么IPCONFIG会看到这个

   IP Address. . . . . . . . . . . . : 192.168.0.20
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1
   DHCP Server . . . . . . . . . . . : 192.168.0.1
其中指定了DHCP服务器

如果是静态IP
那么IPCONFIG会看到这样的
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
其中DHCP就没开启

所以我想LZ可以试试linux下的这点

[ 本帖最后由 qxhonker 于 2008-12-19 16:35 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-12-19 20:21 |只看该作者
  1. grep -R BOOTPROTO /etc/sysconfig/network-scripts/ifcfg-eth0
复制代码

里面有个static或者dhcp的

论坛徽章:
0
4 [报告]
发表于 2008-12-20 14:44 |只看该作者
能否通过编个程序查询出是动态ip还是静态ip??
int sock;
    struct sockaddr_in sin;
    struct ifreq ifr;
  
    sock = socket(AF_INET, SOCK_DGRAM, 0);
       
    sprintf(ifr.ifr_name, "%s", pcIfName);
       
    if(ioctl(sock, SIOCGIFADDR, &ifr) < 0)
    {
        perror("GetReaderIp: ");
                close(sock);
                return -1;
        }

    memcpy(&sin, &ifr.ifr_addr, sizeof(sin));
    *pIpAddr = sin.sin_addr.s_addr;
   
    close(sock);

论坛徽章:
0
5 [报告]
发表于 2008-12-20 22:05 |只看该作者
我觉得从socket上应该获得不到dhcp的信息,应该从dhcp 方向上获得吧

论坛徽章:
0
6 [报告]
发表于 2008-12-20 22:12 |只看该作者
能不能找到ipconfig中获得dhcp的源代码看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP