扫描手机附近的所有wifi设备

时间:2013-10-19 07:25:49

标签: android iphone wifi mac-address

公司http://renewlondon.com/的终端站收集所有附近的mac地址

enter image description here

我可以通过iOS SDK和Android SDK做同样的事情吗?

2 个答案:

答案 0 :(得分:10)

您可以使用'WifiManager'访问wifi数据,扫描完成后扫描结果包含所有数据,如

BSSID 接入点的地址。

SSID 网络名称。

功能描述接入点支持的身份验证,密钥管理和加密方案。

频率客户端与接入点通信的频道的频率(MHz)。

级别检测到的信号电平,单位为dBm。

timestamp 上次查看此结果时的时间同步函数(tsf)时间戳(以微秒为单位)。

关于wifi设备。 如果您需要更多与编码相关的内容,我想我可以帮助您...

示例代码

WifiManager wManager;
List<ScanResult> wifiList; 

wManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// Inside BroadcastReceiver()
wifiList = wManager.getScanResults();
for (int i=0; i<wifiList.size(); i++){
     ScanResult scanresult = wifiList.get(i);                        
     System.out.println("SSID: "+ssid);
     System.out.println("RSSI: "+scanresult.level);
     System.out.println("Frequency: "+scanresult.frequency);
     System.out.println("BSSID: "+scanresult.BSSID);
     System.out.println("Capability: "+scanresult.capabilities);
}

还要检查BroadcastReceiver()。

答案 1 :(得分:3)

我可以想到这样做的一种方法是将您的设备作为wifi热点并使用一些隐藏的api来发现设备。您基本上是在尝试模仿接入点。

否则每个设备都需要一些p2p框架 - 无论是wifi直接还是其他一些框架,如alljoyn或三星和弦,这有助于对等发现