我正在用.NET c ++编写程序。我正在本地网络上发送广播ping。我的所有目标设备都能够响应ping广播,实际上我在Wireshark中跟踪他们的所有响应。我的目标是检索所有响应站的IP地址。
问题是,Microsoft的API不包括在给定的时间间隔内记录所有回复的支持。像IcmpSendEcho这样的功能只是在第一次回复时返回(虽然API声明它可以记录多个icmp回复),这是已知的问题和谷歌搜索和搜索后,每个人都报告这些功能的相同问题。
我可以做些什么来实现我的目标,而不会过于低级别的回复提取? Windows是否拥有某种icmp历史记录? 我会很感激任何建议!
答案 0 :(得分:0)
1) First call FlushIpNetTable.
2) Send the ping and ignore the response.
3) Read the ARP table using the GetIpNetTable call.