Если у меня несколько сетевых интерфейсов (здесь: 2) на компьютере с Linux (здесь: Debian Lenny). Как узнать, по какому сетевому интерфейсу (NIC) идет маршрут к определенному хосту назначения и какой IP-адрес источника используется по умолчанию?
Я имею хотя использования
ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com
также посмотрите, возможны ли оба пути. (Здесь: возможны оба пути)
Я посмотрел таблицу маршрутизации
ip route show
Но это довольно сложно, поэтому я подумал, что нужно с помощью небольшого простого инструмента просто сказать мне:
«На хост назначения desthost.example.com требуется интерфейс nicX и IP-адрес источника 10.0.0.1»
Какой самый простой способ получить эту информацию?
(И я бы предпочел не использовать tcpdump и устанавливать интерфейсы в смешанном режиме.)
Благодарю.
источник
ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
ip -o route get $ipaddress | awk '{ print $5 }'
как насчет
route -C
источник
Я использую
netstat -Wcatnp
. Вы должны попробовать эту команду.источник
Еще проще, я бы сказал,
nm-tool
и если вы хотите только соответствующую строкуnm-tool | grep Device
. Это должно вывести:источник