gpt4 book ai didi

检查无线AP是否连接

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:24 26 4
gpt4 key购买 nike

我正在编写一个 linux 无线网络扫描仪,它提供有关接入点的信息,但它还必须检查接入点是否已连接并且可以通信(即加密是否正常工作)。通过ioctl(.., SIOCGIWAP, ..) 来检查它是不够的,因为它并没有真正检查 WPA key 是否正确以及 AP 是否可以通信。

我正在做的检查无线接口(interface)是否与 AP 相关联的是:

  • 检查 ioctl(...,SIOCGIWAP,...) 是否返回某个 AP 的 MAC 地址
  • 检查接口(interface)是否配置了 IP(我知道在静态配置的情况下它不会提供任何信息,但我可以接受)
  • 检查 AP 和客户端使用的加密(例如 WEP、WPA、WPA2)是否相同(以确保在 AP 端更改加密方法后,不会被积极检测为已连接)。

我被最新的一点卡住了——我可以检测到 AP 使用的加密,但我真的不知道如何检查我的主机使用的是什么加密。你知道如何检查吗?或者,也许您知道确定 AP 和客户端之间的连接是否有效的更好方法(我不想使用 ICMP 或类似的东西 - 我的工具必须快速,因此可以在本地完成所有操作)

最佳答案

使用 SIOCGIWENCODE 调用 ioctl 查询加密 key 打开或关闭(区分开放和加密)。

使用SIOCGIWESSID调用ioctl查询ESSID,即可进行主机与AP的ESSID匹配。

使用 SIOCGIWENCODEEXT 调用 ioctl 会查询加密类型(区分 WEP、WPA 和 WPA2 等),但前提是无线网卡的内核驱动程序支持它。

关于检查无线AP是否连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com