MACアドレスを持つインターフェイスからDHCP要求を送信し、IPアドレス、ゲートウェイ、マスク、およびブロードキャストを取得するプログラムを作成します。アドレスをDHCPサーバーから取得します。DHCPを使用してIPアドレス、ゲートウェイ、マスク、およびブロードキャスト情報を取得する
私はDHCPクライアントのthis implementationを使用しましたが、IPアドレスとゲートウェイアドレスのみを提供します。
私はDHCPメッセージフォーマットについて読んで、マスクやブロードキャストのファイルを見つけられませんでした。しかし、dhcpclientとコマンドラインを使用しているとき、私は、インターフェイスがマスクとブロードキャストアドレスを持っていることをifconfigコマンドを使用して見ることができ、以下のように:
[email protected]:~/dhclient wlp2s0
[email protected]:~/ifconfig wlp2s0
wlp2s0 Link encap:Ethernet HWaddr 54:da:d0:15:4b:04
inet addr:153.179.154.55 Bcast:153.179.169.255 Mask:255.255.240.0
inet6 addr: fe80::2037:c031:5db1:445c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:113 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:112130 (112.1 KB) TX bytes:9520 (9.5 KB)
誰かがこの情報を取得する方法を教えてもらえますか?
リモートマシンの情報を取得したいのですか? – ARG
@ARG:自分のマシンの情報を取得したいが、自分のプログラムを使用し、dhcpclient – ARM
@ ARMのようなコマンドラインツールを使用しないで、SIOCGIFADDR、http://www.microhowto.info/howto/get_the_ip_address_of_a_network_interface_in_c_using_siocgifaddr.htmlのようなものを使うことができる – ARG