iPhone手机连接WAPI调试方法和经验总结

       近日一个朋友新入手一部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手机将无法连接到此无线路由器上。

  当我满心欢喜地从朋友家出来时,却不禁想到一个严肃的问题:以苹果的研发测试能力以及对于产品一丝不苟的态度,怎么会犯这种低级错误呢?要知道这问题可是连我都能分析出来啊!莫非我比苹果那帮老外研发人员还牛?或者苹果公司是故意歧视中国人发明的安全技术,有意为之?真是百思不得其解啊。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 您可以使用苹果公司提供的QuickTime播放器来远程访问您的iPhone手机。具体步骤如下: 1. 在您的Windows电脑上安装QuickTime播放器。 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手机用户的许可才能进行远程操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值