Eine überbrückte Schnittstelle verhält sich wie ein Switch, dh sie verwendet die Schnittstelle, die sie benötigt, um mit der gewünschten Ethernet-Adresse zu kommunizieren. So zum Beispiel, wenn em0
direkt mit MAC - Adressen aa.bb.cc.dd.ee.ff
und a1.bb.cc.dd.ee.ff
, während em1
direkt an Mac - Adressen verbunden ist aa.cc.bb.dd.ee.ff
und a1.cc.bb.dd.ee.ff
, wissen Sie bereits, welche Schnittstelle zu suchen. tcpdump
ist auch in solchen Situationen sehr nützlich, wenn Sie den -e
Schalter übergeben, der auch Ethernet-Adressen anzeigt. Die anderen Fälle können im Allgemeinen behandelt werden, indem die Routingtabellen betrachtet werden und von dort aus, wenn nicht die tatsächliche Schnittstelle, zumindest die wahrscheinlichste. tcpdump
erweist sich in solchen Fällen immer wieder als der beste Assistent.
Wie komme ich in FreeBSD von einer logischen Schnittstelle zur Schnittstelle der zugrunde liegenden NIC, die ein Gerät verwendet?
Wenn in FreeBSD die Schnittstelle, auf der sich ein IP-Gerät befindet, eine physische Netzwerkkarte ist, kann ich die Schnittstelle für die physische Netzwerkkarte nachschlagen arp -a
.
Aber wie kann man am einfachsten von einer IP-Adresse eines bekannten Geräts auf die Schnittstelle zugreifen, wenn es sich um eine überbrückte oder eine andere logische Schnittstelle handelt? Ich kann seine logische Schnittstelle von ARP beziehen, aber dann wird nur die Bridge-Schnittstelle in ARP angezeigt, nicht die eigentliche externe Schnittstelle.
Was ich identifizieren möchte, ist die Schnittstelle, die eine echte externe Netzwerkkarte darstellt, die von der IP verwendet wird. Daher kann ich die richtige Verbindung herstellen / trennen, den entsprechenden Netzwerk-Switch oder was auch immer überprüfen. Nehmen Sie zur Vereinfachung keine Multipathing-, Aggregat- / Fallover-Verbindungen oder Firewall-Probleme an, und ich kann externe NICs von ihrem Treiber unterscheiden (em, re etc).
Wie kann ich das bekommen?
Beispiele:
- (Die häufigsten Situation) - System hat
em0
,em1
,em2
,em3
und sie überbrückt werden vonbridge0
denen hat eine bestimmte IP - Adresse. Ich stecke einen Laptop in einen Schalter, der mit einem vonemo
- verbunden istem3
. Wenn ich benutze,arp -a
bekomme ich das Gerät - aber es wird mit einer Schnittstelle aufgelistet,bridge0
die logisch korrekt ist, aber physisch nicht hilfreich ist. - (seltener) Ein Laptop ist über ein VPN mit einem Switch verbunden, der mit einem überbrückten if verbunden ist. Die tatsächlich angegebene Schnittstelle ist die des VPNs, nicht der Bridge oder der NIC des Switches.
- (Weniger weit verbreitete Situation) Ein Gerät ist mit einer statischen IP-Adresse falsch konfiguriert, die nicht zum Schnittstellen-Subnetz passt. Vielleicht senden und empfangen sie Broadcasts, wenn dies der Fall wäre. Es hat keinen ARP-Eintrag, da ARP
who-has
für das erwartete nicht das tatsächliche Teilnetz an die Schnittstelle gesendet wird. Es würde jedoch auf ein Paket mit seiner statischen IP oder einem ARPwho-has
über die richtige NIC antworten .
Hinweis - Es gibt auch andere Fälle (VPN usw.), in denen möglicherweise mehrere Schichten gestapelter logischer Schnittstellen vorhanden sind, bis eine zur tatsächlich verwendeten physikalischen Schnittstelle gelangt. Im Allgemeinen geht es also darum, ein Gerät mit einer nicht physischen Schnittstelle zu erkennen und zu einer zugrundeliegenden Schnittstelle zu rekursieren, die die physische Netzwerkkarte darstellt, über die es verbunden ist.
1 Antwort auf die Frage
Verwandte Probleme
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
5
XP-Netzwerkverbindung ohne Neustart freigeben?
-
5
Wie richte ich Windows ein, 802.11 gegenüber 3G zu bevorzugen?
-
4
Gibt es eine Möglichkeit, den Scanner eines Multifunktionsdruckers gemeinsam zu nutzen?
-
3
Gibt es eine Möglichkeit, zwei Computer über USB anzuschließen?
-
3
Wie halten Sie mehrere Verbindungen zum Internet?
-
4
iPod-Touch zum Abspielen von Filmen vom PC auf der PS3?
-
2
Mac tritt der Windows-Arbeitsgruppe nicht bei
-
1
Wie kann ich die Sicherheit meines Portals erhöhen?
-
1
Wie vernetzt man Windows XP und Ubuntu Linux?