wpa_supplicant在连接或者断开时候监听到的事件

11 篇文章 2 订阅

1. 使用的前提

使用wpa_supplicant管理WIFI连接,系统是Linux操作系统。
下文中,所有的连接成功都指的是物理连接层的连接成功,而不是协议层的连接成功。
下文中的bssid都不是实际监听到的,只是为了随意修改了的值。

2. 事件的监听

在设置和连接网络的过程中,创建socket监听wpa_supplicant的状态信息日志。
这里主要监听了如下的两种事件:

  1. CTRL-EVENT-DISCONNECTED
  2. CTRL-EVENT-CONNECTED

在连接WIFI的过程中,如果连接WIFI不成功,往往会收到CTRL-EVENT-DISCONNECTED事件;连接成功的时候会收到CTRL-EVENT-CONNECTED事件。

3. 相关事件的示例

在接收到的事件中,包含的不是对应的ssid,而是bssid
连接成功的示例:

<3>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:01 completed [id=1 id_str=]

连接不成功,或者断开连接的示例:

<3>CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:01 reason=3 locally_generated=1

4. 操作行为与相关接收到的事件

4.1 理想接收到的消息

考虑的情况:断开其他网络连接当前网络
这样首先会接收到断开网络的CTRL-EVENT-DISCONNECTED事件,如果当前网络连接成功的话,会接收到当前网络的CTRL-EVENT-CONNECTED事件。
在上面接收到的CTRL-EVENT-CONNECTED中包含reason,这类操作中,观察到接收的都是3

4.2 先接收到断开时间立马收到连接成功事件

在要连接的网络上,先收到CTRL-EVENT-DISCONNECTED事件,在不到一秒后(某次,当时日志记录间隔为12ms),立即收到CTRL-EVENT-CONNECTED事件。并且这两个事件中对应的bssid是同一个。
上述的情况,并不是总能观察到。有时候只能收到连接到的bssidCTRL-EVENT-CONNECTED事件。
观察到,CTRL-EVENT-CONNECTED中包含reason也都是3

4.3 多次收到连接成功的事件

在已经连接到某个网络之后,仍旧能够多次收到CTRL-EVENT-CONNECTED事件,在观察到的现象中,连接的同属于相同的ssidbssid不同;在我设置的网络中,它们的频率是不同的。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值