wifi 4次握手
转自: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次握手的更多相关文章
- bt和wifi的共存
转自:http://bbs.52rd.com/Thread-291892-1-1.html 蓝牙和802.11b/g/n都可能工作在2.4GISM,可能互相干扰.干扰的典型应用之一是VOIP,用手机的 ...
- WiFi广告强推的基本技术原理和一些相关问题
WiFi推原理(转) 本文地址:http://jb.tongxinmao.com/Article/Detail/id/412 WiFi广告强推的基本技术原理和一些相关问题 WiFi广告推送原理就是利用 ...
- 使用macbook破解WPA/WPA2 wifi密码
文本仅供学习交流. 我使用的系统是macbook pro 15: 安装aircrack-ng 使用homebrew安装,命令: brew install aircrack-ng 抓包-抓取带密码的握手 ...
- wifi钓鱼
无线网络的加密方式和破解方式 1.WEP加密及破解 1).WEP加密方式 有线等效保密(wired euivalent pricacy,WEP)协议的使用RC4(rivest cipher4)串流加密 ...
- kali由wifi握手包破解密码&&gnuplot使用
1.kali密码破解(WiFi握手包) cap包密码破解,aircrack-ng wifi.cap -w psw.txt(你的字典文件) 2.画图工具gnuplot 1.txt中保存的是坐标,形式为: ...
- Android WiFi 日志记录(四次握手)
记录一下四次握手的log. PMK: PMK(Pairwise Master Key,成对主密钥 STA和AP得到PMK后,将进行密匙派生以得到PTK.最后,PTK被设置到硬件中, 用于数据的加解密. ...
- Kali对wifi的破解记录
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...
- 实战-Fluxion与wifi热点伪造、钓鱼、中间人攻击、wifi破解
原作者:PG 整理:玄魂工作室-荣杰 目录: 0x00-Fluxion是什么 0x01-Fluxion工作原理 0x02-Kali上安装fluxion 0x03-Fluxion工具使用说明+实 ...
- 运用Fluxion高效破解WiFi密码
Fluxion是一个无线破解工具,这个工具有点像是Linset的翻版.但是与Linset比较起来,它有着更多有趣的功能.目前这个工具在Kali Linux上可以完美运行. 工作原理 1.扫描能够接收到 ...
随机推荐
- [codevs1001]舒适的路线
[codevs1001]舒适的路线 试题描述 Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N(1<N≤500)个景点(编号为1,2,3,-,N),这些景点被M(0 ...
- 如何预览github中的html页面
在github里面的文件路径是https://github.com/gavin125/Sass-test/blob/master/html/index.html 那么我们需要在这个地址前面加上http ...
- PHP中interface与 implements 关键字
类中接口的应用 1.关键字:interface 2.关键字:implements 1.接口的介绍与创建 接口:一种成员属性全部为抽象或常量的特殊抽象类. 规则: 1.类中全部为抽象方法. 2.抽象方法 ...
- c_水程序
* ** This program reads input lines from the standard input and prints ** each input line, followed ...
- POJ 3281 网络流dinic算法
B - Dining Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...
- 11.6---矩阵查找元素(CC150)
思路,一旦提到查找就要想到二分查找. public static int[] findElement(int[][] a, int n, int m, int key) { // write code ...
- phpmyadmin上传大sql文件办法
进入php5文件夹下: cd /etc/php5/apache2 #根据你当时的配置选择,比如之前配置是apache2就进入apache2,如果是cli就进入cli文件夹下 打开php.ini文件 s ...
- openstack 常用命令
转自: docs.openstack.org $ nova boot --image ubuntu-cloudimage --flavor 1 --user-data mydata.file
- 【GoLang】GoLang 中 make 与 new的区别
make.new操作 make用于内建类型(map.slice 和channel)的内存分配.new用于各种类型的内存分配. 内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零 ...
- Java 中常用缓存Cache机制的实现《二》
所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例.这样做可以减少系统开销,提高系统效率. AD: Cache 所谓缓存,就是将程序或系统经常要 ...