在Linux上,假设我们有一些在机器上运行的进程的PID。是否有可能获得此进程所有套接字对的所有远程端口?怎么样?
我们可以通过解析执行netstat -anp | grep PID
的输出来获取此进程拥有的端口,我可以通过getifaddrs()
获取此机器的IP地址然后拖动部件来实现在xxx.xxx.xxx.xxx之后:但我无法知道与目标进程通信的其他端的IP地址。
答案 0 :(得分:1)
<强> TCP 强>
使用netstat -n
显示远程地址和端口。
<强> UDP 强> 请注意,上述内容不适用于UDP,因为UDP不具有“连接”的概念,因此不能具有远程地址和端口。相反,每个UDP消息都有一个源地址和端口,由目标进程中的单个套接字处理。我确定还有其他方法,但我个人使用wireshark来捕获UDP数据包。您可能已经意识到,在实际收到消息之前,您不会知道远程地址。