如何检查列出的WiFi AP是否安全?

时间:2013-09-16 11:48:22

标签: android connection wifi protection

我可以检查一个接入点是否使用密钥保护而不连接它? 有了这个我可以放置一个图标,如果无线网络被锁定。 非常感谢, 添

1 个答案:

答案 0 :(得分:1)

使用WifiManagergetScanResults方法,并检查ScanResult的功能字段值。

    WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wm.startScan();

    //some time after...

    List<ScanResult> results = wm.getScanResults();
    for( ScanResult result : results ){
        //if this ap is locked, the capabilities string should contains..
        //the name of encryption mechanism. ex> [WPA2-EAP-CCMP]
        Log.v("AP", "AP:" + result.capabilities);
    }

就我而言,结果日志看起来像这样......

09-16 21:01:41.308  V/AP﹕ AP:[WPA-EAP-CCMP+TKIP][WPA2-EAP-CCMP+TKIP][ESS]
09-16 21:01:41.308  V/AP﹕ AP:[WPA-PSK-CCMP][WPS][ESS]
09-16 21:01:41.308  V/AP﹕ AP:[WPA2-EAP-CCMP][ESS]
09-16 21:01:41.308  V/AP﹕ AP:[WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS]
09-16 21:01:41.308  V/AP﹕ AP:[WPA2-EAP-CCMP][ESS]
09-16 21:01:41.308  V/AP﹕ AP:[WPA2-EAP-CCMP][ESS]

您可能需要以下权限才能扫描&amp;阅读结果。

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>