1

我正在用 .NET c++ 编写程序。我正在本地网络上发送广播 ping。我所有的目标设备都能够响应 ping 广播,而且我确实在 Wireshark 中跟踪了它们的所有响应。我的目标是检索所有响应站的 IP 地址。

问题是,Microsoft 的 API 不支持记录给定时间间隔内的所有回复。像 IcmpSendEcho 这样的函数只会在第一次回复时返回(尽管 API 声明它可以记录多个 icmp 回复),这是一个已知问题,之后在这里谷歌搜索和搜索,每个人都报告了这些功能的相同问题。

我可以做些什么来实现我的目标而不会太低级以获取回复?Windows 是否保存某种 icmp 历史记录?我将不胜感激任何建议!

4

1 回答 1

0
 1) First call FlushIpNetTable.
 2) Send the ping and ignore the response.
 3) Read the ARP table using the GetIpNetTable call.
于 2011-12-25T02:13:13.130 回答