[求助]wpa2的问题
发表于:
2017-11-19 16:53
2120
最近在测试 wpa2的程序,具体如下:
============ client部分: ============ STA:程序实现
AP:测试用的无线路由器
程序实现的内容: probe_request
authentication_request
association_request
handshake_message_2
handshake_message_4
测试过程: 4次握手完成,发送 broadcast_frame 和 dns_udp_packet 都得到“测试用的无线路由器”的回应,在wireshark中的解密看到数据包。
过程描述: 我自己写的数据包,在程序中是可以正常发送的,但如果是使用“浏览器(如:firefox)”打开某个网址(比如:www.163.com),则不能得到正确的回应,具体点,通过wireshark,没发现浏览器的数据包。换种方式,不用我的程序,使用ubuntu自带的wifi客户端(即ubuntu界面右上角的wifi选择程序,选择“测试用的路由器的ssid”),则,浏览器的数据包可以成功发送到“测试用的路由器”处,并成功上网。
即:
通道1:ubuntu自带的wifi客户端 ——> 测试用的路由器
通道2:我写的程序(client部分)——> 测试用的路由器
上面的问题可以简单概括为:对于浏览器的输出(比如生成的 http 数据包),在只有“通道2”的情况下,它不会走“通道2”。
问题: 之后的测试我发现,问题的根本是我写的程序(client部分)并没有获得 浏览器输出的 http数据包,我想请教:在linux下,如何获得“浏览器输出的数据包”?
============ server部分: ============ STA:测试用的android手机
AP:程序实现
程序实现的内容 :
beacon
probe_response
authentication_response
association_response
handshake_message_1
handshake_message_3
测试过程: 4次握手完成,发送 arp_request_frame(单播) 给STA是成功的(在wireshark中的解密看到数据包),但是 STA 没回应。
过程描述: ================================================
STA AP
-------------------------------------------------------------------------------------
—— handshake_mesg_4 ——>
<————— ack ——————
———— null function ————>
<—— action response ———— 备注1
————action delete ————> 备注2
================================================
备注1:03 01 73 00 00 02 02 00 00(Action code: Add Block Ack Response (0x01))
备注2:03 02 00 08 26 00(Action code: Delete Block Ack (0x02))
对于 action delete,wireshark的注解:Reason code: Requested from peer STA as the STA received frames using the mechanism for which a setup is required (0x0026)
问题: 使用测试用的android手机(STA),通过它自带的wifi连接程序,选择“测试用的ssid”(beacon frame),通过 wireshark的监测,4次握手是成功的,但后面发送 arp_request后“没有”获得STA的 arp_reply,且STA发来的action delete,似乎连接并未建立(但是wireshark的监测是可以解密我的arp_request数据包的,且STA也发来了 handshake_mesg4),为何?
[注意]APP应用上架合规检测服务,协助应用顺利上架!