验证IP地址的简便方法已经发布

时间:2012-06-09 16:03:50

标签: c++ network-programming dhcp

我正在linux盒子(DHCP客户端)上编写一个C ++程序,它取决于网络的连接性。我需要务实地验证我的系统是否有IP地址。我知道这是一个通用且开放式的问题,所以任何快速和脏的解决方案都适用于我,但理想情况下我想检查/读取系统文件以确保DHCP客户端已从DHCP服务器接收到IP地址。 / p>

提前致谢。

2 个答案:

答案 0 :(得分:2)

只需尝试任何需要IP地址的操作,如果有的话,该操作应该有效。想到DNS查找。

答案 1 :(得分:0)

也许看看说ifconfig的来源,因为如果分配了一个IP地址,它就会获得IP地址。一个快速的线索暗示它可能是一个像

这样的ioctl
ioctl(4, SIOCGIFADDR, {ifr_name="eth0", ifr_addr={AF_INET, inet_addr("<my ip>")}})

和我的IP地址的/ proc / net的grep表明如果你知道如何解析/proc/net/fib_trie,你可以从那里得到它。