我正在为无线网卡写一个相当低级别的驱动程序,虽然大部分规范都相当简单,但我还没有解决一个问题:
如果我的电台处于省电模式且其接收器在DTIM帧之间长时间(例如10秒)关闭,并且在此期间重新启动接入点,那么我的关联就会丢失,我该怎么办?检测到这个?
我知道最常见的情况是同步丢失得足够彻底,以至于我会错过许多信标,之后只需回到AP搜索,但如果幸运的话,我会看到信标,有没有办法找出这是同一个AP的新“实例”?
我能想到
作为一个完美主义者,我想知道是否有一种完全可靠的方法可以检测到AP已经重新启动,而不仅仅是把线索放在一起。
答案 0 :(得分:1)
我建议您查看收到的信标帧中的TSF 如果它与TSF的差别太大,您希望发送一个NULL数据 框架到AP。如果AP重新启动,它应该响应 deauthenticate frame with reason“Class 2 frame from from 非认证STA“。
答案 1 :(得分:0)
我对该级别的无线卡没有任何了解,但我会采取实际的路线并分析来自AP的通信,直至断开与典型关机序列相匹配的模式;例如,“不再有流量,突然丢失DTIM同步,然后是AP公告”。
脱离我的头脑:或许可以查看Kismet的AP检测和分析代码,了解一两个想法。我敢打赌别人之前遇到过这个问题。
干杯!