CaryStudio

 找回密码
 立即注册
搜索
查看: 1631|回复: 0

atheros无线驱动之:管理帧:认证帧

[复制链接]
发表于 2017-11-18 10:37:53 | 显示全部楼层 |阅读模式

请先登录

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
1:认证帧的组成
看看80211协议上面对帧的组成的说明如下:

                               
登录/注册后可看大图

先看看在认证模式为:open时,认证帧的格式:认证请求和认证响应。

                               
登录/注册后可看大图

响应帧

                               
登录/注册后可看大图

有上面的俩个帧的格式可以看出:使用的认证算法为:0,seqNum分别为:1和2.
##################################################################################
share模式,在看share模式之前先看看协议的“8.2.2.3 Shared Key authentication” 在此接使用了四个帧来完成WEP的认证过程。其中涉及到前面提到的seqNUM和challenge text。看看下面copy的过程。

                               
登录/注册后可看大图



                               
登录/注册后可看大图

第一包:

                               
登录/注册后可看大图


第二包:其中包含了challenge text 字段信息。

                               
登录/注册后可看大图

第三个数据包,此包已经加密:

                               
登录/注册后可看大图

AP对STA的进行解密,判断密钥是否正确。

                               
登录/注册后可看大图

其中seqNUM的定义如下:
enum {
    IEEE80211_AUTH_SHARED_REQUEST   = 1,
    IEEE80211_AUTH_SHARED_CHALLENGE = 2,
    IEEE80211_AUTH_SHARED_RESPONSE  = 3,
    IEEE80211_AUTH_SHARED_PASS      = 4,
};
在前面的文章中可以,在函数ieee80211_input()函数中会后就会对接受到的三大数据包格式进行处理。由于认证属于管理帧,故在函数:
ieee80211_recv_mgmt()----->ieee80211_recv_auth()------>ieee80211_mlme_recv_auth()---->mlme_auth_shared()----->ieee80211_send_auth()
mlme_recv_auth_ap()函数中:
ru

                               
登录/注册后可看大图

仔细看代码可以发现其中对如challenge text ,status code,长度是否为空进行判断 .

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|CaryStudio ( 粤ICP备16022806号 )

GMT+8, 2023-6-8 10:04 , Processed in 0.091222 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表