Ich verwende ein einzelnes Arduino Ethernet Shield mit einem Wiznet W5100-Chip , um ein Netzwerk nach allen Geräten zu durchsuchen. ( Finden Sie den Quellcode des Projekts auf Github ).
Alle Geräte befinden sich im selben Ethernet-Segment. Sie werden an einen Standard-Consumer-Router angeschlossen. Allen wurden IP-Adressen im Bereich von 10.0.1.0 bis 10.0.1.20 zugewiesen. Ziel ist es, Geräte im selben Netzwerk zu identifizieren, auch wenn sich die IP geändert hat, und zu protokollieren, wenn ein Gerät online ist.
Ich habe wochenlang zu diesem Problem recherchiert und im Internet nichts Brauchbares gefunden. Dies ist das einzige Stück Code, das ich bisher gefunden habe: http://mbed.org/users/va009039/code/w5200NetIf/file/a8df39b4f3aa/MyNetUdpSocket.cpp , Zeile 124, W5100.readSnDHAR(_socket, mac)
aber es funktioniert nicht.
Ist es überhaupt möglich, eine MAC-Adresse für ein gefundenes Gerät (IP ist dann bekannt) im selben Netzwerk zu erhalten?
PeterJ
powtac
PeterJ
powtac
Wouter van Ooijen
powtac
Wouter van Ooijen
David Tweed
David Tweed
Jippie
arp HP5180.local
dass HP5180.local mein Drucker ist, aber jede IP-Adresse im Netzwerk sein kann.Address HWtype HWaddress Flags Mask Iface
gefolgt vonHP5180.local ether 02:0f:b5:52:73:65 C eth0
. Sie müssen also das ARP -Protokoll verwenden.powtac
powtac