0

在 Linux 上,假设我们有某个正在机器上运行的进程的 PID。是否可以获取此进程拥有的所有套接字对的所有远程端口?如何?

我们可以通过解析执行的输出来获取该进程拥有的端口netstat -anp | grep PID,我可以通过获取本机的IP地址getifaddrs() 然后拖动xxx.xxx.xxx.xxx之后的部分来做到这一点。但我无法知道与目标进程通信的另一端的 IP 地址。

4

1 回答 1

1

TCP 用于netstat -n显示远程地址和端口。

UDP 请注意,上述不适用于 UDP,因为 UDP 没有“连接”的概念,因此不能有远程地址和端口。相反,每个 UDP 消息都有一个源地址和端口,并由目标进程中的单个套接字处理。我确信还有其他方法,但我个人使用wireshark来捕获UDP数据包。您可能已经意识到,在您真正收到消息之前,您不会知道远程地址。

于 2013-10-24T12:32:04.013 回答