在最近开发的过程中,想测试一下应用在网络传输层面的安全性。最直观的就是直接抓设备上的网络包了,查了一些方案,要么需要设备越狱,要么要装一堆东西,很麻烦。后来发现苹果官方已经提供了相应的方法,叫做“Remote Virtual Interface",可以直接将iOS设备映射成为Mac上的一块网卡。在Mac上,便可以使用常用的流量监控工具对这块虚拟网卡的流量进行监控。
配置的过程其实也比较简单
1:将iOS设备连接到Mac上,并获取UDID(Xcode ->Orgnizer -> Devices - > Identifier)
2:打开命令行,输入命令,及你的设备的UDID
$ rvictl -s UDID
如果成功,可以得到如下提示
Starting deviceUDID [SUCCEEDED]
通过RemoteVirtual Interface映射的设备命名是rvi开斗的,从0开始递增,如rvi0、rvi1等。
验证一下:
$ ifconfig rvi0
会有如下提示:
rvi0: flags=3005<UP,DEBUG,LINK0,LINK1>mtu 0
3:如果要停止监控,只要输入下面命令便可
$ rvictl -x UDID
既然已经获取iOS设备上的全部流量,下面就该流量分析工具登场了,以WireShark为例,在网卡列表中选择
我们刚刚映射的iOS设备rvi0,点击“开始”进行监控
默认状态下,WireShark对所有的协议都进行了监控,界面上会很乱
我们只想监控自己感兴趣的,那过滤一下,Analyze -> Display Filters选择自己想监控的协议流量,这里选择TCP only,Filterstring选http
打开一个应用,以《网易新闻》为例,通过流量分析基本能得到到所有传输的文本与链接
再想分析什么东东,看大家喜好喽
Have Fun!
参考:Getting a Packet Trace