工信部和网信办每年一次的IPV6浓度检测来了,为了检测应用的IPV6浓度,有必要把IPV6浓度检测方案总结一下。
首先先明确浓度概念,浓度 = 冷启动下10分钟monkey测试的IPv6流量占比。另外测试环境需要注意的是网络环境(wifi或LTE)需要支持IPV6。
IPV6网络环境
公司有现成的IPV6环境可以忽略本部分。没有的可以参考如下步骤。
- 准备Mac一台、iphone2部、usb iphone 连接线一根
- 数据线连接iphone和mac
- 打开iphone的个人热点并选择仅USB,如果没有选项,关闭手机连接的Wi-Fi,用手机自己的移动网络,选择仅USB
- 打开网络偏好设置,确保你的Mac的Wi-Fi是打开的,并且没有连接任何网络。如果已有连接wifi可以在高级里删除之前的联网缓存
- 打开系统偏好设置,按住option(alt)键点击共享,如果不按住option键将不会出现IPv6选项
- 选择iPhone USB -> Wi-Fi -> 创建NAT64。如果没有出现创建NAT64网络请重复第四步
- 选择右下角的Wi-Fi选项,可以设置密码也可以不设置密码。最后别忘了勾选左侧的选项,不然不会打开共享,显示互联网共享:打开代表操作成功。
- 勾选互联网共享。用你另一台iPhone链接你Mac所创建的IPv6测试网络
流量监控
接下来就需要对手机流量监控了,分享两种监控流量的方式。
今天主要讲的是第二种方法。iOS 不允许直接记录数据包跟踪。但是,可以使用Mac远程虚拟接口 (RVI) 机制在连接的iOS设备上记录数据包跟踪。使用方式是,首先用USB把iOS设备连接到Mac。接下来在终端中运行命令,苹果对RVI的操作描述在这个文章。airtool 2实现的原理正是远程虚拟接口 (RVI) 。不过airtool 2已经自动执行了这个过程,所以流量监控这件事交给airtool 2做就好了。接下来就是使用这种方案监控流量的操作步骤。
- 在CLI输入rvictl检测是否有安装,没有的话
homebrew install rvictl
执行一下。另外apple芯片需要在系统偏好设置>安全和隐私>常规,选择允许。 -
USB连接手机和mac,airtool 2菜单栏选中 capture iPhone Packet Traces
- 然后你会看到数据加载页面,接下来操作你的设备,airtool 2会持续记录数据。这里有可能会出现断开的情况,原因未知,多试几次或者换用破解版
数据加载页面 - 上图点击stop,桌面找到airtool_2022-02-25_09.11.24.PM.pcapng文件,用wireshark打开
-
wireshark菜单栏statics->endpoints会有IPv4和IPv6。至于哪个是手机的IP可以在手机设置->无线局域网->wifi详情里找到手机的IPV4和IPV6地址。其实将的Bytes按照降序排列,第一位应该就是你的手机IP。
IPv4
IPv6 - IPV6和IPV4的流量浓度按照bytes算一下就有了🤠
最后,流量浓度的大头很明显是静态文件以及流媒体的请求,所以抓住重点优化就好了,我们的浓度已经超过80%🤠