史上最强大ios app网络抓取 from http://www.2cto.com/net/201306/221430.html
来源:互联网 发布:网络天才中文版下载app 编辑:程序博客网 时间:2024/06/15 19:59
iOS应用(包括移动应用)的网络分析,一般采用将移动设备上的流量导入到PC机上,利用PC上成熟的数据包分析工具例如wireshark等来进行分析的方法。
总的来说,有以下三种方法:
一、在PC上设置网络共享,生成wifi热点供移动设备使用
二、开启http代理工具服务器(例如burpsuite,charles),然后移动设备通过该HTTP代理上网(只能抓取HTTP/HTTPS)
三、使用管道(tunneling)工具例如nc+ADVsock2pipe将iOS上的流量引入到PC上 (需越狱)
实施方法可参考:
mobile app 通信分析方法小议(iOS/Android)
实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)
iPhone上使用Burp Suite捕捉HTTPS通信包方法
以上方法都存在缺陷,例如只能捕捉wifi网络通信,不能抓取2G/3G网络包的缺陷。
iOS 5后,apple引入了RVI remote virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包分析了。
这种流量分析方法,是直接捕捉的iOS设备上的网络流量,因此无论是wifi还是2G/3G等其他网络类型都可以捕捉到,一根USB数据线就搞定了,不需要苛刻的要求PC与iOS设备处于同一个网段,或必须越狱等局限了。
下面介绍使用方法
第一步:使用USB数据线将iOS设备连接到MAC上
第二步:获得iOS设备的UDID,可以使用iTools查看,也可以使用Xcode的Organizer工具查看
第三步:创建RVI接口
$ rvictl -s <UDID>
RVI虚拟接口的命令规则可为rvi0,rvi1,。。。,创建后可以使用以下命令查看是否创建成功
$ ifconfig rvi0
第四步:在mac上用抓包工具wireshark或tcpdump等工具抓包分析
$ sudo tcpdump -i rvi0 -n -vv
第五步:分析结束后,移除创建的RVI接口
$ rvictl -x <UDID>
参考:
http://www.winddisk.com/2012/09/01/mac_capture_iphone_package_remote_virtual_interface/
http://useyourloaf.com/blog/2012/02/07/remote-packet-capture-for-ios-devices.html
- 史上最强大ios app网络抓取 from http://www.2cto.com/net/201306/221430.html
- 使用HTTP协议访问网络 原网址https://www.2cto.com/kf/201701/552932.html
- ASP.NET MVC HtmlHelper用法大全(转:http://www.2cto.com/kf/201105/90985.html)
- http://www.2cto.com/kf/201112/115476.html
- http://www.2cto.com/kf/201205/131945.html
- http://www.2cto.com/kf/201402/280576.html
- http://www.2cto.com/kf/201410/344061.html
- http://www.2cto.com/database/201408/327315.html
- http://www.2cto.com/os/201202/118033.html
- http://www.2cto.com/kf/201311/255432.html
- android ContentResolver详解 http://www.2cto.com/kf/201207/144022.html
- ORACLE中DBMS_SQL的用法——http://www.2cto.com/database/201209/156873.html
- nginx source:http://www.2cto.com/os/201109/104264.html
- inux的安装和启动流程(http://www.2cto.com/os/201208/145165.html)
- argparse解析器 转自http://www.2cto.com/kf/201208/149418.html
- $()和${}和$(())和(())///转自http://www.2cto.com/os/201308/239136.html
- iframe跨域通信方法(转自http://www.2cto.com/kf/201211/166555.html)
- Android开发之MdiaPlayer详解 http://www.2cto.com/kf/201408/325309.html
- Qt简介以及如何配置Qt使用VS2010进行开发
- Windows下安装配置Solr (tomcat7.0)
- HDOJ 4533 威威猫系列故事——晒被子
- git - 简明指南
- Linux内存管理和分析vmalloc使用的地址范围
- 史上最强大ios app网络抓取 from http://www.2cto.com/net/201306/221430.html
- ios 中的定时器功能
- UIView视图层次操作
- 求A/B高精度值
- iOS总结_IOS开发部分语法的简化写法
- courses-machine learning-gradient descent
- AFNetwork 2.0在请求时报错code=-1016 和 3840
- kjdhkdflajsdjaldkja alkfjalskdjflakjsda falksdjfklsjd
- 重写java类的toString()方法, 安卓开发