Как мне найти сетевой интерфейс, подключенный к Интернету?
Этот аппарат обычно можно подключить через {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)
Думаю, лучше будет использовать iproute2 вместо старого и плохо работающего маршрута.
ip r | sed -n '/^de/s/.*dev //p'
route -n | awk '$1 ~ /0.0.0.0/ {print $NF}'
предоставит вам интерфейс со шлюзом по умолчанию, который, скорее всего, является интерфейсом, через который вы выходите в Интернет.