转自: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. [POJ1151]Atlantis

    [POJ1151]Atlantis 试题描述 There are several ancient Greek texts that contain descriptions of the fabled ...

  2. 内网安全工具之hscan扫描

    工具下载地址:hscan1.2.zip 界面简单,看配置: 这里我们主要需要配置的是模块和参数 模块,按照默认配置就行,取消 check HTTP vulnerability(漏洞检测) 会更快一点. ...

  3. XSS Filter绕过

    之前挖到某金融网站的xss 但是困于xss filter无奈不好下手.只能在火狐下弹窗. 以下该图是我的测试. 后来发给一个Invoker哥们儿.成功给我发来payload成功绕过了XSS Filte ...

  4. 剑指Offer 二叉搜索树的后序遍历序列

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同.   思路: 后续遍历数组的尾部为根节点,前面的部分 ...

  5. HTTP协议与HTTPS协议区别

    HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议:   它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套 ...

  6. BZOJ 2541: [Ctsc2000]冰原探险

    Descrption 有一些矩形障碍,碰到障碍会停下,求从一个点到另一个点的最少移动步数. Sol BFS. 因为题目的特殊性质,两个矩形没有任何相邻,起始点和终点和矩形没有相邻. 所以从一个点的移动 ...

  7. 16 BasicHashTable基本哈希表类(三)——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...

  8. Validform —— 再也不用担心“表单验证”!

    <!doctype html> <html> <head> <meta content="text/html" charset=" ...

  9. dp水题 序列问题 (9道)

    9道题.A了8道,A题看题解也没弄懂怎么维护m段子序列的,过一段时间再回来看看     dp试水 47:56:23 125:00:00   Overview Problem Status Rank ( ...

  10. Python自动化之sqlalchemy复合外键

    复合外键用法 metadata = MetaData(engine) classedu = Table('classedu', metadata, # Column('qq', BigInteger, ...