怎么设置wifi不被蹭网,万能钥匙也打不开,无线网如何防止万能钥匙蹭网

  怎么设置wifi不被蹭网,万能钥匙也打不开,无线网如何防止万能钥匙蹭网

  首先,WiFi Protected Access有两个认证标准,WPA WPA2,这是一个保护无线电脑的网络安全系统。

  使用:路由器TP_link(AP)访问站计算机。

  您必须首先将路由器配置为使用WPA/WPA2-PSK身份验证类型。

  加密算法AES的设置

  设置密码短语

  目前网上的一些解释和书籍比较苦涩难懂,或者有错误。下面总结一下我的理解。

  大致分为两个过程。一个是与AP-Station相关的,另一个是认证过程。

  相关处理AP发送信标广播分组并指示其SSID。

  接下来,AP和客户端关联并发送四个认证管理帧。

  1)客户端收到Becon数据包后,发送认证请求。

  2) AP响应认证请求

  )3)客户端发送相关请求包。

  (4) AP响应相关请求

  现在,客户端和AP已经关联了。接下来,握手四次,建立联系。

  这里用的是EAPOL。

  基于EAPOL协议的消息下图显示了数据包的字段。

  下图显示了《Kali Linux 无线网络渗透详解》-wjdxb到

  解释每个字段的含义。

  其中,四次握手中的关键字段包括:

  

MIC(Message Integrity Code)

:消息完整性代码

  检查数据是否被篡改,MIC Key等字段的PSK是否计算正确。

  

Replay Counter

:前两个握手请求和响应对是1,后两个是2。

  由3358www.Sina.com/:站产生的随机数

WPA Key Nonce

AP产生随机数

SNonce

  重要密钥http://www . Sina . com/(pairwisesharedkey):预共享密钥是用于验证L2TP/IPSec连接的Unicode字符串。使用前,请使用安全通道在双方之间共享。预分配的密钥仅用于身份验证过程,不用于数据加密过程。

  3558 www . Sina . com/(pairwise master key):成对主密钥是申请人和认证者之间所有密钥数据的最终来源。PMK可以直接从预共享密钥(PSK)或主会话密钥(MSK)中导出。如果PMK导出MSK,PMK计算将使用函数l(PSK,0,256),这是MSK的前256位。

  它可以从验证过程中的EAP方法获得,也可以直接由PSK提供。认证者用来生成组临时密钥(GTK)的密钥通常是由认证者生成的随机数集。

  在WPA-PSK中,PMK=PSK是整个WPA认证过程中非常重要的密钥。

  3558 www . Sina . com/(pairwisetransientkey):加密和完整性协议中使用的密钥,传递动态密钥所需的密钥和最终用于加密单播数据流的加密密钥。

  如果WPA采用TKIP加密,PTK就是512位=64字节=128个十六进制字符串(比较常见)

  如果WPA由CCMP加密,PTK就是384位。

  下图显示了PTK的配置。

  通过TKIP议定书

  这三个领域也很重要。

  3358 www . Sina . com/(KeyConfirmionKey):128用于计算bitswpaeapol密钥消息的MIC本质上是MIC_KEY

  3558 www . Sina . com/(keyencryptionkey):128位用于加密发送给客户端的其他数据(WPA Key数据字段))。

  358 www.sina.com/(临时密钥):256位用于加密后续通信数据。

  通过CCMP议定书(此处不详述))

  3558 www . Sina . com/(group master key):组主密钥

  3558 www . Sina . com/(group temporalkey):组临时密钥由组主密钥(GMK)通过哈希运算生成,用于加密广播和组播数据流。

  **

  验证前的初始化任务PSK/PMK使用Wi-Fi的

ANonce

PSK

。Wi-Fi密码)

  和基于口令的关键字推导功能2 (pbkdf2))。

  PSK=PMK=PBKdf2(密码,SSID,SSID长度,4096)).

  python中的计算需要导入

  从pbk df 2导入pbk df 2的计算步骤如下

  需要(demand的缩写)

  Fcalculate _ WPA _ PMK (PSK,SSID): PMK=PBKDF2 (PSK,SSID,4096)。阅读(32)返回PMK认证过程-四次握手

目的

  1)验证Wi-Fi密码

  2)用于后续通信的加密密码的计算。

  

流程

  

第一次握手 AP -- 客户端 Station

  AP立刻广播它自己的数据包和随机数。

  ————————————————————————————————

  

