对于AP中为什么有4个WEP KEY的分析
这篇文章简要分析一下为什么有4个WEP KEY,及其中的一些原因。
SPEC
用过AP的都知道,AP中有4个WEP KEY,但是为什么要设置4个呢,这个是WEP帧的格式决定的:
图中的keyid是2个比特,可以代表4个keyid,也就是对应AP中的4个keyid,若是AP和STA设置的不一样,就会连不上。
抓个包来看下吧(用一块便宜的网卡):
根据AP的设定:
下面是所抓的包:
这里可以对应起来了。
AP
有兴趣的话可以看下TPLINK写的文档:
http://service.tp-link.com.cn/detail_article_12.html
从图中可以看到AP中的四个栏位。
这里为什么有16进制和ASCII码呢,
总的来说有两种模式:
Standard - 24 + 40 = 64 bit RC4 key
Vendors - 24 + 104 = 128 bit RC4 key
24bit是key的IV
STA
下面是win7下面的截图,说明选择key index是不可避免的:
下面以linux为例,解析一下linux里面是怎么做的
先给出wpa_supplicant 的配置文件:
# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
# IEEE 802.11 authentication
#network={
# ssid="static-wep-test2"
# key_mgmt=NONE
# wep_key0="abcde"
# wep_key1=0102030405
# wep_key2="1234567890123"
# wep_tx_keyidx=0
# priority=5
# auth_alg=SHARED
#}
这里的wep_tx_keyidx就是KeyID,然后里面有分别三个wep key。
以mac80211的linux driver为例,若这里只填一个wep_key0的时候,上层调用的set_key接口会分别set 4个key
分别是wep_key0,0,0,0 为什么有三个都是0呢,因为这里没有填其他3个,默认是空的key。当你四个都自己填好之后,set_key就会将
4个key分别传递到driver,同时,也会将key的index告诉driver,让driver将key放到对应的硬件的四个栏位里面。
这里有这样一个现象,当你的keyindex和密码填错时,有时候会一直尝试重连,有时候虽然连接成功了,但是dhcp包会一直TX不出去。
当然了,这里不推荐使用WEP,但是厂商为了做兼容性也只能每次都将WEP的支持考虑进去。
对于AP中为什么有4个WEP KEY的分析的更多相关文章
- SAP 标准单价、移动单价在 AP 中的影响--(详细)
今天我将向大家介绍下SAP中两种单价模式在系统中所产生的影响,先主要讲讲在AP中影响,它主要有两个方面产生影响(物料收货migo,发票校验miro). 演示背景(假设以下都为本位币交易): 库存(单价 ...
- Credit Memo和Debit Memo在AR以及AP中的概念比较
AR和AP中都有Credit Memo和Debit Memo的概念, 但是其含义和用法完全不一样,比较难懂,现在整理如下:AR中的CreditMemo和DebitMemo是和客户打交道:AR中的Cre ...
- UWP中新加的数据绑定方式x:Bind分析总结
UWP中新加的数据绑定方式x:Bind分析总结 0x00 UWP中的x:Bind 由之前有过WPF开发经验,所以在学习UWP的时候直接省略了XAML.数据绑定等几个看着十分眼熟的主题.学习过程中倒是也 ...
- foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
http://zhangxiong0301.iteye.com/blog/2242723 最近有个需求,就是使用mybatis时,向mysql中插入数据,其参数为map类型,map里面的key为列名, ...
- Android中Preference的使用以及监听事件分析
在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局.当然,凡事都有 ...
- 【原创】【ViewPager+Fragment】ViewPager中切换界面Fragment被销毁的问题分析
ViewPager中切换界面Fragment被销毁的问题分析 1.使用场景 ViewPager+Fragment实现界面切换,界面数量>=3 2.Fragment生命周期以及与Activ ...
- 转载【ViewPager+Fragment】ViewPager中切换界面Fragment被销毁的问题分析
ViewPager中切换界面Fragment被销毁的问题分析 原文链接 http://www.cnblogs.com/monodin/p/3866441.html 1.使用场景 ViewPager+ ...
- android中使用jni对字符串加解密实现分析
android中使用jni对字符串加解密实现分析 近期项目有个需求.就是要对用户的敏感信息进行加密处理,比方用户的账户password,手机号等私密信息.在java中,就对字符串的加解密我们能够使用A ...
- Mysql中Insert into xxx on duplicate key update问题
要点:Insert into xxx on duplicate key update可以在唯一索引重复的情况下,进行更新操作. (1) 插入里边的字段应该只有一个 唯一索引: ...
随机推荐
- Scrum不是万能药,要在时机成熟时推行
敏捷很火热,大家都在谈敏捷:但不是所有团队都适合敏捷! 需要等待时机,时机成熟了,才推! 什么时候算时机成熟呢? 我们的经验是需要两点: 一.团队有三名或以上的研发工程师 : 二. 团队内有一名合适的 ...
- INFORMATICA 的部署实施 MTP&MTS
软件开发的一般都有三个环境,开发环境,用户接受度测试环境,生产环境.我最近实施了从开发环境到生产环境的部署工作,在此跟大家分享一下. 大概步骤如下: 1 备份生产环境INFORMATICA 知识库 ...
- ehcache入门
一.简介 ehcache是一个开源的,纯java进程内的缓存框架.它具有快速,简单,具有多种缓存策略等特点. Hibernate中默认就是用了ehcache.在我们的应用中使用ehcache可以快速地 ...
- PPT制作教程:如何制作ppt
PowerPoint(PPT)是专门用于制作演示文稿(俗称幻灯片).广泛运用于各种会议.产品演示.学校教学等.学会如何制作ppt,成为提升工作效 率的好帮手.PPT包含有很多的功能,我们可以根据个人喜 ...
- 设计模式C#实现(五)——抽象工厂模式
抽象工厂模式 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类. UML类图: 场景:抽象村商店想销售Pizza和Hamburg等多种商品,而在美国店和中国店要出售本土化的口味 ...
- linux命令详解之挂载光驱的方法
linux的硬件设备在/dev目录下,光驱也是其中./dev/cdrom表示光驱,挂载光驱的方法如下(以root身份): 代码如下: mkdir /mnt/cdrommount -t auto - ...
- 【温故而知新-Javascript】为DOM元素设置样式
1. 使用样式表 可以通过document.styleSheets属性访问文档中可用的CSS样式表,它会返回一组对象集合,这些对象代表了与文档管理的各个样式表. 每个样式表 都由一个CSSStyleS ...
- 边工作边刷题:70天一遍leetcode: day 84
Flatten 2D Vector 要点: 这题是2d的iterator,一般对于1d的情况,hasNext()是不需要做移动的.而2d不同,core iterator是j向的,而i向要在hasNex ...
- POJ 2449 Remmarguts' Date --K短路
题意就是要求第K短的路的长度(S->T). 对于K短路,朴素想法是bfs,使用优先队列从源点s进行bfs,当第K次遍历到T的时候,就是K短路的长度. 但是这种方法效率太低,会扩展出很多状态,所以 ...
- 关于jQuery的一些实用代码
(1)修改默认编码:(将默认的utf-8,修改为GB2312) $.ajaxSetup({ ajaxSettings:{contentType:"application/x-www-from ...