在Linux机器上查找与特定进程相关的IP最直接的方法是什么?
如果进程使用的端口专门用于这个进程,那么这个任务很简单:通过将数据包捕获过滤到那个端口,我会发现数据包链接到进程。
当多个进程同时使用感兴趣的端口时,它变得不那么明显。
在这种情况下,我怎样才能区分一个特定选定进程接收到的数据包?
lsof -i :"port number"
这可以用来知道哪个端口正在监听哪个进程以及哪个进程。
你也可以使用:
netstat -nutlp | grep "port number|process|IP Address"
最直接的方式就是Anirudh的回答,作为根源:
netstat -aentpu | grep "IP:PORT"
从你的问题,但似乎你认为可以有多个进程监听相同的IP:端口touple,你是指SO_REUSEPORT?
在这种情况下,使用netstat也可以获得进程的PID。
不,sinffing不一定告诉你什么过程在监听,你只能看到交通。