Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Linux 上,假设我们有某个正在机器上运行的进程的 PID。是否可以获取此进程拥有的所有套接字对的所有远程端口?如何?
我们可以通过解析执行的输出来获取该进程拥有的端口netstat -anp | grep PID,我可以通过获取本机的IP地址getifaddrs() 然后拖动xxx.xxx.xxx.xxx之后的部分来做到这一点。但我无法知道与目标进程通信的另一端的 IP 地址。
netstat -anp | grep PID
getifaddrs()
TCP 用于netstat -n显示远程地址和端口。
netstat -n
UDP 请注意,上述不适用于 UDP,因为 UDP 没有“连接”的概念,因此不能有远程地址和端口。相反,每个 UDP 消息都有一个源地址和端口,并由目标进程中的单个套接字处理。我确信还有其他方法,但我个人使用wireshark来捕获UDP数据包。您可能已经意识到,在您真正收到消息之前,您不会知道远程地址。