C语言 如何在 Linux 中使用 RAW 套接字发送 802.11 管理帧和数据帧



我正在尝试构建一个应用程序,该应用程序将使用原始套接字从用户空间一起发送 802.11 管理帧和数据帧。我能够使用 sendto(( 函数发送数据帧,但我也需要发送管理帧,我主要卡在了那里。有什么可能的方法吗?

为了从无线接口发送管理、数据或任何类型的纯原始数据包,您必须执行以下操作:

  1. 确保无线接口硬件支持在监视模式下的数据包注入。
  2. 将无线接口设置为显示器模式,例如

sudo ifconfig wlan0 down
sudo iwconfig WLAN0 模式监视器

或者,您也可以创建新的虚拟监视器界面。

须藤 iw 开发 WLAN0 接口添加 Mon0 类型监视器

  1. 现在打开此监视器模式界面的原始套接字。

  2. 最后,在构建用于
  3. 管理和控制帧的无线 802.11 数据包时,在开头构建并附加相应的 radiotap 标头。由于您基本上绕过了所有下杆无线驱动器(处理管理和控制帧(,因此包含 radiotap 接头成为您的工作。

最新更新