¿Cómo encuentra la interfaz de red de Internet actual?

¿Cómo encuentra la interfaz de red de Internet actual?

¿Cómo encuentro la interfaz de red que está conectada a Internet?

Esta máquina normalmente se puede conectar a través de {eth0,eth1,usb0,wlan0}. Lo mejor que se me ocurre es:

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

Actualizar: Mi solución favorita es:

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

Respuesta1

Creo que será mejor usar iproute2 en lugar de una ruta antigua que funciona mal.

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

Respuesta2

route -n | awk '$1 ~ /0.0.0.0/ {print $NF}'le proporcionará una interfaz con la puerta de enlace predeterminada, que probablemente sea la interfaz a través de la cual accede a Internet.

información relacionada