Linux'ta belirli bir hedef ana bilgisayara giden bir rota için hangi ağ arabiriminin ve kaynak IP adresinin kullanıldığını nasıl görebilirim?


16

Bir Linux makinesinde (burada: Debian Lenny) birden fazla ağ arayüzüm varsa (burada: 2). Belirli bir hedef ana bilgisayara giden bir yolun hangi ağ arabirimi (NIC) üzerinden gittiğini ve varsayılan olarak hangi kaynak IP adresinin kullanıldığını nasıl görebilirim?

Kullanmayı düşünüyordum

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

her iki yolun da mümkün olup olmadığına bakın. (Burada: Her iki yol da mümkündür)

Yönlendirme masasına baktım

ip route show

Ama oldukça karmaşık, bu yüzden düşündüm ki, sadece basit bir araçla bana söylemeliyim:

"Desthost.example.com hedef ana bilgisayarına nicX arayüzü ve kaynak IP adresi 10.0.0.1 gerekir"

Bu bilgiyi almanın en basit yolu nedir?

(Ve tcpdump kullanmamayı ve arayüzleri karışık modda ayarlamayı tercih etmiyorum.)

Teşekkürler.

Yanıtlar:


39

Kullanın ip route get <ip>.


1
Ve sadece arayüzü almak için:ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
mivk

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


0

Ben kullanıyorum netstat -Wcatnp. Bu komutu denemelisiniz.


0

Daha da kolay, söyleyebilirim nm-toolve sadece ilgili hattı istiyorsanız nm-tool | grep Device. Bu çıktı:

- Device: wlan0  [My router name] -----------------------------------------------
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.