Ich möchte ein Programm schreiben, das von einer Schnittstelle mit einer MAC-Adresse eine DHCP-Anfrage sendet und die IP-Adresse, das Gateway, die Maske und die Broadcast zurück Adresse vom DHCP-Server.Erhalten IP-Adresse, Gateway, Maske und Broadcast-Informationen mit DHCP
Ich verwendete this implementation von einem DHCP-Client, aber es gibt nur die IP-Adresse und die Gateway-Adressen.
Ich las über DHCP-Nachrichtenformat und ich fand keine Maske oder Broadcast-Dateien. Wenn jedoch dhcpclient Befehlszeile, kann ich mit ifconfig sehen, dass die Schnittstelle eine Maske und Broadcast-Adressen hat, wie folgt:
[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)
Könnte mir jemand sagen, wie diese Informationen gewonnen werden?
Sie möchten die Informationen von der Remote-Maschine oder von Ihnen erhalten? – ARG
@ARG: Ich möchte Informationen von meiner Maschine zu bekommen, aber mein Programm und nicht mit Kommandozeilen-Tools wie dhcpclient – ARM
@ARM verwenden Sie so etwas wie SIOCGIFADDR verwenden können, http://www.microhowto.info/howto/get_the_ip_address_of_a_network_interface_in_c_using_siocgifaddr.html – ARG