Linux
命令類似於 netstat -np 但按狀態和 PID 分組?
是否有類似於
netstat -np
但按狀態和PID分組的命令?我想知道目前按程序分組的特定狀態下的伺服器連接數。
如同,
102 squid ESTABLISHED 32 httpd ESTABLISHED
我使用 RHEL5。
您可以使用您喜歡的任何格式
sort
重新組織輸出。netstat
$ netstat -anpt 2>&1 | tail -n +5 | sort -k7,7 -k 6,6
這將首先使用第 7 列(程序名稱/PID)對輸出進行排序,然後是狀態(ESTABLISHED、LISTEN 等)。
**注意:**命令的第一部分,
netstat -anpt 2>&1 | tail -n +5 ..
會將 STDOUT 上可能出現的所有輸出也定向到 STDIN,然後刪除前 5 行,它們是netstat
我們不感興趣的樣板輸出。例子
$ 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 ...
您可以使用類似的方法來使用各種工具(例如
wc
或)來獲取計數uniq -c
。改變輸出
如果您真的想獲得如下所示的輸出
netstat
:102 squid ESTABLISHED 32 httpd ESTABLISHED
您可以使用
awk
&進行進一步的切片和切塊sed
。這可以變得更緊湊,但應該讓你開始並完成工作。$ 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
注意:
column -t
只需將所有輸出對齊在漂亮的列中。計算連接數
最後在統計事件方面做你想做的事:
$ 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
第一列代表計數。