我需要将wifi接口置于附加监控状态。
- 如果我不使用 udev 规则和由内核命名的 wifi 接口无线局域网0(默认):
$ iw 开发无线局域网0接口添加蒙0类型监视器
在这种情况下,我没有任何问题,一切正常。我可以看到蒙0iwconfig 输出中的接口。
mon0 IEEE 802.11 Mode:Monitor Frequency:2.412 GHz
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
- 如果我使用 udev 规则和名为的 wifi 接口WBRD0:
70-wireless.rule 文件:
SUBSYSTEM=="net", ACTION=="add", ATTRS{address}=="xx:xx:xx:xx:xx:xx", NAME="wbrd0"
$ iw 开发WBRD0接口添加蒙0类型监视器
在这种情况下,iwconfig 输出如下所示:
rename4 IEEE 802.11 Mode:Monitor Frequency:2.412 GHz
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wbrd0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
正如你所看到的,没有蒙0接口,而是将其重命名为重命名4。我认为这是因为 udev 规则,udev 试图将新的监视器接口命名为WBRD0代替蒙0。可能 udev 文档中缺少一些东西。虽然我知道它适用于默认的 udev 规则,但我找不到它所在的位置。
我有一个解决方法,我可以重命名重命名4接口:
$ ip 链接集重命名4姓名蒙0
但这确实很脏,应该有更好的方法。
所以我的问题是如何编写 udev 规则,该规则将从现有的创建一个监视器接口WBRD0?
或者
如何在默认 udev 规则中找到将监视器接口重命名为的位置蒙0当我不使用 70-wireless.rule 时?