Wie erhält man die richtige MAC-Adresse aus dem ARP-Befehl?

Wie erhält man die richtige MAC-Adresse aus dem ARP-Befehl?

Haftungsausschluss: Neu bei Linux, verwende Raspbian Light auf einem Pi 3. Nur SSH-Zugriff.

Ich versuche per Ping/ARP die Mac-Adresse zu suchen:

ping 192.168.1.7
arp 192.168.1.7

Es gibt Folgendes zurück:

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.7              ether   02:0f:b5:ed:9e:5c   C                     eth0

Die HW-Adresse unterscheidet sich von der Mac-Adresse, die ich in Windows sehe:

ping 192.168.1.7
arp -a 192.168.1.7

Das führt zu:

Internet Address      Physical Address      Type
192.168.1.7           c0-ee-fb-ed-9e-5c     dynamic

Netzwerktopologie

Pi am Kabel (.27) → Switch am Kabel → Router (.1)
Telefon am WLAN (.7) → Router (.1)
Windows am WLAN (.30) → Router (.1)

Wie kann ich erreichen, dass mein Pi denselben Mac zurückgibt?

Hinweis: Der Teil mit dem „Anbieter“ scheint anders zu sein. Also ist es „fast“ richtig?

Antwort1

Beste Vermutung: Ihr RaspPi ist über LAN mit dem Router verbunden, während das „Ziel“-Telefon und der Windows-PC über WLAN verbunden sind. Das bedeutet, dass sich das Telefon und der Windows-PC zwar im selben Segment befinden und ARP wie vorgesehen funktioniert, das LAN und das WLAN jedoch normalerweise nicht im selben Segment wären.

Seit sieerscheinenim selben Segment zu sein (gleiches /24-Präfix), würde ich annehmen, dass der Router einige ausgefallene Dinge tut, damit das funktioniert, wie MAC NAT überebtabellen. Darauf deutet auch die Tatsache hin, dass sich die „gefälschte“ MAC-Adresse nur im Vendor-Präfix unterscheidet und dieses Vendor-Präfix nicht gültig zu sein scheint.

Dies können Sie testen, indem Sie Ihren Windows-PC per LAN (Kabel) mit dem Router verbinden und schauen, welche MAC-Adresse er dann meldet.

Eine andere Möglichkeit zum Testen besteht darin, Root-Zugriff auf Ihren Router zu erhalten und nachzuschauen, was darin passiert.

Bearbeiten

Wenn diese Vermutung zutrifft, handelt es sich lediglich um eineRouterProblem, kein Problem von Linux vs. Windows. Windows findet auch dann die „falsche“ MAC-Adresse, wenn der Windows-PC über LAN verbunden ist, während das Zieltelefon über WLAN verbunden ist.JedenGerät, das über WLAN verbunden ist, sieht die "falsche" MAC-Adresse vonjedenGerät, das über LAN verbunden ist, und umgekehrt.

Und Sie können es nicht „umgehen“, es sei denn, Sie können Ihren Router so konfigurieren, dass es deaktiviert wird. In diesem Fall haben Sie wahrscheinlich unterschiedliche Subnetze für LAN und WLAN, und der RaspPi im LAN sieht die MAC-Adresse eines Geräts im WLAN nicht.überhaupt(und umgekehrt), obwohl sie miteinander kommunizieren können.

So funktioniert Networking.

Die Frage ist: Warum brauchen Sie überhaupt die „richtige“ MAC-Adresse? Das sollte nicht nötig sein.

Antwort2

Der arpBefehl gibt Ihnen die richtige MAC-Adresse der RPI-Netzwerkschnittstelle und Sie können sie wie folgt überprüfen:

ssh [email protected]
sudo cat /sys/class/net/eth0/address

Dies c0-ee-fb-ed-9e-5cist die Mac-Adresse Ihres One Plus-Telefons.

verwandte Informationen