Wie finden Sie die aktuelle Internet-Netzwerkschnittstelle?

Wie finden Sie die aktuelle Internet-Netzwerkschnittstelle?

Wie finde ich die Netzwerkschnittstelle, die mit dem Internet verbunden ist?

Diese Maschine könnte normalerweise über verbunden werden {eth0,eth1,usb0,wlan0}. Das Beste, was mir einfällt, ist:

sudo route | grep default | awk '{print $NF}'

Aktualisieren: Meine bevorzugte Lösung ist:

 $(for i in `ip r`; do echo $i; done | grep -A 1 dev | tail -n1)

Antwort1

ich denke, es ist besser, iproute2 anstelle einer alten und schlecht funktionierenden Route zu verwenden.

ip r | sed -n '/^de/s/.*dev //p'

Antwort2

route -n | awk '$1 ~ /0.0.0.0/ {print $NF}'bietet Ihnen eine Schnittstelle zum Standard-Gateway, bei dem es sich höchstwahrscheinlich um die Schnittstelle handelt, über die Sie auf das Internet zugreifen.

verwandte Informationen