Anda dapat menggunakan sort
untuk mengatur kembali output netstat
dalam format apa pun yang Anda suka.
$ netstat -anpt 2>&1 | tail -n +5 | sort -k7,7 -k 6,6
Ini akan mengurutkan output menggunakan kolom ke-7 terlebih dahulu (nama proses / PID) diikuti oleh negara (ESTABLISHED, LISTEN, dll.).
CATATAN: Bagian pertama dari perintah, netstat -anpt 2>&1 | tail -n +5 ..
akan mengarahkan semua output yang mungkin terjadi pada STDOUT ke STDIN juga dan kemudian memotong 5 baris pertama yang merupakan output boilerplate dari netstat
mana kita tidak tertarik.
Contoh
$ netstat -anpt 2>&1 | tail -n +5 | sort -k7,7 -k 6,6
tcp 0 0 192.168.1.20:49309 192.168.1.103:631 ESTABLISHED 2077/gnome-settings
tcp 0 0 192.168.1.20:38393 204.62.14.135:443 ESTABLISHED 2260/mono
tcp 0 0 192.168.1.20:39738 74.125.192.125:5222 ESTABLISHED 2264/pidgin
tcp 0 0 192.168.1.20:40097 87.117.201.130:6667 ESTABLISHED 2264/pidgin
tcp 0 0 192.168.1.20:53920 217.168.150.38:6667 ESTABLISHED 2264/pidgin
...
tcp 1 0 192.168.1.20:50135 190.93.247.58:80 CLOSE_WAIT 24714/google-chrome
tcp 1 0 192.168.1.20:44420 192.168.1.103:631 CLOSE_WAIT 24714/google-chrome
tcp 0 0 192.168.1.20:36892 74.125.201.188:5228 ESTABLISHED 24714/google-chrome
tcp 0 0 192.168.1.20:43778 74.125.192.125:5222 ESTABLISHED 24714/google-chrome
tcp 0 0 192.168.1.20:33749 198.252.206.140:80 ESTABLISHED 24714/google-chrome
...
Anda dapat menggunakan pendekatan serupa untuk mendapatkan penghitungan menggunakan berbagai alat seperti wc
atau uniq -c
.
Mengubah output
Jika Anda benar-benar ingin mendapatkan hasil netstat
seperti ini:
102 squid ESTABLISHED
32 httpd ESTABLISHED
Anda dapat melakukan beberapa pengirisan dan pemotongan lebih lanjut menggunakan awk
& sed
. Ini bisa dibuat lebih ringkas, tetapi harus membantu Anda memulai dan melakukan pekerjaan.
$ netstat -anpt 2>&1 | tail -n +5 | awk '{print $7,$6}' | sort -k1,1 -k3,3 \
| sed 's#/# #' | column -t
2264 pidgin ESTABLISHED
2264 pidgin ESTABLISHED
24714 google-chrome CLOSE_WAIT
24714 google-chrome CLOSE_WAIT
24714 google-chrome ESTABLISHED
24714 google-chrome ESTABLISHED
...
24714 google-chrome ESTABLISHED
26358 ssh ESTABLISHED
26358 ssh ESTABLISHED
26358 ssh ESTABLISHED
26358 ssh LISTEN
26358 ssh LISTEN
26358 ssh LISTEN
CATATAN: column -t
cukup luruskan semua output dalam kolom yang bagus.
Menghitung koneksi
Akhirnya untuk melakukan apa yang Anda inginkan dalam hal penghitungan kejadian:
$ netstat -anpt 2>&1 | tail -n +5 | awk '{print $7,$6}' | sort -k1,1 -k3,3 \
| sed 's#/# #' | column -t | uniq -c
6 - LISTEN
8 - TIME_WAIT
1 2077 gnome-settings ESTABLISHED
1 2260 mono ESTABLISHED
10 2264 pidgin ESTABLISHED
2 24714 google-chrome CLOSE_WAIT
27 24714 google-chrome ESTABLISHED
3 26358 ssh ESTABLISHED
4 26358 ssh LISTEN
1 26359 ssh ESTABLISHED
4 3042 thunderbird ESTABLISHED
1 32472 monodevelop ESTABLISHED
2 32472 monodevelop LISTEN
1 32533 mono ESTABLISHED
1 32533 mono LISTEN
1 3284 monodevelop LISTEN
1 3365 mono LISTEN
1 4528 mono LISTEN
1 8416 dropbox ESTABLISHED
1 8416 dropbox LISTEN
Kolom pertama mewakili jumlah.
dari wikipedia
Paket net-tools belum melihat rilis Linux dalam lebih dari satu dekade. Itu waktu yang lama untuk pergi tanpa pembaruan untuk rangkaian program yang dirancang untuk mengelola dan memantau antarmuka komunikasi kernel yang terus berkembang - terutama ketika Anda berbicara tentang kernel yang secara praktis menjalankan internet.
Untungnya, ada paket iproute2 yang dipelihara secara aktif - yang mencakup
ss
utilitas.Dengan
ss
Anda dapat melakukan hal yang Anda minta seperti:dari
man ss
:sumber
Anda bisa menggunakan netstat, kolom, dan awk:
Ini mencetak kolom pertama, keenam, dan ketujuh.
sumber