檢查連接埠 80 上的活動連線數?

檢查連接埠 80 上的活動連線數?

我有一個網頁伺服器,我需要檢查給定時間我的伺服器中的連接數,

我用了以下

netstat -anp |grep 80 |wc -l

這返回了

2542

但從我的谷歌分析我知道並髮用戶不超過 100。

is this correct ? 
if not how to i get the active number of connections ? 
is this sign of a victim of DOS attack how do i know that ?

答案1

嘗試只計算已建立的連線:

netstat -anp | grep :80 | grep ESTABLISHED | wc -l

另外,請注意不要在 port grep 語句中使用冒號。僅查找 80 可能會導致 pid 和其他輸出中恰好包含字元 80 的連接埠產生錯誤結果。

答案2

ss -tn src :80 or src :443

這將顯示到本地連接埠 80 或 443 的所有連接(如果需要,請新增/修改連接埠)。

免責聲明:我意識到這是一個老問題,但它仍然是谷歌的最高結果,所以我認為它值得利用現代實用程式來回答。

答案3

服用@d34dh0r53要「進一步」回答一步(以「更廣泛」的視角回答),您還可以使用以下命令檢查根據其狀態排序的所有連接:

netstat -ant | grep :<port_num> | awk '{print $6}' | sort | uniq -c | sort -n

例如:

netstat -ant | grep :8000 | awk '{print $6}' | sort | uniq -c | sort -n

可能的輸出可能是:

1 CLOSING
1 established
1 FIN_WAIT2
1 Foreign
2 CLOSE_WAIT
6 FIN_WAIT1
7 LAST_ACK
7 SYN_RECV
37 ESTABLISHED
44 LISTEN
297 TIME_WAIT

希望它有所幫助,並請提出您對上述內容的任何闡述和/或評論。

乾杯,

蓋伊。

答案4

這也是透過像這樣的現代實用程式完成的ss

例如,嘗試取得在連接埠 8080 上建立的所有 TCP 連接

ss -tn src :8080 | grep -i "estab" | wc -l

相關內容