转自:http://zhaoxiaobu.blog.51cto.com/878176/407130/

不管是用WEP加密,还是用WPA,一般如果我们要和AP建立一个连接,要经过两个阶段认证(Authentic)和关联(Association)的过程,下面我只说说WEP加密的情况下,是如何和AP建立连接的(WPA的基本原理是差不多的,但加密算法比WEP的复杂)。
如果采用WEP加密,我们会有两种选择(开放式和共享式),如果选择开放式,那AP和客户端的认证过程是在关联过程之后的,也就是说,不需要正确的密码,就能连接上AP,但你无法传输数据(会显示连接受限,具体看我以前的帖子),所以这个我们也不讨论。
如果我们采用WEP加密,而且,又选择了共享式,那要想和AP建立连接,就会有四次握手(4-way-handshake)的过程:
 第一次握手:客户端发送认证请求给AP,如下图

我们图中的内容,前面的内容是帧(frame)控制头,里面记录了源地址,目的地址等信息,IEEE 802.11 wireless LAN management frame说明这是802.11的管理帧,下面有6个字节的参数,Authentication Algorithm是用来确定是开放式或者是共享式(1共享式,0开放式),我们这里是共享式,Authentication SEQ说明四次握手的步骤,现在是第一次握手,说以是1,最后的status code是状态码,现在是成功。

第二次握手:AP收到请求后,发送一个认证响应帧,里面包含一个128字节的随机数列,如下图

我们再看AP的请求响应帧,里面的Authentication  SEQ已经变成2了,状态也是成功,但帧的最后,我们发现了128字节的随机数列。
第三次握手:客户端收到AP的响应帧后,用自己的密钥加3个字节的IV,用RC4算法,产生加密流,用异或操作加密128字节的随机数列,然后发给AP,如下图

我们看到,这个帧比较特殊,我们看不到序列号,而是多了一个Initialization Vector(初始向量)这个就是我们经常说的IV(注意是明文的,没有加密),最后data中的内容就是加密后的随机数列
第四次握手:AP用自己的密钥加客户端发过来的IV,用RC4算法,产生加密流,用异或操作加密那段随机数列(challenge text),如果客户端的密钥和AP的密钥相同,那么,两端加密后的数据应该是相同的。如下图:

最后一次握手的序列号是4,状态是成功,到此,四次握手的过程就全部完成了。

看完上面的内容,我想大家发现了一个问题,在WEP加密方式下,AP和客户端认证的过程中,challenge text和加密后的数据都是可以得到的,而且3个字节的IV也是明文的,而WEP采用的,只是简单的异或运算:明文(异或)加密流=密文,而异或运算是可逆的,也就是说,密文(异或)明文=加密流。

本文出自 “赵小布的博客” 博客,请务必保留此出处http://zhaoxiaobu.blog.51cto.com/878176/407130

 

wifi 4次握手的更多相关文章

  1. bt和wifi的共存

    转自:http://bbs.52rd.com/Thread-291892-1-1.html 蓝牙和802.11b/g/n都可能工作在2.4GISM,可能互相干扰.干扰的典型应用之一是VOIP,用手机的 ...

  2. WiFi广告强推的基本技术原理和一些相关问题

    WiFi推原理(转) 本文地址:http://jb.tongxinmao.com/Article/Detail/id/412 WiFi广告强推的基本技术原理和一些相关问题 WiFi广告推送原理就是利用 ...

  3. 使用macbook破解WPA/WPA2 wifi密码

    文本仅供学习交流. 我使用的系统是macbook pro 15: 安装aircrack-ng 使用homebrew安装,命令: brew install aircrack-ng 抓包-抓取带密码的握手 ...

  4. wifi钓鱼

    无线网络的加密方式和破解方式 1.WEP加密及破解 1).WEP加密方式 有线等效保密(wired euivalent pricacy,WEP)协议的使用RC4(rivest cipher4)串流加密 ...

  5. kali由wifi握手包破解密码&&gnuplot使用

    1.kali密码破解(WiFi握手包) cap包密码破解,aircrack-ng wifi.cap -w psw.txt(你的字典文件) 2.画图工具gnuplot 1.txt中保存的是坐标,形式为: ...

  6. Android WiFi 日志记录(四次握手)

    记录一下四次握手的log. PMK: PMK(Pairwise Master Key,成对主密钥 STA和AP得到PMK后,将进行密匙派生以得到PTK.最后,PTK被设置到硬件中, 用于数据的加解密. ...

  7. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  8. 实战-Fluxion与wifi热点伪造、钓鱼、中间人攻击、wifi破解

    原作者:PG     整理:玄魂工作室-荣杰 目录: 0x00-Fluxion是什么 0x01-Fluxion工作原理 0x02-Kali上安装fluxion 0x03-Fluxion工具使用说明+实 ...

  9. 运用Fluxion高效破解WiFi密码

    Fluxion是一个无线破解工具,这个工具有点像是Linset的翻版.但是与Linset比较起来,它有着更多有趣的功能.目前这个工具在Kali Linux上可以完美运行. 工作原理 1.扫描能够接收到 ...

随机推荐

  1. [codevs1155][KOJ0558][COJ0178][NOIP2006]金明的预算方案

    [codevs1155][KOJ0558][COJ0178][NOIP2006]金明的预算方案 试题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴 ...

  2. 剑指Offer 树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构)     思路: 分为2个部分.1先找出A中和B根节点相同的节点r. 2,咱判断B中所有孩子节点是不 ...

  3. HDU 3549 网络最大流再试

    http://acm.hdu.edu.cn/showproblem.php?pid=3549 同样的网络最大流 T了好几次原因是用了cout,改成printf就A了 还有HDU oj的编译器也不支持以 ...

  4. BSON 1.0版本规范(翻译)

    BSON 1.0版本规范 本文翻译自 http://bsonspec.org/spec.html BSON是用于存储零个或多个键/值对为一个单一的实体的一个二进制格式.我们称这个实体为文档(Docum ...

  5. @ResponseBody返回不能正确接收

    Spring-MVC中@ResponseBody返回Bean到前台接收这么一串代码,还套着HTML标签: The resource identified by this request is only ...

  6. 如何发布及部署asp.net网站

    用vs开发完asp.net网站之后如何发布到服务器上去变成正式网站? 1.发布首先需要发布网站,这个步骤就是生成正式网站的目录(把源代码编译成.cs代码文件编译成.dll文件)详细步骤:http:// ...

  7. devstack两次以上重装提高成功率的方法

    1) /opt/stack/requirements/ git reset --hard 2) rm -rf /usr/local/lib/python2.7/dist-packages/*

  8. 08.01 签到! js 作用域

    js 作用域 : 1.js 没有块作用域 : for (var i = 0;i < 4; i++){ } alert(i) // i = 3 2.js 没有动态作用域: function f1( ...

  9. poj 3268(spfa)

    http://poj.org/problem?id=3268 对于这道题,我想说的就是日了狗了,什么鬼,定义的一个数值的前后顺序不同,一个就TLE,一个就A,还16MS. 感觉人生观都奔溃了,果然,题 ...

  10. FFmpeg 官方 20160227 之后 追加 libmfx 无法在 xp 上运行的解决方法

    修改三个地方 _wfopen_s _wfopen strncpy_s strncpy swscanf_s swscanf 下载 fixffmpeg.7z, fixff.cmd FixFFmpeg.ex ...