哪个API在linux中提供无线网络通知?
-
08-07-2019 - |
题
每当我的网卡发送有关可用网络的新信息时,我想发起一些回调。如果我需要自己查询信息,我真的不介意。我只是不想依赖于产生“ iwlist scan last
”每一秒,但这正是我需要的信息(网络名称+频道+加密类型)。
是否有一个实现类似功能的库? (或者有一些ioctl调用吗?)
如果重要的话,我只对ndiswrapper模块感兴趣。
解决方案
如果NetworkManager正在运行,可通过其 DBUS API <访问/ a> - 请参阅 WirelessNetworkAppeared
和 WirelessNetworkDisappeared
事件。
否则,您将不得不处理 wext 你自己(这是NM在下面使用的),你会对 IWEVREGISTERED
和来自 NETLINK_ROUTE 界面的 IWEVEXPIRED
事件。
其他提示
如果您不想使用DBUS,您也可以将脚本/程序放入 /etc/NetworkManager/dispatcher.d/
,在某些事件中NetworkManager将调用它
请参阅“ man 8 NetworkManager
”对于传递给脚本的事件和参数的类型。
该脚本将作为 root
执行,但可能不是您想要的。
不隶属于 StackOverflow