在ios应用开发过程中,为了进行端到端的分析,很多时候我们需要对手机的抓包进行分析。
对手机的抓包我们要在手机上安装抓包工具:tcpdump
前提:手机越狱;安装tcpdump 这样一部iphone就具备了抓包能力。
方法1:手机直接抓包(在手机上安装terminal用于输入命令)
不受网络条件制约,但由于是在终端上操作抓包,对ios设备来讲,MobileTerminal切至后台就不再工作,因此该抓包方法可行性较低,尽管如此,MobileTerminal对终端测试人员来说依然是一款很实用的工具;命令控推荐此方法。
方法2:通过pc/mac连接到手机(iPhoneTunnel软件,有mac和pc版本),通过在pc/mac下输入抓包命令,在手机上抓包。
pc下:用USB线缆连接终端与PC,确保手机终端正确,启动iPhoneTunnel,绿灯表示Tunnel Status正常,此时点击Launch Terminal按钮即可SSH进入终端,输入root密码,然后执行命令抓包
mac下:用USB线缆连接终端与mac,确保手机终端正确,启动iPhoneTunnel并开启后,点击tools->ssh(root) 菜单调出一个命令行界面,此时有可能报一个连接错误,输入ssh-keygen -R [127.0.0.1]:2222清除下里面的一个配置,即可正常连接。连接以后执行命令抓包,同pc。(tip:mac下终端输入密码时没有占位符,需要保证正确,注意)
WiFi下抓包tcpdump -i en0 -X -s0 -w data.pcap
2G/3G下抓包 tcpdump -i pdp_ip0 -X -s0 -w data.pcap 或 tcpdump -X -s0 -w data.pcap (两个都可以试下,我一般用前者) 抓包结束命令:ctl+c
敲此命令抓包的默认路径在var->root文件夹内。
总结:两个方法本质一样,都是利用tcpdump在手机上抓包,方法二通过ssh连接到手机去执行抓包命令(此时iphone充当一个server角色,pc/mac作为client连接到该server进行远程控制),因为抓到的包一般需要在pc/mac下用wireshark进行分析,所以pc/mac基本是必须的,推荐方法2。
方法3:
前提条件:机器要破解,cydia能打开
需要工具
1.openssh
2.tcpdump
安装工具方法:
1.连接网络,打开cydia
2.确认Cydia设置为开发者模式(管理->设置->开发者),在Cydia时面搜索openssh,tcpdump并安装
连接方法:
1.找到一台电脑与iPhone连接同一个Wifi,在PC能ping通iPhone
2.在PC的命令行界面输入ssh root@iphoneip
3.提示连接ssh,输入yes
4.输入密码alpine
5.正常显示登录iPhone成功命令行前面为"iphone手机名字"
6.输入tcpdump,正常可以看到很多包信息显示
7.ctrl+c停止抓包
8.tcpdump带参简介
a.tcpdump -X -s0 -w /tmp.cap //抓全包写文件
b.tcpdump -X -s0 host www.qq.com //主机全包
c.tcpdump -X -s0 port 14000 //抓端口全包
d.可以配合以上参数抓包
9.在PC上用Ethereal分析抓包文件数据