Urb*_*ban 20 java android router network-programming wifi
有什么办法可以获得特定wifi路由器的任何唯一标识符吗?
我正在尝试编写一个Android应用程序,需要知道它连接到哪个路由器.我知道android提供了获取当前连接网络的BSSID的方法,但令我惊讶的是,这并不是唯一的.
我发现在双频路由器上,两个不同的设备可能会获得两个不同的BSSID,即使它们位于相同的SSID上.
我可以获取任何其他参数,可以唯一标识我连接的wifi吗?我想尝试一些第三方库,如果这样可以允许我,因为我很确定Android没有包装更好的方法而不是给我BSSID.
编辑:我试图找出谁将他们的家庭wifi(通过应用程序)设置为与我相同的Wi-Fi.每个用户设置他们的"家庭Wi-Fi",它被保存在服务器上(mac地址是我正在保存的).然后,每个用户都可以查询所有人都在他们的Wi-Fi上,以及他们当前是否在该Wi-Fi上连接."谁在我的wifi上"的查询是通过搜索与我连接的MAC地址相同的MAC地址来完成的.如果我的家有双频段,则会失败,因为它们可能连接到第二频率(因此第二个MAC).
你假设getBSSID()将为两个不同的频段返回两个不同的地址是正确的,因为它们本质上是两个不同的接入点,一个2.4GHz和一个5GHz,简单地包装在同一个包中.我写了一个快速的应用程序来获取并显示可以使用WifiInfo该类获得的所有可用字段.当我连接到接入点的2.4 GHz频段时,详细信息如下:

请注意,您可以告诉您已连接到2.4 GHz频段("频率:2452").使用5 GHz频段重复此过程显示以下内容:

如您所见,两个不同频段的MAC地址仅相差一个数字; 我不知道所有路由器是否都是这种情况.如果确实如此,那么您可以通过分析MAC地址(BSSID)和频率的组合来最终确定您所连接的接入点.
| 归档时间: |
|
| 查看次数: |
3311 次 |
| 最近记录: |