使用Netlink API设置无线通道

jrpathfinder

我正在Ubuntu Linux 12.04环境中开发WiFi工具,需要在不同通道之间切换WiFi接口。

目前,我在Wireshark源代码ws80211_utils.c中的名为ws80211_set_freq的函数中找到了解决方案,但是我不知道如何将其实现到我的源代码中以及要包含的库以及如何进行编译,因此我可以对其进行测试。

问题是您必须使用太多的参数和标志。另外,这是我第一次开发netlink wifi工具。

如果有可用的好手册,以及如何使用Netlink进行WiFi通话,请提供给我链接。

非常感谢我前进!

短跑

在当前的Linux版本中,nl80211是与无线子系统“对话”的正确方法。请注意,您不能随每个驱动程序和每个操作模式(主,客户端,监视器等)任意设置通道。某些驱动程序仅在相应的接口“关闭”时才允许更改通道。在客户端(“托管”)等模式下,根本无法设置通道,因为它是由接入点定义的。

另请注意,并非所有无线设备驱动程序都使用mac80211 / cfg80211。对于那些不使用它的驱动程序,您要么必须使用旧的无线扩展API,要么(甚至更糟)使用驱动程序专有的API。

可悲的是,似乎没有关于nl80211接口的最新和完整的文档。如果我错了,请纠正我!

您研究其他程序源代码的方法似乎是一种合理的方法。你也可以使用源代码中的iw命令行实用程序iw可以选择设置频道:

$ iw --help
Usage:  iw [options] command
Options:
    --debug     enable netlink debugging
    --version   show version (3.2)
Commands:
dev <devname> set channel <channel> [HT20|HT40+|HT40-]

phy.c中iw91ff行。您可以找到在iw wlan0 set channel执行时调用的代码但是,此代码绝对不容易阅读。看起来,将NL80211_CMD_SET_WIPHY命令与NL80211_ATTR_WIPHY_FREQ属性结合在一起是可行的方法。

这个SO答案中,您可以找到使用nl80211的框架程序。此外,Aircrack-ng(src/osdep/linux.c,function linux_set_channel_nl80211的代码可以用作蓝图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用NETLINK的VLAN信息

来自分类Dev

使用netlink获取进程inode

来自分类Dev

如何使用Python订阅Websocket API通道?

来自分类Dev

使用libnl-3发送Netlink Taskstats消息

来自分类Dev

如何使用QT或Windows API连接到无线WIFI网络?

来自分类Dev

如何使用nmcli交互式安全地设置无线密钥,而无需在命令中输入无线密钥

来自分类Dev

使用Channel API时内部通道错误过多

来自分类Dev

使用Poco库,如何在分离器通道记录器中为每个通道设置不同的日志级别?

来自分类Dev

如何使用无线电插件为错误消息设置输入样式-Twitter Bootstrap

来自分类Dev

在React中使用其他状态方法设置无线电时遇到麻烦

来自分类Dev

使用DSL设置无线互联网需要什么设备?

来自分类Dev

使用/设置无线路由器时出现问题

来自分类Dev

尽管在 ubuntu 中安装了驱动程序,但我无法使用无线设置!

来自分类Dev

为什么在使用nl_recvmsgs时会收到Netlink ERRORMSG?

来自分类Dev

如何使用Netlink库将命令发送到网络接口

来自分类Dev

为什么在使用nl_recvmsgs时会收到Netlink ERRORMSG?

来自分类Dev

如何使用 libnl 和 netlink 套接字以编程方式将设备连接到 AP?

来自分类Dev

使用消息驱动通道适配器和DMLC时的事务设置

来自分类Dev

如何使用amqp库在“设置结构”之外重用RabbitMQ连接和通道?

来自分类Dev

使用API设置额外变量

来自分类Dev

更改颜色并使用设置API

来自分类Dev

两个内核模块,每个模块使用netlink套接字。如何同时使用它们?

来自分类Dev

使用XMS .NET API在安全退出下处理安全通道

来自分类Dev

使用WebAudio API访问音频接口的所有输入通道吗?

来自分类Dev

使用V4L2 API选择输入通道

来自分类Dev

使用XMS .NET API通过安全退出处理安全通道

来自分类Dev

可以设置通用无线调制解调器并在家中使用ISP的SIM卡

来自分类Dev

为什么不能在Broadcom无线卡上使用wl STA驱动程序设置监视模式?

来自分类Dev

django 通道设置路由

Related 相关文章

  1. 1

    使用NETLINK的VLAN信息

  2. 2

    使用netlink获取进程inode

  3. 3

    如何使用Python订阅Websocket API通道?

  4. 4

    使用libnl-3发送Netlink Taskstats消息

  5. 5

    如何使用QT或Windows API连接到无线WIFI网络?

  6. 6

    如何使用nmcli交互式安全地设置无线密钥,而无需在命令中输入无线密钥

  7. 7

    使用Channel API时内部通道错误过多

  8. 8

    使用Poco库,如何在分离器通道记录器中为每个通道设置不同的日志级别?

  9. 9

    如何使用无线电插件为错误消息设置输入样式-Twitter Bootstrap

  10. 10

    在React中使用其他状态方法设置无线电时遇到麻烦

  11. 11

    使用DSL设置无线互联网需要什么设备?

  12. 12

    使用/设置无线路由器时出现问题

  13. 13

    尽管在 ubuntu 中安装了驱动程序,但我无法使用无线设置!

  14. 14

    为什么在使用nl_recvmsgs时会收到Netlink ERRORMSG?

  15. 15

    如何使用Netlink库将命令发送到网络接口

  16. 16

    为什么在使用nl_recvmsgs时会收到Netlink ERRORMSG?

  17. 17

    如何使用 libnl 和 netlink 套接字以编程方式将设备连接到 AP?

  18. 18

    使用消息驱动通道适配器和DMLC时的事务设置

  19. 19

    如何使用amqp库在“设置结构”之外重用RabbitMQ连接和通道?

  20. 20

    使用API设置额外变量

  21. 21

    更改颜色并使用设置API

  22. 22

    两个内核模块,每个模块使用netlink套接字。如何同时使用它们?

  23. 23

    使用XMS .NET API在安全退出下处理安全通道

  24. 24

    使用WebAudio API访问音频接口的所有输入通道吗?

  25. 25

    使用V4L2 API选择输入通道

  26. 26

    使用XMS .NET API通过安全退出处理安全通道

  27. 27

    可以设置通用无线调制解调器并在家中使用ISP的SIM卡

  28. 28

    为什么不能在Broadcom无线卡上使用wl STA驱动程序设置监视模式?

  29. 29

    django 通道设置路由

热门标签

归档