Ich habe eth0 und wlan0 nach ifconfig und ich kann ping google.com
. Wie kann ich herausfinden (mit einem normalen Benutzer, nicht root), welche Schnittstelle aktiv ist , wie in, welche Schnittstelle hat der Ping (oder was auch immer, Ping ist nicht obligatorisch) verwendet?
HINWEIS: Verwenden von Ubuntu 11.04 oder Fedora 14
Antworten:
Mit können
route
Sie Ihre Standardroute ermitteln:Die
Iface
Spalte in der Zeile mit dem Zieldefault
gibt an, welche Schnittstelle verwendet wird.quelle
route
kann es nicht verwendet werden. @Torgeir habe die richtige Antwort.192.168.1.0...
die verwendete Route. In diesem Fall bezieht es sich natürlich auf dasselbe Iface, aber das liegt nur daran, dass Sie eine Schnittstelle auf Ihrem Computer haben.Meine Version, die im Grunde auf diesem und jenem basiert :
Und das experimentell für macOS:
quelle
route |awk '/^default/{print $NF}'
Auf GNU / Linux-Systemen:
quelle
host
es sich um ein Eingabeargument für das Skript handelt. Da die Route (und damit die Schnittstelle) für verschiedene IPS unterschiedlich sein kann.Laufen
ifconfig
gibt dir die Informationen, die du brauchst.Die aktive Schnittstelle hat eine
inet addr
und zeigt eine Aufzeichnung der übertragenen Daten wie folgt:Sie können auch die Verwendung
ip addr
Befehl und alle inaktiven Schnittstellen werden als mit bezeichnet werden:NO-CARRIER
.quelle
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
route
Befehls, der jedoch aufgrund des Routings nicht unbedingt narrensicher ist. Die Standardroute muss nicht diejenige sein, die zum Internet führt, auch wenn dies häufig der Fall ist.Einzeiler:
ip route get 8.8.8.8 | sed -n 's/.*dev \([^\ ]*\) table.*/\1/p'
quelle
Verwenden Sie die Standard-Netzwerkschnittstelle, die normalerweise zum Weiterleiten an das "verbleibende" Internet verwendet wird, im Gegensatz zu DMZ, privatem Netzwerk, VM-Host usw., die normalerweise explizit weitergeleitet werden.
quelle
ip -4 route ls |awk '/^default/{print $5}'
Der Befehl
ip route ls
gibt eine Liste der aktiven Routen und ihrer Quellen an:quelle
Befehl verwenden:
quelle
benutze den folgenden:
quelle
Wenn Ihr Computer über mehrere Schnittstellen verfügt (von denen ich annehme), wird für die Verbindung zum Internet keine einzige Schnittstelle verwendet.
Abhängig von dem Ziel, zu dem Sie eine Verbindung herstellen, durchsucht Ihr System die IP-Tabelle (die beim Ausführen des
route
Befehls angezeigte ), um den nächsten Hope / Router zu finden. Wenn sie einen findet, verwendet das System die ihr zugeordnete Schnittstelle.Bitte lesen Sie die Antwort von @ torgeir, da es genau das tut:
quelle