Bagaimana cara mengetahui antarmuka yang akan digunakan koneksi TCP?

10

Saya memiliki server dengan beberapa antarmuka ethernet. Apa cara termudah untuk mengetahui antarmuka apa yang keluar dari koneksi TCP? Hasil dari "netstat -rn" adalah bahasa Yunani untuk saya, jadi jika jawaban Anda adalah "lihat tabel perutean lokal", harap diperinci dan jelas.

brooks94
sumber

Jawaban:

13

Bagi saya, saya bisa melihat antarmuka apa yang saya miliki di sana menggunakan netstat -rnatauroute -n

cyrex@cyrex:~$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.48.0.1      0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
192.48.0.0      0.0.0.0         255.255.224.0   U         0 0          0 eth0

Atau netstat -r

cyrex@cyrex:~$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192-48-0-1.dyn. 0.0.0.0         UG        0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
192.48.0.0      *               255.255.224.0   U         0 0          0 eth0

Dalam kedua kasus saya dapat melihat nama antarmuka di bagian akhir, dalam hal ini adalah eth0

Informasi yang diberikan oleh perintah ini adalah sebagai berikut (Sumber ditemukan di sini ):

Tujuan - Jaringan tujuan atau host tujuan.

Gateway - Alamat gateway atau *jika tidak ada yang ditetapkan.

Genmask - Netmask untuk net tujuan.

 255.255.255.255 for the host destination.
 0.0.0.0 for the default route.  

Bendera - Bendera yang mungkin termasuk:

 U (route is up)  
 H (target is a host)  
 G (using gateway)  
 R (reinstate route for dynamic routing)  
 D (dynamically installed by daemon or redirect)  
 M (modified from routing daemon or redirect)  
 A (installed by addrconf)  
 C (cache entry)  
 ! (reject route)  

MSS - Ukuran segmen maksimum default untuk koneksi TCP pada rute ini.

Jendela - Ukuran jendela standar untuk koneksi TCP pada rute ini.

irtt - RTT Awal (Round Trip Time). Kernel menggunakan ini untuk menebak tentang parameter protokol TCP terbaik tanpa menunggu jawaban (mungkin lambat).

Iface - Interface ke mana paket untuk rute ini akan dikirim.

Bidang lain dapat:

Metrik - Jarak ke target (biasanya dihitung dalam hop). Ini tidak digunakan oleh kernel baru-baru ini, tetapi mungkin diperlukan oleh routing daemon.

Ref - Jumlah referensi untuk rute ini. (Tidak digunakan dalam kernel Linux.)

Gunakan - Hitungan pencarian untuk rute. Bergantung pada penggunaan -F dan -C, ini akan menjadi route cache misses (-F) atau hits (-C).

HH (hanya di-cache) - Jumlah entri ARP dan rute yang di-cache yang merujuk ke cache header perangkat keras untuk rute yang di-cache. Ini akan menjadi -1 jika alamat perangkat keras tidak diperlukan untuk antarmuka rute yang di-cache (misalnya lo).

Arp (hanya di-cache) - Apakah alamat perangkat keras untuk rute yang di-cache tetap terkini atau tidak.

Sekarang untuk pertanyaan yang ada. Cara termudah yang dapat saya ingat sekarang (Seperti biasa, ada beberapa cara untuk melakukan hal yang sama) adalah dengan menggunakan iptraf. Instal saja:

sudo apt-get install iptraf

dan jalankan dengan root priveleges: sudo iptraf

Di menu iptrafpilih IP Traffic Monitor dan kemudian pilih Semua Antarmuka . Itu akan menunjukkan kepada Anda semua koneksi TCP dan ke antarmuka mana mereka terkait. Berbasis terminal yang baik untuk tujuan pemantauan.

Luis Alvarado
sumber
Jawaban yang bagus Luis. Anda juga dapat menggunakan perintahroute
Panther
1
Daripada mengatakan pergi tampilan dan melihat di mana itu tidak pergi, jawaban yang benar harus mengatakan yang diberikan ini informasi routing table, Anda dapat melihat di mana lalu lintas untuk alamat yang diberikan akan pergi.
psusi
8

Anda dapat meminta tabel routing kernel menggunakan ipperintah. Its route getsubcommand akan memberitahu anda bagaimana kernel akan rute paket ke alamat tujuan:

 $ ip route get to 10.0.2.2
 10.0.2.2 dev eth0  src 10.0.2.15

sedangkan

$ ip route get to 192.168.3.5
192.168.3.5 via 10.0.2.2 dev eth0  src 10.0.2.15

dan

$ ip route get to 127.0.1.1
local 127.0.1.1 dev lo  src 127.0.0.1
zwets
sumber