統計連接數狀態(Linux網絡連接狀態檢查!)

統計連接數狀態:

 

Linux網絡連接狀態檢查!

檢查linux的網絡連接狀態其實很簡單,利用Linux內置的一些命令和SHELL的幾個小技巧就可以完成看似複雜的檢查任務,這也是Linux的魅力之一!
最基本的,
netstat -atn
該命令的解釋是列出基於TCP協議(-t)的所有連接,並將通信雙方以IP地址的(-n)的方式顯示,而不是主機名!!

netstat -atn | cut -b 49-75 | grep -o -P "/b/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}/b" | sort | uniq -c | sort -n -r -k 1,7 | head -10
這行命令用來分析netstat的輸出結果,最後得出的是目前處於連接中的不同的IP地址;這個命令在Ubuntu(cut -b 45-75)上不能實現,這是不同的Linux對於一些基本命令的實現不同(編譯的選項和參數不一致),但是ubuntu上可以用下面的命令實現相似的功能,
netstat -atn | cut -b 45-75 | cut -d':' -f1 |sort | uniq -c | sort -n -r -k 1,7 | head -10
唯一的缺點是不用正則表達式的情況下title內容行也被放了進來,當然還可以用一些命令去除這些文字行,這裏就不展開了!

netstat -atn |cut -b 77-90 | sort | uniq -c 是列出每個連接的狀態並統計!
對於netstat命令輸出的分析其實還有很多方法,這兒就不再列舉!

time tcpdump -ns 200 -c 100 '(dst port http or dst port https) and tcp[13] & 2!=0' | grep -o -P '/b/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}./d{1,5}/s/>' | cut -d '.' -f 1-4 | sort | uniq -c | sort -n -r -k 1,7 | head -25
這個命令是對於100個包中有多少個新連接請求的統計!運用了tcpdump抓取100個(-c 100)包,最後列出這些請求的IP地址。
這裏只是兩個簡單的例子,還有很多命令組合運用的實例可以大大加快我們的工作效率,這些都只要合理運用Linux的命令就可以了!!

 

查看http進程數:

[root@localhost conf]# ps -ef|grep httpd|wc -l

結果 - 1 (因爲包含了grep httpd這個進程)

 

 

 

[root@localhost conf]# netstat -n|awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}'
LAST_ACK 173
SYN_RECV 35
CLOSE_WAIT 159
ESTABLISHED 152
FIN_WAIT1 29
FIN_WAIT2 10
CLOSING 39
TIME_WAIT 103

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章