netstat 不同值

netstat 不同值

如何檢查 ubuntu 上特定連接埠的 netstats?例子

netstat -? grep: 80

但有一個轉折,所以它也能做到這一點

它應該只顯示不同的 IP 位址,但連接埠上任何重複的 IP 位址都應該分配在 IP 旁邊,然後按重複的數量排序

例子:

client IP: 80.230.90.120  Port: 80  Occured: 4 times 
client IP: 70.122.30.25   Port: 80  Occured: 2 times 
client IP: 60.78.70.230   Port: 80  Occured: 1 times 
client IP: 40.42.90.220   Port: 80  Occured: 1 times

這可能嗎?提前致謝 :)

答案1

在目前狀態下,您不清楚本機電腦還是遠端電腦是「客戶端」。假設您正在尋找與遠端電腦上連接埠 80 的連接,以下內容應該可以滿足您的需求。只需port=port-number-to-search在運行命令之前確保設定或將$port命令中的內容替換為您要過濾的連接埠即可。

簡單的一行:

netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr

輸出如下圖所示:

      7 198.252.206.25:443
      4 74.125.28.189:443
      2 74.126.144.69:443
      2 65.55.252.167:443
      2 52.112.66.238:443

前面的數字是連接埠 80 上該 IP 的連線計數。

漂亮的印刷單行:

netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr | tr ':' ' ' | awk '{printf "client IP: %-15s  Port: %-5s  Occurred: %s time(s)\n", $2, $3, $1}'

輸出如下圖所示:

客戶端 IP:198.252.206.25 連接埠:443 發生:9 次
客戶端 IP:74.126.144.69 連接埠:443 發生:2 次
客戶端 IP:74.125.28.189 連接埠:443 發生:2 次
客戶端 IP:34.210.168.7 連接埠:443 發生:2 次
客戶端 IP:216.58.217.195 連接埠:443 發生:2 次
客戶端 IP:192.0.73.2 連接埠:443 發生:2 次

編輯2017-06-26
最初我寫的命令是按 IP 排序的。 OP 說他/她對按頻率排序感興趣,所以我對此做了一些更改。您可能會注意到該sort命令在該命令之前和之後使用uniq。這不是一個錯誤。第一個sort確保uniq命令能夠執行其工作。第二種排序其實是依照頻率排序。

相關內容