Comment voir sous Linux quelle interface réseau et quelle adresse IP source est utilisée pour un itinéraire vers un hôte de destination spécifique?


16

Si j'ai plusieurs interfaces réseau (ici: 2) sur une machine Linux (ici: Debian Lenny). Comment puis-je voir sur quelle interface réseau (NIC) une route vers un hôte de destination spécifique va et quelle adresse IP source est utilisée par défaut?

Je dois bien d'utiliser

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

voir aussi si les deux voies sont possibles. (Ici: les deux voies sont possibles)

J'ai regardé la table de routage

ip route show

Mais c'est assez complexe, alors j'ai pensé, il faut par un petit outil simple, juste me dire:

"Pour l'hôte de destination desthost.example.com, il faut l'interface nicX et l'adresse IP source 10.0.0.1"

Quelle est la manière la plus simple d'obtenir ces informations?

(Et je préfère ne pas utiliser tcpdump et définir les interfaces en mode promiscous.)

Merci.

Réponses:


39

Utilisez ip route get <ip>.


1
Et pour ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
n'obtenir

2
ouip -o route get $ipaddress | awk '{ print $5 }'
ShadowFlame


0

J'utilise netstat -Wcatnp. Vous devriez essayer cette commande.


0

Encore plus facile, je dirais nm-toolet si vous ne voulez que la ligne pertinente nm-tool | grep Device. Cela devrait produire:

- Device: wlan0  [My router name] -----------------------------------------------
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.