我有一個網頁伺服器,我需要檢查給定時間我的伺服器中的連接數,
我用了以下
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
希望它有所幫助,並請提出您對上述內容的任何闡述和/或評論。
乾杯,
蓋伊。