访问wifi中的信息元素从android扫描

时间:2017-04-11 13:35:19

标签: android wifi beacon

WiFi信标包含多个信息。例如,它们包含网络名称(bssid),信标时间等。此外,它们还可以包含信息元素(IE)形式的供应商扩展。

adroid中是否有API允许您访问这些IE?另外一种选择也是将原始wifi信标作为字节串访问。

1 个答案:

答案 0 :(得分:0)

接收像信标帧这样的低级别WiFi数据包仅限于使用本机API的系统应用,因此肯定需要root访问来执行此操作。此外,您可能需要使用OTG适配器连接到USB端口的外部WiFi设备才能执行此操作。 Kismet Wireless的人们开发了一个带有开源代码的应用程序,可以使用低级别的libpcap代码在Android上执行此操作。您可以在此处访问:https://www.kismetwireless.net/android-pcap/

上述工具捕获WiFi数据包(包括信标帧)并将其写入Android上的文件。我自己修改了这段代码,将原始数据包作为字节数组发送到我的应用程序,从中我可以解析字节数组中的字节,从信标帧中提取字段。

是的,这是很多工作,并且在根和需要外部WiFi设备方面有很多限制。显然,这不是问题中提到的内置Android API。不幸的是,我相信这是你能来的最接近的。遗憾。

澄清:这个问题是关于低级WiFi数据包信标帧,而不是beacon StackOverflow标记可能建议的邻近信标(例如iBeacon,Eddystone)。