博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios 联网 在mac机器上进行抓包
阅读量:4704 次
发布时间:2019-06-10

本文共 1178 字,大约阅读时间需要 3 分钟。

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>

转载于:https://www.cnblogs.com/yingkong1987/p/3153890.html

你可能感兴趣的文章
【.Net基础03】HttpWebRequest模拟浏览器登陆
查看>>
zTree async 动态参数处理
查看>>
Oracle学习之常见错误整理
查看>>
数据库插入数据乱码问题
查看>>
altium annotate 选项设置 complete existing packages
查看>>
【模式识别与机器学习】——SVM举例
查看>>
【转】IT名企面试:微软笔试题(1)
查看>>
IO流入门-第十章-DataInputStream_DataOutputStream
查看>>
DRF的分页
查看>>
Mysql 模糊匹配(字符串str中是否包含子字符串substr)
查看>>
python:open/文件操作
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>
windows live writer 2012 0x80070643
查看>>
tomcat 和MySQL的安装
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
u-boot启动第一阶段
查看>>
MySQL批量SQL插入性能优化
查看>>
定义列属性:null,default,PK,auto_increment
查看>>