Ich brauche Router-Software zu entwickeln, die so etwas wie dies zeigt (Hinweis: Dieser Beitrag zum Netzwerk-Programmierung ist ähnlich):Wie Client-Daten aus DHCP-Paket extrahieren?
ich DHCP-Pakete durch Wireshark gefangen genommen und festgestellt, dass es alle Details enthält I müssen angezeigt werden. Die Daten sieht wie folgt aus:
ich das gleiche mit dhcpdump und tcpdump-Tools überprüft.
[email protected]:$ sudo dhcpdump -i wlp6s0
Ein Teil der Produktion Ich bin an ist:
TIME: 2016-06-23 12:20:50.976
IP: 10.42.0.1 (b0:c0:90:69:72:57) > 10.42.0.99 (fc:64:ba:1b:40:e5)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: e277d896
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 10.42.0.99
SIADDR: 10.42.0.1
GIADDR: 0.0.0.0
CHADDR: fc:64:ba:1b:40:e5:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 54 ( 4) Server identifier 10.42.0.1
OPTION: 51 ( 4) IP address leasetime 3600 (60m)
OPTION: 58 ( 4) T1 1800 (30m)
OPTION: 59 ( 4) T2 3150 (52m30s)
OPTION: 1 ( 4) Subnet mask 255.255.255.0
OPTION: 28 ( 4) Broadcast address 10.42.0.255
OPTION: 6 ( 4) DNS server 10.42.0.1
OPTION: 3 ( 4) Routers 10.42.0.1
---------------------------------------------------------------------------
Aber ohne diese Werkzeuge zu verwenden (diese Tools nicht auf Routerkarte hinzugefügt werden), wie Client-Daten wie MAC-Adresse zu extrahieren , IP-Adresse und andere Informationen aus Dhcp-Paket (oder wie diese Tools die Informationen extrahiert) programmgesteuert (wenn möglich in C)?
Ist Ihr Router mit Linux? Müssen Sie die gesamte dhcp/DNS/NAT-Funktionalität auf dem Router von Grund auf neu schreiben oder müssen Sie nur die dhcp-Pakete überwachen? –
Ja .. Router unter Linux. Und ja, ich muss Pakete überwachen. Keine Notwendigkeit, von Grund auf neu zu entwickeln. Und ich verstehe nicht, warum diese Frage abgelehnt wird. –
@nayabbashasayed Ein Grund könnte sein, dass es ein bisschen verwirrend ist. Warum haben Sie das Gefühl, dass Sie Pakete überwachen müssen? Die Informationen, die Sie suchen, sind selbstverständlich auf andere Weise verfügbar, abhängig davon, welche Software Sie gerade ausführen. Sehen Sie sich zum Beispiel die Dokumentation für den DHCP-Server an. – unwind