netstat -s
mencetak banyak statistik protokol yang sangat terperinci seperti jumlah pesan reset TCP yang diterima atau jumlah ICMP "echo request" pesan yang dikirim atau jumlah paket turun karena rute yang hilang.
Ketika di Linux netstat
dianggap usang saat ini, lalu apakah ada alternatif lain?
Statistik yang disediakan oleh ss -s
dangkal dibandingkan dengan yang disediakan oleh netstat
.
netstat
sudah ditinggalkan. Gunakanss
.tcpdump
memungkinkan seseorang untuk menangkap lalu lintas langsung, tetapi tidak menyimpan statistik dengan cara yangnetstat -s
ditunjukkan.sysctl
output atau konten dari berbagai/proc/net/*
node.Jawaban:
netstat
memang sudah ditinggalkan oleh banyak distribusi, meskipun itu benar-benar banyak dari paket "net-tools" (termasukifconfig
,route
danarp
) yang telah ditinggalkan demi paket "iproute2". iproute2 telah berkembang bersama dengan fitur jaringan Linux terbaru , dan utilitas tradisional belum.Setara iproute2 yang Anda inginkan sedikit yang diketahui
nstat
, ini menyediakannetstat -s
penghitung, meskipun dalam bentuk yang sedikit berbeda:/proc
digunakan, masing-masing diawali dengan kelasnya ("Udp", "Tcp", "TcpExt" dll.)kolom ketiga menunjukkan rata-rata dari jendela waktu yang dapat dikonfigurasi jika Anda telah memulai latar belakang nstat (
-d
mode daemon), atau 0,0 jika tidakmisalnya
nstat
mencetak "UdpInDatagrams NNN" bukan "Udp: InDatagrams", dan bukan versi verbose netstat dari "Udp: NNN paket yang diterima".nstat
juga mengasumsikan Anda menginginkan angka inkremental daripada angka absolut, jadi yang paling mendekatinetstat -s
adalah di/sbin/nstat -asz
mana opsi-a
menggunakan penghitung absolut,-s
jangan menyimpan file riwayat,-z
jangan hilangkan penghitung bernilai nol.ss
mengambil alih bagian "soket" darinetstat
, tetapi tidak fungsi lengkapnya seperti yang Anda ketahui. (ss
sebenarnya lebih baik daripadanetstat
dalam banyak kasus, dua yang spesifik adalah kemampuan untuk menggunakan ekspresi filter dan kemampuan opsional untuk menggunakantcp_diag
daninet_diag
modul kernel Linux untuk mengakses data soket kernel lebih langsung daripada melalui/proc
.)Jika Anda perlu mengkonfirmasi pemetaan untuk nama deskriptif, sumber net-tools adalah referensi definitif: http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html
Doug Vitale menyediakan panduan yang berguna untuk menemukan setara iproute2 dari perintah yang lebih lama (itu tidak terawat dan sedikit tidak lengkap, itu menghilangkan referensi
nstat
yang telah menjadi bagian dari paket iproute2 sejak setidaknya 2004 kernel 2.6.x waktu).Net-tools tetap hidup , dan Anda harus dapat menemukan paket untuk distribusi Anda (atau mengompilasinya sendiri).
sumber
NETSTAT dianggap usang saat ini dan program lain yang termasuk dalam alat-net seperti arp, ifconfig, iptunnel, nameif
netstat
, dan rute.Fungsionalitas yang disediakan oleh beberapa utilitas ini telah direproduksi dan ditingkatkan di iproute2 suite baru, terutama dengan menggunakan
ip
perintah barunya .Contoh untuk perintah yang sudah usang dan penggantiannya:
arp => ip n (tetangga ip)
ifconfig => ip a (ip addr), tautan ip, ip -s (ip -stats)
iptunnel => ip tunnel
iwconfig => iw
nameif => tautan ip, ifrename
netstat => ss, rute ip (untuk netstat-r), tautan ip -s (untuk netstat -i), ip maddr (untuk netstat-g)
The
netstat
perintah membaca berbagai file / proc untuk mengumpulkan informasi. Namun pendekatan ini jatuh lemah ketika ada banyak koneksi untuk ditampilkan. Ini membuatnya lebih lambat. Thess
perintah mendapatkan informasi secara langsung dari ruang kernel. Opsi yang digunakan denganss
perintah sangat mirip dengan netstat sehingga mudah diganti.Statistik yang disediakan oleh
ss
yang dangkal tetapi dianggap alternatif yang lebih baik untuknetstat
Contoh:
dapatkan semua koneksi:
ss | less
ss -t
dapatkan koneksi tcp tidak dalam mode mendengarkan (program server)ss -u
dapatkan koneksi udp tidak dalam mode mendengarkanss -x
dapatkan koneksi pipa soket unixss -ta
dapatkan semua koneksi tcpss -au
dapatkan semua koneksi udpss -nt
semua tcp tanpa nama hostss -ltn
mendengarkan tcp tanpa resolusi hostss -ltp
mendengarkan tcp dengan PID dan namass -s
mencetak statsticsss -tn -o
koneksi tcp dengan host domain dan tampilkan timer keepalivess -tl4
koneksi ip4sumber
ss -s
tidak menyediakan data yangnetstat -s
menyediakan. Ini juga mengandung informasi yang salah:/proc
adalah interface kernel untuk ini dan itulah bagaimanass
Raih banyak data:strace -e trace=file,read /sbin/ss -s
.ss -s
dangkal dibandingkan dengan yang disediakan oleh netstat" (berarti membandingkan dengannetstat -s
). Dan itu benar-benar kebenaran: misalnya, dari ss -s Anda tidak dapat mengetahui apa-apa tentang Retransmisi TCP.Anda mungkin ingin memeriksa isi
/proc/net/netstat
:Bukan format yang paling ramah, tetapi Anda mendapatkan ide.
Tidak yakin itu benar-benar berisi item spesifik yang Anda cari, tetapi mungkin tersedia di tempat lain di
/proc/net
.sumber
awk '{for(i=1;i<=NF;i++)title[i] = $i; getline; print title[1]; for(i=2;i<=NF;i++)printf " %s: %s\n", title[i], $i }' /proc/net/netstat
/proc/net/snmp
berisi sebagian besar data dan/proc/net/netstat
berisi sisanya. Sayangnya Anda harus membaca sumber net-toolsstatistics.c
untuk menentukan semua pemetaan nama, meskipun sebagian besar cukup jelas.