Как найти текущий интерфейс интернет-сети?

Как найти текущий интерфейс интернет-сети?

Как найти сетевой интерфейс, подключенный к Интернету?

Эту машину обычно можно подключить через {eth0,eth1,usb0,wlan0}. Лучшее, что я смог придумать, это:

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

Обновлять: Мое любимое решение:

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

решение1

Я думаю, что будет лучше использовать iproute2 вместо старого и плохо работающего маршрута.

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

решение2

route -n | awk '$1 ~ /0.0.0.0/ {print $NF}'предоставит вам интерфейс со шлюзом по умолчанию, который, скорее всего, является интерфейсом, через который вы выходите в Интернет.

Связанный контент