1

我正在开发一个图形窗口应用程序。所以首选 c++ 和 c# 的解决方案。

对于我的应用程序,我需要从特定进程的活动 udp 连接中获取远程地址和端口。

我尝试IP Helper了 API,但 UDP 的方法没有给出远程地址和端口。

我已经看到这些帖子Get Destination Ip/Port of active udp Connection?Windows 中使用 IP Helper 的活动 UDP 连接的远程地址

我理解为什么 IP Helper 不能完成这项工作(udp 是无连接的,需要捕获数据包),但我没有找到具体的实现方法。

您有准备好使用的解决方案或类似的解决方案吗?

4

1 回答 1

1

正如您已经发现的那样,UDP 是无连接的,因此操作系统不会像 TCP 那样跟踪远程方信息。与 TCP 套接字不同,UDP 套接字可以一次与多个远程方通信,其中sendto()指定目标 ip/port,并recvfrom()报告发送方的 ip/port。

我理解为什么 IP Helper 不能完成这项工作(udp 是无连接的,需要捕获数据包),但我没有找到具体的实现方法。

您需要使用数据包捕获库,例如libpcap,并手动跟踪您看到的传出数据包的 ips/端口。

于 2019-04-10T02:23:55.983 回答