我正在尝试使用带有 USB 驱动程序 rtl8187 的 Alfa AWUS036H 发送自定义的原始 802.11 帧。这可以使用 tcpreplay、hexinject 或许多其他 Linux 实用程序来实现。可以创建自定义 PCAP 文件并通过无线方式“重播”。
我修改了数据包中的 802.11 标头以满足我的需求,但是当我发送数据包时,无线驱动程序似乎正在修改我指定的持续时间字段,因为持续时间字段是根据实际数据包长度更新的发送。对于我的应用程序,我需要将持续时间设置为特定值。
我正在通过使用另一个无线适配器和 Wireshark 捕获数据包来验证实际发送的数据包。
有人能够传输原始 802.11 帧吗?如果是,使用了什么硬件/软件?
答案1
我发现确实是 rtl8187 驱动程序正在修改持续时间字段。司机正在计算持续时间,并将我的自定义持续时间替换为计算出的持续时间。我必须编辑驱动程序代码并重新编译它,才能像我想要的那样传输原始 802.11 帧。修改驱动程序代码后,问题中提到的任何实用程序都可以用于传输。