请先登录
您需要 登录 才可以下载或查看,没有帐号?立即注册
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()函数中:
仔细看代码可以发现其中对如challenge text ,status code,长度是否为空进行判断 .
|