Linux

檢查到網路伺服器埠 80 和 443 的連接數

  • December 21, 2018

正如標題所說,如何檢查埠 80443 上與網路伺服器的打開連接數?

我目前正在使用這個 oneliner 從埠 80 獲取每個 ipaddress 的打開連接數:

netstat -tn 2>/dev/null | 
   grep :80 | 
   grep -i established |
   awk '{print $5}' | 
   cut -d: -f1 | 
   sort | 
   uniq -c | 
   sort -nr | 
   head

如何將埠號 443 添加到此查詢?我嘗試了以下方法:

netstat -tn 2>/dev/null | 
   grep ':80/|:443' | 
   grep -i established |
   awk '{print $5}' | 
   cut -d: -f1 | 
   sort | 
   uniq -c | 
   sort -nr | 
   head

但最終得到 0 個結果我做錯了什麼嗎?

嘗試

netstat -ant | egrep '(:80|:443) .*:.*ESTABLISHED' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c

或者

netstat -nt | awk '$4 ~ /:(143|993)$/ && $6 ~ /ESTABLISHED/ {print $5}' | cut -d: -f1 | sort | uniq -c
  • netstat -nt列出沒有 IP 地址的 DNS 查找的 TCP 連接
  • egrep ':(80|443) .*:.*ESTABLISHED'在限制為本地地址的埠 80 上選擇 ESTABLISHED 連接
  • 'awk {print $5}'分離遠端地址和埠
  • cut -d: -f1遠端埠
  • sort | uniq -c計算 uniq ips
  • awk '$4 ~ /:(80|443)$/ && $6 ~ /ESTABLISHED/ {print $5}'為本地埠 80 和 443 的 ESTABLISHED 連接選擇遠端 ip

編輯:

如果要按 IP 計算連接數,可以{print $4, $5}在 print 語句中使用。

您可以通過更改 的匹配來匹配不同或多個狀態$6,例如/(ESTAB|SYN)/其中將包括打開連接。

引用自:https://serverfault.com/questions/782457