ios 抓取真机的网络包
2016-06-20 15:46
281 查看
一直被如何从真机上抓包所困扰!今天偶然看到了最简单有效的方法!分享一下:
原地址链接 http://blog.csdn.net/phunxm/article/details/38590561通过 RVI 抓取 iPhone 数据包
(1)RVI 简介
使用 Mac 抓取 iPhone 数据包可通过共享和代理两种方式:
使用 Mac 的网络共享功能将 Mac 的网络通过 WiFi 共享给 iPhone 连接;
使用代理软件(例如 Charles、Flidder for Mono、Andiparos)在Mac上建立HTTP代理服务器。
这两种方式都是将 iPhone 的网络流量导入到 Mac 电脑中,通过 Mac 连接互联网。这就要求 Mac 本身是联网的,对于网络共享的方式还要求 Mac 本身的网络不能使用 WiFi,而且在 iPhone 上只能使用 WiFi 连接,无法抓取到 xG(2G/3G/4G) 网络包。
苹果在 iOS 5 中新引入了“远程虚拟接口(Remote Virtual Interface,RVI)”的特性,可以在 Mac 中建立一个虚拟网络接口来作为 iOS 设备的网络栈,这样所有经过 iOS 设备的流量都会经过此虚拟接口。此虚拟接口只是监听 iOS 设备本身的协议栈(但并没有将网络流量中转到 Mac 本身的网络连接上),所有网络连接都是 iOS 设备本身的,与 Mac 电脑本身联不联网或者联网类型无关。iOS设备本身可以为任意网络类型(WiFi/xG),这样在 Mac 电脑上使用任意抓包工具(tcpdump、Wireshark、CPA)抓取 RVI 接口上的数据包就实现了对 iPhone 的抓包。
Mac OS X 对 RVI 的支持是通过终端命令 rvictl 提供的,在终端(Terminal)中输入“ [b]rvictl ? [/b]”命令可查看帮助:
==================================================
rvictl Options:
-l, -L List currently active devices
-s, -S Start a device or set of devices
-x, -X Stop a device or set of devices
==================================================
(2)使用 “ rvictl -s ”命令创建虚拟接口
首先,通过 MFI USB 数据线将 iPhone 连接到安装了 Mac OS+Xcode 4.2(or later) 的 Mac 机上。iOS 7 以上需要搭配 Xcode 5.0(or later),抓包过程中必须保持连接。
然后,通过 iTunes->Summary 或者 Xcode->Organizer->Devices 获取 iPhone 的 UDID(identifier)。
接着,使用“rvictl -s”命令创建 RVI 接口,使用 iPhone 的 UDID 作为参数。
==================================================
$rvictl -s <UDID>
相关文章推荐
- OkHttp全解析
- linux网络编程----->高并发--->多线程并发服务器
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的区别
- http接口测试——Jmeter接口测试实例讲解
- 【网络编程4】Java多线程
- 关于iOS AFNetworking请求Code=-1007 "too many HTTP redirects" (重定向的问题)
- Liunx配置网络到nginx环境搭建步骤
- 网络服务器带宽Mbps、Mb/s、MB/s有什么区别?10M、100M到底是什么概念?
- JavaScript---网络编程(9-1)--DHTML技术演示(2-1)-表格创建的几种方式
- JavaScript---网络编程(9-1)--DHTML技术演示(2-1)-表格创建的几种方式
- OkHttp简单用法
- 网络带宽
- Volley支持https请求
- XMLHttpRequest 加载进度
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片的优缺点比较
- Android网络编程(一)
- 解决android 5.0 webview不能加载http与https混合内容的问题
- 【muduo网络库学习】之基本的TCP Server工作机制
- 网络编程---UDP
- 网络安全之证书、密钥、密钥库等名词解释