Como ver no Linux qual interface de rede e endereço IP de origem é usada para uma rota para um host de destino específico?

15

Se eu tiver várias interfaces de rede (aqui: 2) em uma máquina Linux (aqui: Debian Lenny). Como eu vejo, em qual interface de rede (NIC) está indo uma rota para um host de destino específico e qual endereço IP de origem é usado por padrão?

Eu tenho que usar

ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com

veja também se os dois caminhos são possíveis. (Aqui: Ambos os caminhos são possíveis)

Eu procurei na tabela de roteamento

ip route show

Mas é bastante complexo, então pensei, deve haver uma pequena ferramenta simples para me dizer:

"Para destino desthost.example.com leva interface nicX e endereço IP de origem 10.0.0.1"

Qual é a maneira mais simples de obter essas informações?

(E eu prefiro não usar o tcpdump e configurar as interfaces em modo promíscuo.)

Obrigado.

    
por sandoz 07.10.2010 / 16:21

4 respostas

37

Use ip route get <ip> .

    
por 07.10.2010 / 16:37
0

e sobre route -C

    
por 07.10.2010 / 16:36
0

Eu uso netstat -Wcatnp . Você deveria tentar este comando.

    
por 07.10.2010 / 16:44
0

Ainda mais fácil, eu diria nm-tool e se você quiser apenas a linha relevante nm-tool | grep Device . Isso deve resultar:

- Device: wlan0  [My router name] -----------------------------------------------
    
por 28.06.2016 / 17:52