是否可以在不使用其他库(例如winpcap)的情况下在Windows上发送ARP数据包的方法?
我听说Windows XP SP2会阻止原始的以太网套接字,但是我也听说只有原始的套接字才被管理员阻止.这里有任何澄清吗?
解决方法:
在一般情况下,不使用外部库是无法做到这一点的.
如果对数据包应包含的内容没有任何要求(即,如果有任何ARP数据包,则可以),那么,如果您在以太网上,显然可以通过尝试向自己的子网中的任何IP发送内容来发送ARP请求. (通过运行外部arp -d tar.get.ip.address命令预先确保目标IP不在ARP缓存中),但这可能不是您想要的.
有关原始套接字支持的更多信息,请参见TCP/IP Raw Sockets MSDN page,特别是Limitations on Raw Sockets部分.