Android WIFI认证方式
在Android中,我们如果想知道周围的WIFI热点,以及这些认证方式怎么办?
答案是我们可以用WifiManager.getScanResults来获取当前扫描出的热点
用ScanResult.capabilities来获取认证方式等。
看代码
private fun getCurrentWifi() {mScanResult.clear()//获取当前扫描出的热点val scanResult = wifiManager.scanResultsmScanResult.addAll(scanResult)val stringBuilder = StringBuilder()mScanResult.forEach {stringBuilder.append(it.SSID).append(" ").append(it.BSSID).append(it.capabilities) //热点的认证方式.append("\n")}binding.tvWifiList.text = stringBuilder.toString()logcat(stringBuilder.toString())ToastManager.showToast("获取完毕 个数为:" + mScanResult.size)}
Google官方对capabilities的描述是
Describes the authentication, key management, and encryption schemes supported by the access point.
描述该热点的认证、秘钥管理和加密方案
如上述代码,我们看下打印的结果
imlog : THEMERCURY 04:d7:a5:c4:73:70[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS]
imlog : DoDoDo 42:e0:d0:35:27:8b[WPA2-PSK-CCMP][ESS][WPS]
imlog : DoDoDo 42:e0:d0:35:27:8f[WPA2-PSK-CCMP][ESS][WPS]
imlog : 92:53:c3:da:45:b4[ESS]
imlog : Wi-Fi6 8c:53:c3:da:45:b4[WPA2-PSK-CCMP+TKIP][WPA-PSK-CCMP+TKIP][ESS][WPS]
imlog : CMCC-e2ax 00:cf:c0:b5:8e:e8[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS][WPS]
imlog : 74:60:fa:86:b4:31[WPA2-PSK-CCMP][ESS]
imlog : ChinaNet-401 68:a0:3e:4a:91:d0[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS][WPS]
imlog : ChinaNet-3Ger e8:84:c6:c2:f1:40[WPA2-PSK-CCMP+TKIP][WPA-PSK-CCMP+TKIP][ESS][WPS]
imlog : TP-LINK_AA62 e4:d3:32:e3:aa:62[WPA2-PSK-CCMP][WPA-PSK-CCMP][ESS][WPS]
imlog : CMCC-yytA d0:59:19:b8:18:fa[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS]
imlog : 04:d7:a5:c4:73:75[ESS]
imlog : THEMERCURY 04:d7:a5:c4:73:73[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS]
imlog : CMCC-uGUG 80:c7:c5:43:a1:b7[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]
imlog : TP-LINK_702 9c:21:6a:35:da:48[WPA2-PSK-CCMP][WPA-PSK-CCMP][ESS][WPS]
imlog : Xiaomi_0 88:c3:97:c8:23:b0[WPA2-PSK+SAE-CCMP][ESS][WPS]
imlog : ChinaNet-Zf2m ec:f8:eb:4c:54:f9[WPA-PSK-CCMP+TKIP][ESS]
imlog : WATER b8:08:d7:4e:8f:70[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS][WPS]
通过上面的日志我们可以看到,capabilities的内容是类似于 [WPA2-PSK-CCMP][ESS][WPS] 的字符串,看到这个之后,是不是感觉
我们这篇文章就来介绍capabilities的各个字段到底是什么
简单讲,capabilities的格式是 [认证标准+秘钥管理+加密方案]
1. WEP(Wired Equivalent Privacy) 有线等效保护
这是一种早期使用的加密认证方式,现在已经弃用。简单先回顾一下它的历史。
它是802.11b标准里定义了一种用于无线局域网(WLAN)的安全性协议,它被有线LAN具有同等级别的安全性(所以翻译是有线等效保护,哈哈)。但是,有线LAN依赖物理上的连接啊,所以天然比WLAN安全。
WEP的认证方式分为两种
- open system authentication 开放式系统认证:顾名思义,没有认证,随便连接。
- shared key authentication 共有键认证:认证一共有四个步骤,如下
- 客户端向接入端发送认证请求
- 接入点返回一个明文
- 客户端利用预存的秘钥对明文加密,再次向接入点发出认证请求
- 接入点数据包进行解密,比较明文,并决定是否接受请求。
这个认证真是粗糙啊。
好了,知道他被废弃了就行了,下面看取代他的WPA。
2. WPA(Wi-Fi Protected Access)
WPA可以被分为WPA、WPA2、WPA3三个标准。人们在发现WEP的几个严重弱点后,推出了WPA,WPA已经实现了绝大部分IEEE 802.11i标准,它可以用在几乎所有的无线网卡上。随后,Wi-Fi联盟推出了WPA2,WPA2与WPA的主要区别是,WPA2使用了更加安全的加密技术AES, 在2018年1月,Wi-Fi联盟需要发行包含众多安全性改进的WPA3。
WPA也可以分为家用的WPA-PSK(Pre-Shared Key)与企业用的WPA-Enterprise版本。
2.1 WPA-PSK
为了堵塞WEP的漏洞而发展的加密技术,WPA-PSK为每个客户端分配唯一的秘钥而工作,但是仍然需要每个客户端使用密码以便登录系统。
下面简单介绍下WPA-PSK的认证方式
- 无线AP定期发送beacon数据包,使无线终端更新自己的无线网络列表
- 无线终端在每个信道1-13广播Probe Request
- 每个信道的AP回应,Probe Response,包含ESSID及RSN信息
- 无线终端给目标AP发送AUTH包。AUTH认证类型有两种,0为开放式,1为共享式(WPA/WPA2必须是共享式)
- AP回应AUTH包
- 无线终端给AP发送关联请求包association request
- AP给无线终端发送关联响应包association response
- EAPOL四次握手进行认证
- 完成认证后可以上网
四次握手协议如下
2.2 WPA-Enterprise
需要有另一台存储无线使用者账户数据的RADIUS(Remote Authentication Dial-In User Service)服务器,当客户端连接入AP时,AP会要求使用者输入账号密码,或是自动向客户端索取数字凭证,然后向RADIUS服务器确认使用者的身份。而用来加密无线封包的加密秘钥Key,也是在认证的过程中自动产生的,并且每一次联机说产生的秘钥(Session Key)都不同,因此非常难破解。
用用户名和密码登录网络后,每个客户端自动得到一个唯一的秘钥,秘钥很长并且每隔一段时间就会被更新,这样WIFI监听者就不能获取足够的数据包来解码秘钥。
一旦应用了WPA-Enterprise,不像WPA-PSK那样,客户端将不会知道密码。这样,外部的人就不能通过他们共享网络资源。WPA-Enterprise还可以节约你大量时间:你无需花费大量的时间去人工更新客户的密码。、
CCMP
Counter CBC-MAC Protocol,计数器模式密码块链消息完整码协议。CCMP主要是两个算法所组合而成的,分别是CTR model及CBC-MAC mode。CTR mode为加密算法,CBC-MAC则用于消息完整性运算。
TKIP
TemporalKeyIntegrityProtocol,临时秘钥完整性协议,是一种用于IEEE 802.11无线网络标准中的替代性安全协议。TKIP协议由美国电气电子工程师协会(IEEE)802.11i任务组和Wi-Fi联盟设计用于在不需要升级硬件的基础上替代有线等效加密(WEP)协议。
ESS
这里需要一起先普及几个概念
- IBSS 独立基本服务集
- BSS 基本服务集
- ESS 扩展服务集
- BSSID AP MAC地址
- ESSID 无线网络名称
服务集(Service Set)是无线局域网中的一个术语,用于描述802.11无线网络的构成单位(一组互相有联系的无线设备),使用服务集标识符(SSID)作为识别,可以分为独立基本服务集(IBSS),基本服务集(BSS)和扩展服务集(ESS)三类。其中IBSS属于对等拓扑模式(又称Ad-Hoc模式、无线随意网络),而BSS和ESS属于基础架构模式。这些拓扑是原始的802.11规范中定义的,其他如网桥、中继器等则是属于特定厂商的扩展或者WDS的拓扑模式。
ESS包括多个BSS。而手机等设备在同一个ESS中的不同BSS之间的切换过程称之为漫游。
WPS
Wi-Fi Protected Setup,WIFI保护设置,是由Wifi联盟组织实施的认证项目,其主要目的是用来简化无线网络的安全加密配置。
常见的有华为路由器的hilink设备,当用户在手机端选择WPS连接后,靠近路由器,路由器会出现闪烁,此时点击路由器上的按键,就可以直接完成wifi的连接。
Android WIFI认证方式相关推荐
- Android WIFI认证的流程
一.背景介绍 当用户打开wifi,扫描完成之后,当用户点击AP列表中一项并输入正确的密码后,就可以开始AP的连接过程了.点击连接到最终连接成功,这个过程中具体流程是如何实现的,这篇文章,将介绍一下 ...
- Android Wifi认证(Portal)代码解析DNS并使用Socket发送Http请求完成认证
最近在一能开启多网络上网的Android系统中遇到连接认证WIFI问题,通过http://connectivitycheck.gstatic.com/generate_204不能完成认证. 可能原因为 ...
- 安卓或者IOS不自动跳出WiFi登录页怎么办的方法(wifi认证页面打不开)
换新iPhone连接不上学校的无线WiFi了应该怎么办.我就和大家分享了这样一篇文章. 首先是遇到的问题,连接学校的WiFi之后没有弹出认证/登录页面. 目前能够遇到的大部分WiFi网络连接认证方式大 ...
- android http协议添加Authorization认证方式
今天,简单讲讲android里如何使用http请求时在头部添加Authorization认证方式. 其实也很简单,之前需要做一个功能,在android去使用http访问设备,但是每次的访问 ...
- 微信wifi认证的实现方式和功能——时讯wifi认证
微信wifi认证用户操作流程 简单的讲(无技术实现),通过微信连wifi的流程(手机端): 用户连上无密码的热点,请求一个链接 路由器返回个用户一个portal页面. 用户在portal页点击微信连W ...
- Android中wifi认证的实现
WiFi需要登录的情况(WiFi重定向) 检测wifi是否需要portal验证 公共场所wifi验证 关于wifi portal认证–为浏览器添加wifi认证功能 Android中wifi的扫描机制 ...
- android 获取wifi的加密类型,Android WIFI开发:获取wifi列表,连接指定wifi,获取wifi加密方式,监听wifi网络变化等...
下面是 Android 开发中 WiFi 的常用配置,如:获取当前 WiFi ,扫描 WiFi 获取列表,连接指定 WiFi ,监听网络变化等等. 下面是效果图: GitHub 下载地址:https: ...
- Android Wifi --自动连接指定SSID(各种加密方式均可)
Android Wifi API参考网站这里写链接内容 1.开始先加入wifi权限 <uses-permission android:name="android.permission. ...
- Android Wi-Fi EAP-TLS/EAP-PEAP/EAP-TTLS(扩展认证协议)简介
1 扩展认证协议 英语: Extensible Authentication Protocol ,縮寫為 EAP,是一个在[无线网络][0]或點對點連線中普遍使用的认证框架.它被定义在RFC 3748 ...
最新文章
- SkFlattenable /Registrar/
- 无损压缩算法历史——熵编码是最早出现的,后来才有Lzx这些压缩算法
- 使用Hexo搭建博客,备份至GitHub过程(基于网上资料的实践操作)
- Chromium下载各类版本(pyppeteer爬虫)
- Error:Comments are not permitted in JSON
- 一个迷失了本性的聊天软件,初衷不在,何其悲伤
- baseurl php,html base URL是什么?html base详细解析汇总
- 山石网科-Hillstone-SC-***(SSL-***)之配置终结篇
- 网上交易安全-使用JAVA调用U盾进行客户认证
- HHL论文第二弹(基本过程)
- 后台拼接字符串加双引号
- win10计算机导航栏怎么删除,如何自定义导航栏?win10资源管理器导航栏删除多余选项的操作方法...
- 如何选择羽毛球?(ZT)
- 十二时辰手把手教你入门Spring
- 传记-《成为米歇尔·奥巴马》书中的精髓:米歇尔·奥巴马是怎样克服种族歧视、冲破阶层天花板,成为美国首位非洲裔第一夫人的。
- 关于R语言和社交网络分析的几篇文章
- 用计算机来模拟二维生命,用并行计算机模拟二维氢团簇的光电离
- 金山毒霸让我失望 (转)
- DDNS 学习 (一)
- 《人月神话》-外科手术队伍
热门文章
- 腾讯2018秋招笔试真题——安排机器
- MyCat:第八章:MyCAT In Action中文版
- 多种消息提醒系统的设计模式、实现方案(附功能截图+表结构)
- java中的消息提示框
- Fiddler模拟网络波动_xing2516_新浪博客
- Javascript Yielding Processes 定时器数组分块技术
- java求矩阵的逆矩阵_Java逆矩阵计算
- PDF转换器 将各种文件格式与PDF来回转换
- 启动定时器t0的工作指令是_80c51单片机定时器t0工作于方式1定时时间1ms当晶振为6mhz时求计数初值为多少...
- Java B组蓝桥杯第十届国赛:大胖子走迷宫