问题
I want to analyze the capabilities string of a ScanResult. However, the names ther are grouped in up to four square brackets e.g.
[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP-CCMP][WPS][ESS]
Is there some kind of documentation describing which bracket relates to what, considering that some names may apear in various brackets. It would be great if there was a list of all possible capabilities somewhere as well.
回答1:
Last year there was a topic about this issue. You can find some help in this stackoverflow answer. In fact, there is little Android documentation about WiFi access points capabilities. Even in the offical Javadoc, regarding the signal level, the attribute level
is only documented with:
The detected signal level in dBm. At least those are the units used by the TI driver.
It seems this is a very volatile information about the WiFi handling in Android.
回答2:
This string is generated by wpa_supplicant. Unfortunately there is little documentation on this, but at least we can look at the precise code! There are three main functions reponsible for creating the string we see in Android:
- wpa_supplicant_ctrl_iface_scan_result: This takes a
struct wpa_bss
as argument, which contains the information about one networks, and converts it to a string. You can see tags such as[ESS]
andWPA2
being added. It also (indirectly) calls the following two functions. So this function add the general capabilities of the network. - wpa_supplicant_ie_txt: This add the
[PSK]
and/or[EAP]
tags. In other words the type of handshake being used. - wpa_write_ciphers: Adds the type of WPA1 or WPA2 encryption being used. So
TKIP
orCCMP
. It's only called if the network is WPA1 or WPA2.
By reading these three functions you will know exactly what kind of parameters in the string that you can expect. You can always confirm your understanding by creating your own network and confirming the string corresponding to your own network!
回答3:
i found this topic :
How do I connect to a WiFi Network with an unknown encryption algorithm in Android?
the user who asked the question seems to know what does it mean :
I have assumed, based on some research, that these are bracket-separated capabilities, and the first item for each of these is a - separated String showing:
[Authentication Algorithm - Key Management Algorithm - Pairwise Cipher]
来源:https://stackoverflow.com/questions/11956874/scanresult-capabilities-interpretation