Android wifi | 您所在的位置:网站首页 › wifi设置shared是什么意思 › Android wifi |
Android wifi — WiFi空口包交互过程
0. 前言1. 探测阶段1.1 Probe Request1.2 Probe Response
2. 认证阶段2.1 Authentication Req2.1.1 Shared Key2.2.2 Open System2.2.3 对比Shared Key & Open System
3. 关联阶段3.1 Association Request3.2 Association Rsponse
4. EAPOL
0. 前言
本文通过抓取的WiFi空口包,简要分析下WiFi的连接过程。 连接三步骤 探测(Probe Request、Probe Response)认证(Authentication)关联(Association Request、Association Response)如下图可见,WiFi连接过程可大致分为 探测/扫描(Probe)-> 认证(Authentication) -> 关联(Association) -> EAPOL 四个阶段。其中EAPOL不是必要阶段,当加密方式为none或wep时,没有此阶段。下面逐一分析各个阶段。 STA 发送 Probe Req 帧,携带 SSID 表明欲加入的网络,携带 Supported Rates 表明自身的能力。 AP 回复 Probe Rsp 帧,这是 AP 的义务,(AP 允许此 STA 连接的情况下)也携带 Supported Rates 表明自身的能力。 作用:STA 获取 AP 的能力,决定要不要加入该网络;AP 获取 STA 能力,并根据自身情况决定要不要让该 STA 加入自身网络。 打个比方:STA 好比应聘者, AP 好比公司。应聘者投简历表明自己想要进入哪家公司,同时简历上面写上自己的能力。公司收到简历后,考虑还需不需要招人以及该应聘者能力情况,决定要不要准备招收该应聘者。如果准备招收,则公司也将自身的一些能力情况介绍给该应聘者,毕竟双向选择嘛。如果决定不接收,则回复拒绝,当然公司会稍微委婉点:回去等通知。 1.1 Probe Requeststa主动发送Req包,表明想加入的网络,以及通过Supported Rates表明自身的能力。 AP收到Req帧后,会回复Rsp帧,这是AP的义务(AP允许此sta连接的前提下),且通过Supported Rates表明自身能力。 Sta 收到Rsp帧,根据自身能力及AP能力,决定要不要加入此网络,若决定加入,则发送 Auth 帧进行身份认证,否则流程结束。此流程共有两个帧: 2.1 Authentication Reqsta 通过Authentication Req帧表明自己的认证算法类型:0 -> Open System; 1 -> Shared Key。 Shared Key 方式即代表 WEP加密方式,Open System即代表 TKIP/WPA/WPA2方式。 2.1.1 Shared Key使用Shared Key方式,是真实的认证过程,此时,没有第四阶段EAPOL。Auth认证共有四步: Auth seq#1:由 STA 发起认证请求,携带认证算法类型:Shared Key Auth seq#2:AP 回复一个挑战明文(challenge text ) Auth seq#3:STA 使用预设密钥对挑战铭文进行加密,然后发送给 AP Auth seq#4:AP 收到后,使用密钥对收到的消息进行解密,如果解密成功且明文一致表示认证成功,回复 successful 2.2.2 Open System使用Open System方式,认证过程放到最后的EAPOL阶段,Auth只有两步: Auth seq#1:由 STA 发起认证请求,携带认证算法类型:Open System Auth seq#2:AP 直接回复 successful,因为真正的身份认证会放在 EAPOL 阶段
STA 收到认证通过报文后,决定要加入当前网络,就会发送 Assoc Req 帧。指明要加入的网络的类型、自己的 Listen Interval(聆听间隔,即 STA 多久聆听一次 Beacon 帧,以监听 TIM 信息)和一些能力信息。 AP 收到 Assoc Req 帧后,最终确认 STA 的 Listen Interval 自己能不能接受,能力信息是否匹配,如果一切 OK,回复 Assoc Rsp 帧,携带 AID(Association ID) 和 successful 信息,表明关联成功。否则,回复 Assoc Rsp 帧,携带 failed 信息,表明关联失败,同时 AP 也会从 mac table 中删除此 STA。 接上个比方:如果应聘者收到了 offer,并且也决定要去这家公司,则该应聘者会去公司报到,同时携带自身体检报告。公司接待该应聘者,如果体检报告不合格,公司最终也可以决定不接收该应聘者。如果体检报告合格,公司则会给该应聘者办理入职手续,并且给该应聘者分配一个工号,从此该应聘者便是公司的一员了。 3.1 Association Request如果采用的是 Shared Key 方式,即 WEP 加密方式,认证已在 Auth 阶段完成,完成上述关联阶段即已正式加入网络,后续可以通过密钥对消息加解密和 AP 进行正常通信了。 如果采用的是 Open System 方式,即 TKIP/WPA/WPA2 方式,在 Auth 阶段其实没有进行身份认证的工作,在 Auth 阶段就决定把身份认证的工作放在当前 EAPOL 阶段了。所以此种方式下,要进行 EAPOL 步骤,常见的就是 4-way handshake,当然还有 2-way-handshake。此处只讨论 4-way handshake,如下 部分名词解释如下: PTK 就是加密用的密钥。 PRF 可以简单理解为 sha1 算法。 AA 是 Authenticator(认证者) 的 MAC 地址。 SA 是 Supplicant(申请者)的 MAC 地址。 ANonce 是 Authenticator 产生的随机字串。 SNonce 是 Supplicant 产生的随机字串。 PMK 是由密码和 SSID 信息生成的密钥,如果 STA 和 AP 拥有相同的密码,则此密钥值也会相同,反之也成立。 step 1:AP 首先发送 Message 1,包含 ANonce![]() ![]() ![]() 接上个比方:WEP 相当于采用的是社招的方式,前期对招聘者就进行了严格的面试筛选,只有合格的才被录取,入职之后不会再进行淘汰。WPA 则相当于采用的是校招的方式,前期不刷人,想来实习的都可以进来,不过进来后会进行筛选,不合格的一样会被淘汰,并且,进入公司工作后,有更完整的制度、更全方位的考察,更能保证留下来的都是精英(WPA 比 WEP 更加安全)。 |
CopyRight 2018-2019 实验室设备网 版权所有 |