我正在linux盒子(DHCP客户端)上编写一个C ++程序,它取决于网络的连接性。我需要务实地验证我的系统是否有IP地址。我知道这是一个通用且开放式的问题,所以任何快速和脏的解决方案都适用于我,但理想情况下我想检查/读取系统文件以确保DHCP客户端已从DHCP服务器接收到IP地址。 / p>
提前致谢。
答案 0 :(得分:2)
只需尝试任何需要IP地址的操作,如果有的话,该操作应该有效。想到DNS查找。
答案 1 :(得分:0)
也许看看说ifconfig
的来源,因为如果分配了一个IP地址,它就会获得IP地址。一个快速的线索暗示它可能是一个像
ioctl(4, SIOCGIFADDR, {ifr_name="eth0", ifr_addr={AF_INET, inet_addr("<my ip>")}})
和我的IP地址的/ proc / net的grep表明如果你知道如何解析/proc/net/fib_trie
,你可以从那里得到它。