無論我們使用者選擇VPS、伺服器用來建站,還是用來項目運行,甚至老蔣經常看到很多甚至虛擬機器主機都沒有玩的利索的網友也開始使用VPS伺服器搭建網站。這些使用者和項目,在伺服器和網站環境一切正常的時候沒有問題,但是一旦出現問題,會非常的糾結不知道如何解決。
即便是已經使用過一段時間VPS、伺服器的使用者,比如老蔣遇到以前沒有看到的問題,也需要通過尋找解決方案、詢問高人和請人解決,剛才在整理記錄文檔的時候有記錄到幾條netstat命令,也是我們在營運伺服器的時候經常用到的,所以用這篇日誌記錄下來,算是比較常用的指令碼。
常見參數
-a (all)顯示所有選項,預設不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數位全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服?兆刺?/p>
-p 顯示建立相關連結的程式名
-r 顯示路由資訊,路由表
-e 顯示擴充資訊,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。
提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到
例子
第一、查看80連接埠的串連數
netstat -nat|grep -i "80"|wc -l
第二、串連的IP數量進行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
第三、TCP串連狀況
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
第四、佔用80連接埠最多的20個IP
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20
第五、查看time_wait較多的串連
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
第六、查看SYN串連數
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
總結,老蔣先整理到6個常用的netstat命令使用,以後如果有遇到再整理補充進來。