第二次握手 客户端Station -- AP

  客户端(工作站)在收到AP的第一个握手数据包后立即获得SSID AP_MAC(AA)。

  使用以下方法开始计算自己的PTK:

  1)立即生成您自己的随机数

  2)使用PRF512算法

  PTK=SHA1_PRF(PMK,伦(PMK),”成对密钥扩展",Min(AA,SA) Max(AA,SA) Min(ANonce,SNonce) Max(ANonce,SNonce))

  3)计算最低抑菌浓度

  从PTK中提取前16个字节组成一个麦克风键(32个16进制位)即PTK中的北京新兴超越离合器

  使用第一次握手包中的整个802.1X报文体(

需要将WPA Key MIC 字段部分替换成0

) 和麦克风键以及HMAC_MD5算法计算最低抑菌浓度值

  使用求讯息摘要5哈希值的方法:

  MIC=HMAC_MD5(MIC_KEY,16,802.1X数据)

  最后客户端发送的握手包中包含以下关键值

  产生的随机数嗅觉上的——335353435

  

第三次握手 AP -- 客户端 Station

  美国联合通讯社(美联社)接收到客户端的第二次握手包之后

  得到客户端的STATION _ MAC(SA)sn once MIC 802.11 x数据

  (1)用以前得到的PMK(初始设置),ANonce按照同样的算法产生PTK

  (2)按照上述同样的方法产生最低抑菌浓度值

  最后发送的握手包中包含以下关键值:

  加密后的主题加密的密钥为KEK

  麦克风(消息完整性校验码)

  第一次产生的随机数匿名给客户端(车站)

  ————————————————————————————————

  

第四次握手 客户端Station -- AP

  客户端接收到第三次握手包包含麦克风匿名

  如果自己的最低抑菌浓度等于美国联合通讯社(美联社)发送过来的麦克风,则第四次握手成功否则失败

  会将计算出来的TK(PTK的最后一段)安装到系统,作为后续的通信加密密钥

  最后一次握手向美国联合通讯社(美联社)发送确认信息,表示密钥已经安装完毕,

  ————————————————————————————————

  美国联合通讯社(美联社)收到该通信包之后,会进行密钥安装。

  至此,双方的密钥安装全部结束,后续通信中按照前面步骤中的密钥进行通信。

  测试代码

计算PTK

  def customPRF512(key,A,B):blen=64 I=0 R= while I=((blen * 8 159)/160):msg=A chr(0x 00)str(B)chr(I)hmac sha 1=hmac。new(key,bytes(msg,encoding=utf-8 ),hashlib。sha1)I=1 R=R str(hmacsha 1。digest())返回字节(R[:blen),编码=utf-8)#

  # return MIC in hex string def calculate _ WPA _ MIC(ptk,payload):MCI _ Key=ptk[:16]payload _ bytes=bytes(payload,encoding= utf-8 )MIC=hmac。new(MCI _ Key,payload _ bytes,hashlib.sha1).hexdigest()[:32] return MIC常见错误类型错误:Unicode-objects必须在hashingTypeError之前编码:只能将str(不是"字节")连接到潜艇用热中子反应堆(submarine thermal reactor的缩写)在《Understanding WPA/WPA2 Hash (MIC) Cracking Process In Python》 中给出了计算PTK的方法

  def customPRF512(key,A,B):blen=64 I=0 R= while I=((blen * 8 159)/160):hmac sha 1=hmac。new(key,A chr(0x00) B chr(i),hashlib。sha1)I=1 R=R hmacsha 1。digest()返回R[:blen]然而python3版本以上会出现以上两个问题

  

计算 MIC 值

  第一个:A chr(0x00) B chr(i)是字符串潜艇用热中子反应堆(海底热反应堆的缩写)需要转换成字节字节

  第二个:hmacsha1.digest()得到的是字节需要转换成潜艇用热中子反应堆(海底热反应堆的缩写)才能进行字符串的拼接

  

原因

  计算机编程语言中字符串与字节之间相互转换

  字符串转字节字节字符串

  "你好,世界!"# str objectstr.encode(b)字节(b,编码=utf8 )字节转字符串字符串字节

  你好,世界!bytes.decode(a)str(a,encoding=utf-8)a.decode()同时附上字节和十六进制字符串之间的相互转换的方法

  data _ bytes=b x820 XB 100 x03 xc3 xb4 strr= 8230 b 1303003 c3b 4 tmp=data _ bytes。hex()num=字节。来自十六进制(strr)引用引用一引用2引用3引用四

怎么设置wifi不被蹭网,万能钥匙也打不开,无线网如何防止万能钥匙蹭网