在VC ++上发送免费ARP请求和接收ARP应答包的RAW套接字类型

时间:2013-04-09 11:11:06

标签: windows arp raw-sockets

在VC ++上发送Gratuitous ARP请求和接收ARP回复数据包需要什么类型的RAW套接字。

int s = socket(AF_PACKET,SOCK_DGRAM,htons(ETH_P_ARP));

Windows的相应代码应该是什么?

2 个答案:

答案 0 :(得分:1)

我一直想弄清楚同样的事情。 但是看起来你不能在windows中做到这一点:在windows中你只能构建Internet层数据包,但ARP在Link层中。所以,如果你真的必须这样做,我认为你需要使用winPcap。

答案 1 :(得分:1)

是肯定的。如果以太网,Windows不允许您在顶部发送RAW流量,但可以发送RAW以太网流量。

因此,如果您构建自己的以太网头,则可以发送ARP数据包。