一、摘要
上一篇主要介绍了iOS在越狱环境下的开发环境搭建,本章主要记录在不同环境下对iOS应用的数据包抓取。iOS应用抓包环境分为两种,即:PC电脑环境下抓包和iOS系统上直接抓包。在PC电脑环境下抓包,需要选择Win7以上版本系统,用于创建无线WiFi热点。iOS系统需要越狱,并在iOS系统上安装抓包工具Tcpdump,对应用进行抓包。
二、PC环境抓包
2.1 创建Wifi热点
首先确保Windows 7台式电脑能够正常联网,打开:"控制面板"->"网络和Internet"->"网络连接",找到能够正常联网的本地连接,如图:
打开"cmd"命令提示符,输入如下命令:
netsh wlan set hostednetwork mode=allow ssid=test key=password
如图:
以上命令的含义为:
通过netsh命令,创建一个名称为:test,密码为:password的WiFi无线热点。
接着输入命令:netsh wlan start hostednetwork,如图:
该命令功能为:启动刚刚建立完成的WiFi热点。
创建完成的WiFi热点如图:
这时,在控制面板的网络连接中能够看到无线网络连接,如图:
打开之前的本地连接,右键->属性->共享,勾选Internet连接共享第一项,并选择之前创建好的"无线网络连接2",如图:
点击"确定"按钮后,便可以对无线网络进行抓包分析。
2.2 抓包设置
在手机上加入该无线WiFi热点,获取IP地址,假如IP地址为:192.168.173.97,在抓包工具中设置该无线WiFI热点网口进行数据抓取,如图:
点击确定,便可以抓取手机上的数据包,如图:
三、iOS越狱环境抓包
3.1 安装tcpdump
在越狱的iOS系统上,通过Cydia能够直接安装tcpdump,在搜索框中搜索"tcpdump",安装成功后的界面如下:
也可以通过SSH的方式登录手机直接在线安装,如图:
为验证tcpdump已经能够正常工作,通过ssh方式登录手机,输入命令:tcpdump --help,如图:
出现以上提示说明tcpdump安装成功。
3.2 使用tcpdump抓包
在iOS设备命令行下输入抓包命令:tcpdump -X -s0 -w /tcpdumptest.cap,如图:
tcpdump的命令使用方法可以参考使用文档,最终生成的抓包文件如下:
四、iOS系统2G/3G/4G网络抓包
4.1 抓包环境
抓取IOS系统下的2G/3G/4G数据包,需要在OS X PC操作系统下完成。主要利用Apple的rvictl工具创建一个虚拟网口完成数据包抓取。在此过程中,iOS设备必须用USB数据线与PC电脑连接。
4.2 rvi接口
在iOS 5之后,苹果公司引入了RVI(Remote Virtual interface)特性,它只需要将iOS设备使用USB数据线连接到Mac系统上,然后使用rvictl工具以iOS设备的UDID为参数在Mac系统中建立一个虚拟网络接口rvi,就可以在Mac系统上使用tcpdump,WireShark等工具对创建的接口进行抓包分析了。
4.3 创建rvi接口
在创建rvi接口之前,首先要获取iOS设备的ldid,将iOS设备用USB数据线连接到电脑,使用Xcode能够自动识别iOS设备的ldid,如图:
打开OSX 系统的终端窗口,输入以下命令:
命令执行成功,验证rvi接口创建是否成功:
4.4 抓包软件设置
首先下载抓包软件WireShark,并以管理员权限启动,如图:
软件启动成功后的界面:
打开网络接口选择界面,选择rvi0接口,如图:
成功抓取2G/3G/4G网络数据包,如图: