Linux
如何找出客戶端連接到redhat linux中的代理伺服器
有沒有辦法找出連接到 redhat linux 中特定代理伺服器的客戶端機器,我使用的是 redhat linux 版本 6 並在其中配置了 squid
如果 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