2

我正在使用NF_INET_PRE_ROUTING钩子的 Linux 内核模块中工作。在那个钩子中,我需要知道我所有的 net_devices 的状态,特别是无线设备。我可以从net_device->flagsIFF_UP设备启动或关闭中获取有关设备的一些信息。但我需要更多关于无线的细节net_device

  1. net_device 是无线/有线的吗?
  2. 无线设备是否连接到无线接入点?
  3. 如果是,哪个无线接入点(接入点名称)?
  4. 与该设备关联的网关地址(我认为,我需要从路由表中获取此地址?)。
4

2 回答 2

1

请参阅 iwconfig、iwlist 和其他实用程序。

于 2013-02-27T18:54:08.343 回答
1

if(net_device->ieee80211_ptr != NULL)? 是ieee80211_ptr一个struct wireless_dev*。这个结构应该让您可以访问您请求的大部分值。在struct wireless_devis 中struct wiphy *wiphy;,您可以使用它来获得一个cfg80211_registered_devicewith wiphy_to_dev()

网关地址与无线无关。我怀疑devices有任何网关信息,但您需要接口name才能net_device找到路由。该路由与IP相关,与device. 祝你好运。

于 2013-02-28T01:29:57.230 回答