ネットワークの接続に依存する Linux ボックス (DHCP クライアント) で C++ プログラムを作成しています。システムに IP アドレスがあることを実用的に検証する必要があります。これは一般的な自由回答形式の質問であることはわかっているので、簡単で汚い解決策はすべてうまくいきますが、理想的には、システム ファイルをチェック/読み取り、DHCP クライアントが DHCP サーバーから IP アドレスを受信したことを確認したいと考えています。
前もって感謝します。
ネットワークの接続に依存する Linux ボックス (DHCP クライアント) で C++ プログラムを作成しています。システムに IP アドレスがあることを実用的に検証する必要があります。これは一般的な自由回答形式の質問であることはわかっているので、簡単で汚い解決策はすべてうまくいきますが、理想的には、システム ファイルをチェック/読み取り、DHCP クライアントが DHCP サーバーから IP アドレスを受信したことを確認したいと考えています。
前もって感謝します。
IP アドレスが必要な操作を試してみてください。IP アドレスがあれば動作するはずです。DNSルックアップが思い浮かびます。
ifconfig
割り当てられている場合は IP アドレスを取得するため、say のソースを確認してください。簡単なstraceは、次のようなioctlである可能性があることを示唆しています
ioctl(4, SIOCGIFADDR, {ifr_name="eth0", ifr_addr={AF_INET, inet_addr("<my ip>")}})
私のIPアドレスの/ proc/netのgrepは、解析方法を知っていれば/proc/net/fib_trie
そこから取得できる可能性があることを示唆しています。