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.

Jawaban:


39

Gunakan ip route get <ip>.


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

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


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] -----------------------------------------------
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.