如何找出连接到 Redhat Linux 代理服务器的客户端

如何找出连接到 Redhat Linux 代理服务器的客户端

有没有办法找出连接到redhat linux中特定代理服务器的客户端机器,我使用的是redhat linux版本6并在其中配置了squid

答案1

如果 Squid 正在监听端口,比如说 3128,您可以使用netstat服务器中的命令列出连接到该端口的所有 IP 地址。

例如:

netstat -na | grep :3128

将显示如下内容:

tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN
tcp        1      0 10.12.0.1:3128          10.12.3.60:53736        CLOSE_WAIT
tcp        1      0 10.12.0.1:3128          10.12.4.24:60545        CLOSE_WAIT
tcp        1      0 10.12.0.1:3128          10.12.4.13:50484        ESTABLISHED
tcp        1      0 10.12.0.1:3128          10.12.3.55:52669        ESTABLISHED

您可以忽略第一行,该行显示 squid 服务的默认监听。对于其余行,第 4 行是本地服务器 ip,第 5 行列出远程端点(连接到代理的客户端)。在第 6 列,您可以看到 tcp 连接状态。表示ESTABLISHED当前处于活动状态的连接。

您只能用以下方法列出已建立的连接:

 netstat -na | grep :3128 | grep ESTABLISHED

您可以使用不带选项的命令-n来显示主机名,而不是 IP 地址。

netstat -a | grep :3128 | grep ESTABLISHED

答案2

如果您只想列出 IP 地址,可以使用以下命令:

$ netstat -na | grep :3128 | awk '{print $5}' |uniq

它将给出如下输出:

192.168.5.1:32832
192.168.5.1:32797

相关内容