Ich muss eine Java-Anwendung, die ähnlich wie WireShark funktioniert, in der Lage, UDP zu hören der Verkehr. Aber ich muss mehr über das Datagramm als nur die Daten wissen, ich muss die IP- und MAC-Adresse des Absenders wissen. Gibt es da einen Weg dies in Java zu erreichen?Gibt es eine Möglichkeit in Java UDP-Broadcast-Nachrichten zu hören UND die Quell-IP-Adresse und Mac, die die Nachricht gesendet wurde
Hier ist ein Screenshot von dem, was ich über
Beachten Sie die Ethernet-II-Stack hat den Mac und das Internet Protocoal Version 4 hat Src Ip von Wireshark spreche.
Der Anwendungsfall davon ist, dass mehrere Geräte im Netzwerk Daten ausgeben (wie in dieser msg ist STS: ANT: OK: 8). Aber ich muss wissen, was der Mac und IP von diesem Absender ist, damit ich die Nachrichten nach Absender und Mac kategorisieren kann. (technisch kann ich doppelte IPs im Netzwerk haben.) So werden beide benötigt. Dadurch kann ich auch Fehlerfälle anzeigen, in denen dies auftritt.
Der MAC wird bedeutungslos. Wenn sich die Quelle nicht in Ihrem lokalen Netzwerksegment befindet, ist die MAC die MAC des Routers, nicht die Quelle. –
_ "technisch kann ich doppelte IPs im Netzwerk haben" _ - Wirklich? Das ist kein funktionierendes Netzwerk. Ich rieche hier ein [XY-Problem] (http://xyproblem.info). –
Sie können die IP-Adresse aus dem 'DatagramPacket' erhalten, aber um den MAC zu erhalten, müssen Sie auf etwas wie [jpcap] ( –