GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich heraus, über welche Schnittstelle ich mich mit dem Internet verbinde?

Sie können route verwenden So finden Sie Ihre Standardroute:

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Die Iface Spalte in der Zeile mit dem Ziel default sagt Ihnen, welche Schnittstelle verwendet wird.


Meine Version, die im Wesentlichen auf diesem und diesem basiert:

route | grep '^default' | grep -o '[^ ]*$'

Und das experimentell , für macOS:

route -n get default | grep 'interface:' | grep -o '[^ ]*$'

Auf GNU/Linux-Systemen:

#!/bin/sh

# host we want to "reach"
host=google.com

# get the ip of that host (works with dns and /etc/hosts. In case we get  
# multiple IP addresses, we just want one of them
host_ip=$(getent ahosts "$host" | awk '{print $1; exit}')

# only list the interface used to reach a specific host/IP. We only want the part
# between dev and src (use grep for that)
ip route get "$host_ip" | grep -Po '(?<=(dev )).*(?= src| proto)'

Linux
  1. So suchen Sie in der Konsole nach großen Dateien

  2. Linux:So finden Sie den für ein Gerät verwendeten Gerätetreiber

  3. Ubuntu – Wie finde ich heraus, welches X11-Treibersystem verwendet wird?

  4. Wie finden Sie heraus, welcher Prozess eine Datei in Linux verwendet?

  5. Finden Sie die Schnittstelle für die Route zu einem bestimmten Host

So finden Sie Dateien über die Befehlszeile im Linux-Terminal

So finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört

So finden Sie heraus, welche Desktop-Umgebung Sie verwenden

So finden Sie heraus, welches Programm das Internet nutzt und wie viel?

So finden Sie die .pid-Datei für einen bestimmten Prozess

Wie finde ich den Virtualisierungstyp eines Linux-VPS heraus?