![查找在端口 80 上进行传出连接的进程](https://linux22.com/image/186868/%E6%9F%A5%E6%89%BE%E5%9C%A8%E7%AB%AF%E5%8F%A3%2080%20%E4%B8%8A%E8%BF%9B%E8%A1%8C%E4%BC%A0%E5%87%BA%E8%BF%9E%E6%8E%A5%E7%9A%84%E8%BF%9B%E7%A8%8B.png)
我们陷入了识别在 Linux 机器中运行的哪个进程或服务正在连接到远程 IP 的困境。我们收到有关我们的网络访问远程 IP 端口 80 HTTP Tomcat 管理页面的投诉。
使用下面的 tcpdump,我们能够发现有一个传出请求正在向我们收到投诉的 IP 地址发出,但无法确定是哪个进程发出的。
tcpdump -vvv -i ens192 src 192.168.23.4 和 dst 端口 80
在linux centos7环境下如何找到哪个进程试图连接特定IP。
答案1
您可以auditd
记录所有connect()
系统调用:
sudo auditctl -a exit,always -F arch=b64 -S connect
然后,在观察到连接后,使用以下命令搜索日志:
sudo ausearch -i -sc connect | grep -wC2 lport=80
答案2
有一些工具可能会有所帮助。 ntstat 将是我的第一选择
netstat -ltnp | grep -w ':80'
标志可能会有所帮助
l – 告诉 netstat 仅显示监听套接字。 p – 允许显示进程 ID 和进程名称。
也尝试一下
lsof -i :80
或 psmisc(尚未测试)。