转自:http://www.winddisk.com/2012/09/01/mac_capture_iphone_package_remote_virtual_interface/

一.Remote Virtual Interface

在使用Mac抓取iPhone数据包中介绍了两种方式在Mac电脑上抓取iPhone上的数据包,一是使用Mac的网络共享功能将Mac的网络通过WiFi共享给iPhone连接,一是使用代理软件在Mac上建立HTTP代理服务器;这两种方式都是将iPhone的网络流量导入到Mac电脑中,通过Mac连接互联网,这就要求Mac本身是联网的,对于网络共享的方式还要求Mac本身的网络不能使用WiFi,而且在iPhone上全是使用的WiFi连接,不能抓取2G/3G网络的包。

在iOS5中新引入了“远程虚拟接口(remote virtual interface ,RVI)“的特性,可以在Mac中建立一个虚拟网络接口来作为iOS设备的网络栈,这样所有经过iOS设备的流量都会经过此虚拟接口,此虚拟接口代替了iOS设备本身的协议栈,但并没有将网络流量中转到Mac本身的网络连接上,这样所有网络连接都是iOS设备本身的,Mac电脑本身连不联网或者连接的网络类型都没有关系,而iOS设备本身可以为任意网络类型,2G/3G/WiFi等。在Mac电脑上使用任意抓包工具抓取RVI接口上的数据包就可以看到iOS设备上的所有网络数据。

二.使用方法

  1. 通过USB口将iPhone连接到Mac上。
  2. 使用Xcode的organizer工具获取到iPhone的UDID
  3. 使用rvictl命令创建RVI接口(remote virtual interface),使用iPhone的UDID作为参数。
    $ rvictl -s <UDID>

    如果想捕获多个设备的网络包,可以使用上述命令创建多个设备的RVI,传递每个iOS设备的UDID作为参数即可。
    RVI虚拟接口的命名规则为rvi0,rvi1,rvi2,…,可使用ifconfig命令查看

    $ ifconfig rvi0rvi0: flags=3005<UP,DEBUG,LINK0,LINK1> mtu 0
  4. 在Mac上使用任意抓包工具tcpdump、wireshark等,监听创建的rvi接口即可。
  5. 使用完之后需要将创建的虚拟接口移除
    $ rvictl -x <UDID>

参考:
Technical Q&A QA1176 – Getting a Packet Trace
Remote Packet Capture for iOS Devices
WWDC 2011 – Core OS Networking In-Depth Presentation Slides

使用Mac抓取iPhone数据包(二.RVI)相关推荐

  1. 四、小程序|App抓包(四)-Tcpdump抓取手机数据包分析

    小程序|App抓包(四) Tcpdump抓取手机数据包分析 一.环境需求: 1.手机需要root 2.电脑上安装SDK(建议安装android studio)也可单独安装SDk也行 下载地址 : ht ...

  2. Wireshark学习笔记——如何快速抓取HTTP数据包

    0.前言 在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.虽然也可使用Http ...

  3. 用C++实现网络编程---抓取网络数据包的实现方法

    From: http://blog.csdn.net/zjl_1026_2001/article/details/2191311 做过网管或协议分析的人一般都熟悉sniffer这个工具,它可以捕捉流经 ...

  4. burp抓取https数据包:

    https简述: HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通 ...

  5. 如何使用wireshark抓取HTTPS数据包?

    1.wireshark 抓包为什么不显示出来? wireshark 是基于网络层的抓包工具,通过捕获通信双方的TCP/IP包实现内容提取.对于应用层的数据,如果应用层协议是公开的,就可以直接显示数据. ...

  6. Wireshark抓取QQ数据包实例分析

    一.打开Wireshark.因为我笔记本连接的WIFI,所以我点击WLAN. 二.抓取数据包中. 三.点击左上角正方形角标,停止抓包.在应用显示过滤器输入oicq,然后按下Enter,便是QQ数据包了 ...

  7. Linux使用tcpdump抓取网络数据包示例

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  8. charles抓取iphone https包报错:SSLHandshake: Remote host closed connection during handshake

    按照此方法:https://blog.csdn.net/lyhDream/article/details/53178118  在iphone上安装了charles的证书,在charles上也设置了ht ...

  9. BurpSuite配置抓取HTTPS数据包

    简介 我们在渗透测试的过程中,经常会遇到HTTPS的网站,Burp默认是没有办法抓取HTTPS的包的,想要让Burp抓取Https的包也很好办,只需要浏览器安装相关的证书即可,接下来将配置过程做一个记 ...

最新文章

  1. [记录]CentOS搭建SVN服务器(主从同步)
  2. C语言中的位操作(8)--根据指定掩码选择两数之一
  3. SAP Spartacus Ngrx 使用的一些准则
  4. Linux进程+进程间通信IPC
  5. Angular5 JWT身份验证(Spring Boot安全性)
  6. Java 9中的进程处理
  7. linux 操作mysql 数据库命令_Linux 操作数据库命令
  8. java.io.File 的一些记录
  9. AWGN信道中BPSK调制的定点仿真性能_Simulink实现
  10. Word里输入带框的对号
  11. Microsoft Windows 2000 professional(集成SP4)简体中文专业版下载
  12. 安装配置MacTex
  13. 【交换机】交换机简介
  14. 心情是一盏温茶的宁静
  15. Facebook账号被封了怎么办?这份账号申诉指南请收好
  16. 港中文旷视提出PanopticFCN:用于全景分割的全卷积网络
  17. JSON字符串与protobuf互转
  18. python绘制等边三角形的代码_python绘制等边三角形
  19. DANN困扰解决-交替训练数据
  20. Python网络爬虫数据采集实战(八):Scrapy框架爬取QQ音乐存入MongoDB

热门文章

  1. 日常英语口语练习-情景交际场景25(一)
  2. java每个类都定义构造方法吗,Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。()...
  3. python安装路径有中文_python怎么改安装路径
  4. 如何设置IDM为谷歌Chrome浏览器默认下载工具
  5. MPEG4编解码原理
  6. Nginx模块开发:模块结构的源码阅读以及过滤器(Filter)模块的实现
  7. 题解 [CSP-S 2019 Day2]Emiya家今天的饭
  8. mysql实现关注收藏_收藏|我的Mysql学习笔记
  9. 书法比赛评分系统-JAVA【数据库设计、源码、开题报告】
  10. 解读《医疗器械监督管理条例》的重大改变