检查端口 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

相关内容