gpt4 book ai didi

c++ - 在 Windows 上从用户模式程序发送和接收 ARP 数据

转载 作者:可可西里 更新时间:2023-11-01 09:35:11 28 4
gpt4 key购买 nike

(ARP = 地址解析协议(protocol) - RFC 826)有没有办法通过用户世界程序在 Windows 上发送和接收 ARP 流量?在 Linux 上,我们可以只创建原始套接字来发送 ARP 流量,但在 Windows 上,我的研究表明我们需要编写一个可用于发送此类流量的驱动程序。我考虑过使用 WinPcap,但它在内部安装了一个可用于发送/接收此类流量的驱动程序。

我的问题是:在不安装驱动程序的情况下,Windows 是否可以通过任何方式允许发送/接收 ARP 数据包?

最佳答案

发送 ARP 数据包的最简单方法是可能使用SendARP .

可以,然后使用GetIpNetTable从 IP 堆栈的 ARP 表中检索地址。为确保获得当前地址,通常需要执行 DeleteIpNetEntry删除地址,然后 SendARP,然后稍等片刻,然后 GetIpNetTable(如有必要,重复几次,直到获得包含所需地址条目的条目)。

或者,对于 Vista 或更新版本,您可以使用 ResolveIpNetEntry2更直接地检索数据。这会自动刷新地址的当前条目(如果有的话),发送 ARP 数据包,并返回当前结果(如果我没记错的话,它也用于更新堆栈的 ARP 表)。

关于c++ - 在 Windows 上从用户模式程序发送和接收 ARP 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623153/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com