ios 联网 在mac机器上进行抓包
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>
4.如果想捕获多个设备的网络包,可以使用上述命令创建多个设备的RVI,传递每个iOS设备的UDID作为参数即可。
RVI虚拟接口的命名规则为rvi0,rvi1,rvi2,…,可使用ifconfig命令查看
$ ifconfig rvi0
rvi0: flags=3005<UP,DEBUG,LINK0,LINK1> mtu 0
5.在Mac上使用任意抓包工具tcpdump、wireshark等,监听创建的rvi接口即可。
下面是wireshark 的简单使用(由于新的mac 需要去下载x11等 组件,这里环境默认wireshark 是正常工作的)
第一步:
第二步:
第三步:
第四步:
第五步:
以上便是抓的数据包 由于我对协议有些过滤 所以 某些协议没有显示 如果只想看某一种 协议可在 过滤栏 写要过滤的 然后点Applay
然后就是你对wireshark 抓到数据的分析了,这里不做具体解释和操作
6.使用完之后需要将创建的虚拟接口移除
$ rvictl -x <UDID>
最新文章
- Odoo domain 中的 like, ilike, =like, =ilike 举例说明【转】
- K3 WISE开发手册
- SpringMVC @Value取值(取properties属性文件的属性值)
- jQuery学习 day01
- [Redux] Extracting Presentational Components -- Todo, TodoList
- 博客终于开通了happy
- win7远程工具mstsc.exe
- CSDN CODE平台,中国版Github简要使用说明
- Tomcat7性能调优
- STM32的RFID射频读写控制装置
- JQuerymobile实例源代码
- 将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
- 腾讯云CentOS7.4服务器添加swap分区
- Salesforce自定义权限简介
- MongoDB pymongo模块
- 回看《例说FPGA》---DDR2控制器集成与读写测试
- java面试:HR面
- opencv实现canopy算法
- jquery Jbox 插件实现弹出窗口在修改的数据之后,关闭弹出窗口刷新父页面的问题
- JVM中的JIT
热门文章
- 下载linaro android 4.4.2 for panda4460
- VS2017生成.net core项目报错:The current .NET SDK does not support targeting .NET Core 2.1. Either
- hdu3613 Best Reward
- JQuery中根据属性或属性值获得元素(6种情况获取方法)
- webdriver高级应用- 精确比较页面截图图片
- 合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友_python
- list 类
- 实用jstl实现未登录时不能绕过登录界面的效果
- Z-Score数据标准化处理(python代码)
- Python tldextract模块准确获取域名和后缀