3

每次我的网卡发送有关可用网络的新信息时,我都想触发一些回调。我也不介意自己是否需要轮询信息。我只是不想依赖iwlist scan last每秒生成“”,但这正是我需要的信息(网络名称 + 通道 + 加密类型)。

有没有实现类似功能的库?(或者是否有一些 ioctl 调用来做到这一点?)

如果这很重要,我只对 ndiswrapper 模块感兴趣。

4

2 回答 2

3

如果 NetworkManager 正在运行,则可以通过其DBUS API访问它——参见WirelessNetworkAppearedWirelessNetworkDisappeared事件。

否则,您将不得不自己处理wext(这是 NM 在下面使用的),您会对来自NETLINK_ROUTE接口的IWEVREGISTEREDIWEVEXPIRED事件感兴趣。

于 2009-05-07T17:05:08.413 回答
1

如果您不想使用 DBUS,您也可以将脚本/程序放入/etc/NetworkManager/dispatcher.d/中,NetworkManager 会在某些事件时调用它。

有关传递给脚本的事件和参数的类型,请参见“ man 8 NetworkManager”。但是,该脚本将执行为root,这可能不是您想要的。

于 2009-05-07T22:25:04.087 回答