客户端在单个SSID中识别其连接的特定接入点的方式?

Bry*_*mas 1 android uniqueidentifier wifi access-point

问题如下 - 有一个大学校园宽带无线连接,单个SSID,比如说"校园wifi".用户可以在校园内自由漫游,并且通常会在接入点之间进行切换.我的问题是,网络堆栈的任何一层是否有任何信息允许客户端识别(任何唯一标识符都很好)他们所连接的特定接入点,而不仅仅是他们连接到"校园"的事实-无线上网"?

如果它是相关的,我希望能够从移动设备(主要是android/iOS)这样做.

deb*_*cey 6

您可以获取所连接的接入点的BSSID.就像是:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String BSSID = info.getBSSID();
Run Code Online (Sandbox Code Playgroud)

因为我从来没有使用它,所以你不会100%获得BSSID - 但它应该唯一地识别基站 - 维基百科似乎表明你将获得AP的MAC(靠近底部) :

http://en.wikipedia.org/wiki/Service_set_(802.11_network)#Basic_service_set_identifier_.28BSSID.29

- 丹


编辑:

根据Android文档,它是MAC地址:

http://developer.android.com/reference/android/net/wifi/WifiInfo.html