如何接收802.11b/g数据链路(MAC)广播数据包并将其传送到Android应用程序

如何接收802.11b/g数据链路(MAC)广播数据包并将其传送到Android应用程序,android,broadcast,android-wifi,data-link-layer,Android,Broadcast,Android Wifi,Data Link Layer,我想知道我是否可以在Android上接收MAC级别(L2 WiFi)的广播数据包,并将这些消息发送到我的应用程序,该应用程序将解析这些数据包的有效负载 MAC接口通过构造(例如信标)解析所有这些分组;但是,我不知道是否(在哪里)可以注册一些“回调”,以便在节点接收到非管理WiFi帧的广播数据包(即ff:ff:ff:ff:ff:ff)时调用。 这样做的目的是立即访问某些信息,甚至可能是在身份验证/关联之前,或者如果这不可行,则在关联之后以及DHCP将IP地址分配给我的接口之前。 是的,有类似tcp

我想知道我是否可以在Android上接收MAC级别(L2 WiFi)的广播数据包,并将这些消息发送到我的应用程序,该应用程序将解析这些数据包的有效负载

MAC接口通过构造(例如信标)解析所有这些分组;但是,我不知道是否(在哪里)可以注册一些“回调”,以便在节点接收到非管理WiFi帧的广播数据包(即ff:ff:ff:ff:ff:ff)时调用。 这样做的目的是立即访问某些信息,甚至可能是在身份验证/关联之前,或者如果这不可行,则在关联之后以及DHCP将IP地址分配给我的接口之前。 是的,有类似tcpdump/wireshark的程序,但需要root权限, 而我们正在寻找一种常规的方法(用户权限)来做到这一点

因此,接入点可以通过广播分组发送一些信息, 客户端可以接收和解析这些信息,执行一些操作

有什么想法吗?
谢谢

看来Android SDK API不支持这样做。 这样的API只显示了3级IP上的功能。 因此,在我看来,你无法以透明的方式进入2级。 实际上,我没有看过Android NDK,但我会的