Bagaimana cara melihat di Linux apa antarmuka jaringan dan sumber alamat IP digunakan untuk rute ke host tujuan tertentu?

16

Jika saya memiliki beberapa antarmuka jaringan (di sini: 2) pada mesin Linux (di sini: Debian Lenny). Bagaimana saya melihat, melalui antarmuka jaringan (NIC) apa rute menuju host tujuan tertentu dan sumber alamat IP apa yang digunakan secara default?

Saya telah menggunakan meskipun

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

lihat juga apakah kedua cara itu mungkin. (Di sini: Kedua cara itu mungkin)

Saya mencari tabel routing

ip route show

Tapi itu cukup rumit, jadi saya pikir, harus ada alat kecil sederhana, untuk hanya memberi tahu saya:

"Untuk host tujuan desthost.example.com dibutuhkan antarmuka nicX dan sumber alamat IP 10.0.0.1"

Apa cara paling sederhana untuk mendapatkan informasi ini?

(Dan saya lebih suka tidak menggunakan tcpdump dan mengatur antarmuka dalam mode promiscous.)

Terima kasih.

sandoz
sumber

Jawaban:

39

Gunakan ip route get <ip>.

berat
sumber
1
Dan untuk mendapatkan hanya antarmuka:ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
mivk
2
atauip -o route get $ipaddress | awk '{ print $5 }'
ShadowFlame
0

bagaimana dengan route -C

Jure1873
sumber
rute sudah tidak digunakan lagi. gunakan iproute2.
madCode
0

Saya menggunakan netstat -Wcatnp. Anda harus mencoba perintah ini.

fmysky
sumber
0

Bahkan lebih mudah, saya katakan nm-tooldan jika Anda hanya ingin saluran yang relevan nm-tool | grep Device. Itu akan menghasilkan:

- Device: wlan0  [My router name] -----------------------------------------------
Buzut
sumber