ScanResult capabilities interpretation

前端 未结 3 2087
鱼传尺愫 2021-02-20 19:14

I want to analyze the capabilities string of a ScanResult. However, the names ther are grouped in up to four square brackets e.g.


  • 2021-02-20 19:25

    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] and WPA2 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 or CCMP. 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!

    0 讨论(0)
  • 2021-02-20 19:29

    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.

    0 讨论(0)
  • 2021-02-20 19:47

    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]

    0 讨论(0)