近日一个朋友新入手一部iPhone 7,却一脸苦恼地跑来找我,说他的iPhone手机无法连接上家里的WAPI网络,他老婆的iPhone 6S也发生同样的问题,请我帮忙给看看。于是我这个半桶水专家就有模有样地带着抓包工具开始分析起问题。
仔细研究发现,朋友家的无线路由器是国内某品牌,使用的是WAPI-Cert安全模式的WLAN网络。用iPhone手机尝试连接该网络, iPhone手机提示:无法加入网络“WAPI-Cert”,如下图1所示:
图1 iPhone手机连接WAPI网络失败
然后用我换成Android手机试着连接,结果居然成功连接。
图2 Android手机连接WAPI网络成功
到底问题出在哪里了?让iPhone没法连接,我决定用带来的抓包工具具体分析一下症结所在。
第一步,先对iPhone手机连接失败的过程进行无线抓包,其结果显示如下:
图3 iPhone手机连接WAPI网络失败过程的无线抓包结果
第二步,作为对比,对我的Android手机的连接成功过程进行无线抓包,其结果显示如下:
图4 Android手机连接WAPI网络成功过程的无线抓包结果
对比图3和图4,可以看到,iPhone手机的WAPI报文只有一个,而Android手机WAPI报文则有很多。
这是什么情况?在这之前需要先科普一下WAPI安全技术的相关知识了。
WAPI,全称为无线局域网鉴别与保密基础结构(WLAN Authentication and Privacy Infrastructure),是我国自主创新的无线局域网安全技术,它采用虎符TePA三元对等安全架构,实现终端与接入点(AP)之间的双向身份鉴别和密钥管理,保障“合法用户访问合法网络”,抵御了中间人攻击和伪造接入点(假AP)等安全威胁,已在国家标准GB 15629.11系列中进行规范。WAPI由WAI和WPI两部分组成,分别实现对身份认证和数据安全传输。
图5 WAPI安全技术示意图
第三步,对WAPI有所了解后,再来分析iPhone手机连接不上的原因,根据我的判断,应该是iPhone手机在执行图5所示的WAI过程时出问题了,这相当于WAPI的鉴别和密钥协商过程没有完成,所以导致本次连接失败。那么正常情况下,WAI过程的报文协议交互流程是怎样的了?待我一一分解,如下图6所示:
图6 WAI过程的报文协议交互流程图
第四步,将WAPI协议交互的流程分别与Android手机成功连接过程及iPhone手机连接失败过程的抓包数据三者一一对应起来,如下图7所示(只分析STA与AP之间的无线协议交互报文):
图7 Android手机成功连接WAPI网络时的报文与协议对照示意图
图8 iPhone手机连接WAPI网络失败时的报文与协议对照示意图
再与iPhone手机连接过程的抓包数据进行对比,分析出什么问题没有?
没错,最关键的问题原来是因为缺少“接入鉴别请求分组”。iPhone手机没有发出这个报文,导致后面的流程走不下去,所以当然连接不上喽。
显而易见,iPhone手机产品实现方面还是有问题的。
本来打算让朋友把这个问题反馈给苹果售后客服,这事就算交差了,奈何我这半桶水专家却意犹未尽,还想继续深挖一下,看看能不能找到问题的根源,也算给苹果做点贡献吧。
于是我找来另一台无线路由器,配置成一模一样的WAPI网络,然后用iPhone手机尝试连接,居然连接成功了。
图9 iPhone手机连接WAPI网络成功
莫非是先前的那台无线路由器有问题?也不对啊,况且Android手机能成功连接。看来问题有点棘手。
没关系,用我带来的抓包工具对iPhone手机连接成功的情景进行抓包分析:
图10 iPhone手机连接WAPI网络成功过程的无线抓包结果
可以看到,WAI协议中的空口报文都抓全了,与之前连接失败时的抓包情况完全不一样。看来只要找到两种情况下的不同之处,就能找到问题的根源。谜底就快要揭晓了,激动ing。
经过细致的对比,终于发现了两种情况下的不同之处,如下图11所示:
图11 iPhone手机连接WAPI网络成功和失败过程的无线抓包对比
可以看到,连接失败时只有一个“鉴别激活分组”报文,而能连接成功时则有超时重发的“鉴别激活分组”报文。保险起见,我又尝试了多次,结果完全相同。
看来问题的根源找到了,可以断定的是iPhone手机有意为之,“故意”不处理无线路由器第一次发来的报文,必须要等无线路由器超时重发之后,它才会响应,也就是说iPhone手机只能连接具备超时重发机制的无线路由器!这是什么道理?在考验路由器么?
问题分析到这里,一切都清楚了,个人认为iPhone手机产品实现方面有问题,iPhone手机不处理无线路由器第一次发来的WAI鉴别激活分组报文,必须等到无线路由器重发此帧才进行响应,并开始后续的动作。但是事实上往往不是所有的无线路由器都会重传此帧,这时iPhone手机将无法连接到此无线路由器上。
当我满心欢喜地从朋友家出来时,却不禁想到一个严肃的问题:以苹果的研发测试能力以及对于产品一丝不苟的态度,怎么会犯这种低级错误呢?要知道这问题可是连我都能分析出来啊!莫非我比苹果那帮老外研发人员还牛?或者苹果公司是故意歧视中国人发明的安全技术,有意为之?真是百思不得其解啊。
近日一个朋友新入手一部iPhone 7,却一脸苦恼地跑来找我,说他的iPhone手机无法连接上家里的WAPI网络,他老婆的iPhone 6S也发生同样的问题,请我帮忙给看看。于是我这个半桶水专家就有模有样地带着抓包工具开始分析起问题。
一天需要调用ffmpeg的库时,需要写一个so文件来调用libffmpeg.so里面的函数,例如该so名字为
libtest.so,成功编译后我把两个so都放在libs/armeabi里面.因为libtest.so里调用了libffmpeg.so的
函数,所以也要把libffmpeg.so放进去.一起打包才能使用.然后我的代码是先loadLibrary了test.所以会
出现Li...
WAP
I(wireless lan authentication and privacy infrastructure)
无线局域网鉴别和保密基础结构
————是无线局域网(WLAN)中的一种传输协议与标准,与美国的802.11(俗称WIFI)是世界上仅有的两个。
2.
WAP
I和WIFI的异同
WIFI—— 单向加密认证(验证用户,终端搜到wifi名称后,输入正确密码即可
连接
。假如同时出现两个以上的相同wifi名称,并且输入任何密码都能
连接
上,到底
连接
哪一个呢)
WAP
I—— 双向
最近遇到几个
WAP
I
证书
安装
的问题,看了几天
WAP
I的相关代码,这里总结一下。
Android中
WAP
I
证书
管理虽然在设置中,但是他是一个单独的app,在packages/apps/
Wap
iCertManage下面。
一、点击
WAP
I
证书
管理,会进入这个activity。然后点击右上角加载
证书
。
packages/apps/
Wap
iCertManage/src/com/
wap
i/
wap
icertmanage/
Wap
iCertManageActivity.java
public boolean onOptio
无线局域网鉴别与保密基础结构
WAP
I是无线局域网安全协议。被应用到各种终端产品的
WAP
I协议是否符合各项技术参数,关键在于
WAP
I协议符合性测试的落地程度。
WAP
I协议符合性测试包含协议互通性测试和协议完整性测试。具体来说,协议互通性测试主要检测设备正确处理正常协议数据的能力,而协议完整性测试则围绕设备正确处理异常协议数据的能力进行检测。从根本上讲,
WAP
I协议完整性检测的推出对于产品的互通性和性能提出了更高要求,进而促进了
WAP
I产品功能更加完备。
尽管
WAP
I协议完整性检测工作已在测试机构开展多年,不过
自从有了各种破解Wi-Fi密码的软件之后,笔者家里的Wi-Fi密码不管怎么设置,设置得多么复杂,总是会被别人破解,甚至有时一些蹭网的人会下载电影或者在线看电影,家里的网速被拖慢很多,被逼得实在没办法,只能一次又一次地更改无线网络密码。相信很多人也遇到过这种情况。而且如果别人随便就能接入我们家的无线网络,那么可想而知通过攻击获取我们的信息有多容易,哪天被盗号、盗银行卡号密码也不一定了。
经过一番搜索,尝试了多种
方法
无果,其间也看到有一些讲无线局域网安全技术的文章,有人推荐
WAP
I技术,稍做研究决定试一试,所以
2. 在您的
iPhone
手机
上打开“设置”> “开发人员”> “AirPlay”,并启用AirPlay。
3. 在QuickTime播放器上,单击菜单栏上的“文件”,然后单击“新建影像流”。
4. 在弹出的对话框中,选择您的
iPhone
手机
,然后单击“
连接
”。
5. 您的
iPhone
手机
屏幕现在应该在QuickTime播放器中显示。您可以在电脑上控制
手机
并录制视频。
请注意,需要在两台设备上启用Wi-Fi才能远程访问。此外,您的Windows电脑和
iPhone
手机
必须在同一网络中,以确保它们可以进行通信。
### 回答2:
要实现从Windows电脑远程控制
iPhone
手机
,可以通过以下步骤:
1. 确保Windows电脑和
iPhone
手机
都
连接
到同一个网络。
2. 在
iPhone
手机
中,打开"设置",选择"Wi-Fi",确保
连接
到同一Wi-Fi网络。
3. 在Windows电脑上,下载并
安装
支持远程控制
iPhone
的软件,如TeamViewer、AirDroid或AnyDesk。
4. 在Windows电脑上打开所
安装
的远程控制软件,并在软件界面上选择"远程控制"或类似的选项。
5. 在
iPhone
手机
中,在App Store中搜索并下载相应的远程控制应用程序,如TeamViewer或AnyDesk,并
安装
。
6. 在
iPhone
手机
中打开所
安装
的远程控制应用程序,并输入由远程控制软件提供的
连接
代码。
7. 在Windows电脑上,输入由
iPhone
手机
远程控制应用程序提供的
连接
代码。
8. 确认
连接
代码无误后,点击
连接
按钮,在Windows电脑上即可远程控制
iPhone
手机
。
需要注意的是,不同的远程控制软件和应用程序可能会有稍微不同的设置步骤和界面布局。此外,远程控制
iPhone
手机
需要获得用户的授权,因此在
连接
之前需要获得
iPhone
手机
用户的许可才能进行远程操作。