我正在尝试构建一个应用程序,该应用程序将使用原始套接字从用户空间一起发送 802.11 管理帧和数据帧。我能够使用 sendto() 函数发送数据帧,但我还需要发送管理帧,这让我陷入困境。有什么可能的方法吗?
为了从无线接口发送管理、数据或任何类型的纯原始数据包,您必须执行以下操作:
- 确保无线接口硬件支持监控模式下的数据包注入。
- 将无线接口设置为监控模式。例如
sudo ifconfig wlan0 关闭
sudo iwconfig wlan0 模式监视器
或者您也可以创建一个新的虚拟监视器界面。
sudo iw dev wlan0 接口添加 mon0 类型监视器
现在打开一个原始套接字到此监视模式接口。
最后,在构建用于管理和控制帧的无线 802.11 数据包时,在开头构建并附加适当的 radiotap 标头。由于您基本上绕过了所有较低级别的无线驱动程序(处理管理和控制帧),因此您的工作就是包含 radiotap 标头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)