在VC ++上发送Gratuitous ARP请求和接收ARP回复数据包需要什么类型的RAW套接字。
int s = socket(AF_PACKET,SOCK_DGRAM,htons(ETH_P_ARP));
Windows的相应代码应该是什么?
答案 0 :(得分:1)
我一直想弄清楚同样的事情。 但是看起来你不能在windows中做到这一点:在windows中你只能构建Internet层数据包,但ARP在Link层中。所以,如果你真的必须这样做,我认为你需要使用winPcap。
答案 1 :(得分:1)
是肯定的。如果以太网,Windows不允许您在顶部发送RAW流量,但可以发送RAW以太网流量。
因此,如果您构建自己的以太网头,则可以发送ARP数据包。