2011-10-04 100 views
2

假设我有两个AP。我希望一个AP监视另一个AP的信标信息,例如该AP是否缓冲了信息流,TSF以及信标中包含的所有信息。他们可以监视每个。我在iwlist扫描中发现,我们可以得到其他AP的TSF,但我不知道iwlist扫描如何获取信标信息,即使我已经阅读了源代码。我的无线驱动程序是ath9k。如何获取另一个AP的信标信息?

你有什么想法吗?如何从扫描的信标帧中提取一些信息?谢谢。

回答

3

如果您想要嗅探和分析信标,则需要在接口 上设置监控模式,并将该信道设置为AP信道。

你可以做到这一点,例如IW实用

iw wlan0 set monitor otherbss 
iw wlan0 set channel X 

找出AP信道只是一些扫描像

iw wlan0 scan 

如果您的硬件和驱动程序支持监控模式下,你应该能够运行Wireshark 并查看AP的信标。 要编写解析信标和监视事件的实用程序,可以使用libpcap 或在python中为其绑定例如。

0

wpa_supplicant是广泛使用的wifi中间件,提供BSS命令来获取AP信息,如TSF和IE。

使用wpa_cli,您可以发送命令到wpa_supplicant

以下是通过利用wpa_cli获取tsf值的示例。 (假设接口名称是为wlan0)

wpa_cli -iwlan0 scan 
Wpa_cli -iwlan0 scan_result 
# (Find out bss id of APs you want to get tsf.) 
wpa_cli -iwlan0 bss "bss id" 

如果你想这样做在你的代码,在互联网上参阅wpa_ctrl.c