我是C的初学者,我最近决定使用Scapy / Python, 将此项目迁移到C,因为我希望获得更好的性能。我希望发送第2层数据,特别是信标帧以通告接入点。
到目前为止,我发现我需要(或者更确切地说)使用libpcap和一个名为ieee80211.h的Linux头文件来预先定义数据包,这是我可以从其他问题中收集到的。我发现其他信息说我应该使用原始套接字而不是libpcap?我不确定这是否是我所需要的。我在Google上找到的大部分信息和教程都是指数据包嗅探,而不是发送。
如何定义自定义帧和/或数据包(例如信标帧或关联请求),然后将其发送到wlan0等?
答案 0 :(得分:2)
我想我可能会更新这个。我用了libpcap。
您只需要使用您的设备创建一个句柄,将其设置为成功监控模式(重要),检查数据链接类型(例如,使用Radiotap进行第2层的802.11),然后使用pcap_sendpacket(handle, packetArrayContainingHex, size);
。困难的部分是形成合法的数据包,不被拒绝或丢弃,看看有线电视帮助。
答案 1 :(得分:0)
这link可能有所帮助。它基本上以原始数据包级别打开驱动程序,并创建整个数据包以通过网络发送,正如您的问题所示。