不少时候须要网络抓包分析,在iPhone上抓包稍有不一样,下面介绍三种经常使用的方式。分析工具以wireshark为例。html
步骤以下:spring
步骤以下:express
1. 下载tcpdump:从cydia搜索安装tcpdump,若是没有搜到,请先添加源http://apt.saurik.com。
2. 安装openssh:从cydia搜索安装openssh,若是没有搜到,请先添加源http://apt.saurik.com。
3. 退出cydia,这会重启机器或重启springboard。
4. 在PC上经过ssh命令访问手机,以root身份,root的初始密码是alpine,例如:编程
ssh root@192.168.1.118
按提示输入密码以后,就远程登陆到手机了(建议第一件事是用pwd当即改掉默认密码),此时能够执行tcpdump命令录制网络数据。缓存
5. tcpdump的简单用法ruby
tcpdump -h 显示帮助信息: Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -Z user ] [ expression ]
关于tcpdump的使用,网上不少,例如:http://blog.chinaunix.net/uid-20237628-id-3946009.html网络
因为tcpdump只是抓取数据,抓取的数据咱们要拿到PC上用wireshark或相似工具分析,所以 -w开关是必须的,它用来指定一个文件,该文件保存抓到的数据,随后咱们就把这个文件拷贝到电脑上进行分析。ssh
-i 开关是最重要的,它指定要拦截的网络接口,对于Wi-Fi,接口是en0,对于移动数字网络,网络接口是pdp_ip0。例如:tcp
tcpdump -s 0 -i pdp_ip0 -w ~/1.PCap
命令要求抓取移动网络接口的数据,要完整数据包,要保存到~/1.PCap文件。工具
当须要结束时,用ctrl+z结束tcpdump命令,结束以后,缓存在内存的数据才会彻底写入文件。
6. 把文件拷贝到PC
用scp命令把文件拷贝到PC(或者ifunbox之类的工具拖拽更简单):
scp root@192.168.11.211:~/1.PCap ./
7. 如今,能够用wireshark打开1.PCap分析数据了。
总之,tcpdump很强大,也很复杂。以上我故意没有贴图,贴图会让篇幅很大,有点吓人。
步骤:
1. 手机经过USB线链接到PC;
2. 查看手机的UDID,由于rvictl须要使用它。
能够从iTunes看:
红色区域若是不是UDID,点击它。
用Xcode看更方便,window—>devices,而后选择手机,如图:
3. 创建链接
格式:rvictl -s
例如:
这样,PC上就多了一个虚拟的端口rvi0。能够用 -l参数查看有哪些虚拟端口:
好了,如今能够用wireshark捕捉这个端口的数据了。启动wireshark,并选择网络接口,如图:
不管手机使用的是wifi仍是2g、3个、4g,如今你在wireshark里都能实时看到数据了:
是否是很是方便?
4. 最后,好习惯是用完关闭:
rvictl -x <UDID>
如:
原文地址:http://blog.csdn.net/hewy0526/article/details/50996984