有没有办法在 Windows 上发送 ARP 数据包而不使用其他库(如 winpcap)?
我听说 Windows XP SP2 阻止原始以太网套接字,但我也听说原始套接字仅对管理员被阻止。这里有什么澄清吗?
在一般情况下,如果不使用外部库,就无法做到这一点。
如果对数据包应包含的内容没有要求(即,如果任何 ARP 数据包都可以),那么您显然可以在以太网上发送 ARP 请求,只需尝试向您自己子网上的任何 IP 发送内容即可(通过运行外部命令事先确保目标 IP 不在 ARP 缓存中arp -d tar.get.ip.address
),但这可能不是您想要的。
有关原始套接字支持的更多信息,请参阅TCP/IP 原始套接字文档页面,特别是原始套接字的限制部分。
You could use the OpenVPN tap to send arbitrary packets as if you where using raw sockets.