如何检查从Linux服务器上打开的互联网连接数量?

我们有一个问题,即来自端点的响应时间对于一台服务器具体而言具有更多响应时间,而对其他服务器没有响应时间 此外,我们发现这个问题发生在互联网上的所有terminal,如“curl”ww.google.com“。 更多的分析让我们知道这只发生在特定的时间。 所以要知道我想知道如何列出由主机到互联网的HTTP连接。 请帮助我。

如果要列出从本地linux机器到远程机器的端口80上的远程机器的活动连接数,则可以使用netstat列出活动连接,并从“外部地址”列中获取特定端口:

 netstat -tnap | awk '{print$5}' | grep :80 | wc -l 

netstat -tnap会给你所有的活动连接,然后你可以使用awk只列出在外部地址上的端口80上的端口,只列出第五列,而在端口80上的外部地址上的grep连接会给你所有的远程地址,然后你可以获得与pipe道连接数wc -l。

您也可以使用由MadHatterbuild议的ss-socket统计信息,因为netstat正在被弃用,并被ss取代

 ss -tan | awk '{print$5}' | grep :80 | wc -l 

除了netstat或者ss之外,我发现lsof (列表打开的文件)是有用的。使用-i选项,它列出了networking文件或套接字,因为在UNIX中所有东西都是一个文件。 使用-i4 ,您可以缩小到IPv4,然后使用:80:443分别指定httphttps的端口号。 检查手册页获取更多的细节。

 
 [root @ kauai tmp]#lsof -i4:80 -n
命令PID用户FDtypes设备大小/关节点名称
 firefox 4128 daniel 76u IPv4 111733311 0t0 TCP 192.168.10.103:50500->198.252.206.149:http(ESTABLISHED)
 firefox 4128 daniel 96u IPv4 112109229 0t0 TCP 192.168.10.103:51201-> 198.252.206.149:http(ESTABLISHED)
 firefox 4128 daniel 108u IPv4 111452598 0t0 TCP 192.168.10.103:50410->198.252.206.149:http(ESTABLISHED)
 clock-app 31704 daniel 21u IPv4 126088871 0t0 TCP 192.168.10.103:55146-> 23.67.61.171:http(ESTABLISHED)

 [root @ kauai tmp]#lsof -i4:443 -n
命令PID用户FDtypes设备大小/关节点名称
 firefox 4128 daniel 52u IPv4 125964214 0t0 TCP 192.168.10.103:45435-> 23.67.118.140:https(ESTABLISHED)