查找与特定进程关联的 IP

查找与特定进程关联的 IP

在 Linux 机器上查找与特定进程相关的 IP 的最直接方法是什么?

如果进程使用的端口是专门为该进程保留的,那么任务就很简单了:我会通过过滤到该端口的数据包捕获来找到与该进程相关的数据包。

然而,当感兴趣的端口同时被多个进程使用时,这一点就变得不那么明显了。

在这种情况下,我如何区分某个特定选定进程发送或接收的数据包?

答案1

lsof -i :"port number"

这可以用来了解哪个端口正在监听哪个进程。

您还可以使用:

netstat -nutlp | grep "port number|process|IP Address"

答案2

最直接的方式是 Anirudh 的回复中的方式,以 root 身份:

netstat -aentpu | grep "IP:PORT"

不过,从你的问题来看,你认为可以有多个进程监听同一个 IP:PORT 组,你指的是 SO_REUSEPORT 吗?

在这种情况下,您也可以使用 netstat 来获取进程的 PID。

并且,sinffing 不一定会告诉您哪个进程正在监听,您只能看到流量。

相关内容