iphone抓包是什么意思
很多时候需要网络抓包分析,在iPhone上抓包稍有不同,下面介绍三种常用的方式。分析工具以wireshark为例。
一、最简单的方式:用PC作为热点,在PC上抓包
优点:简单
缺点:不能抓真机2g/3g/4g网络数据
步骤如下:
1、PC接上有线
2、PC用wifi方式共享网络,即PC作为一个热点。
3、手机设置网络,选择PC那个热点
4、在PC上打开wireshark,选择要监控的接口,指定wifi端口,开始捕捉。
二、tcpdump命令
优点:优点很多,可以做很高级的定制和选择,可以编程控制
缺点:两个,一是手机必须越狱,二是使用比较麻烦。
步骤
iOS 真机抓包方式
只能抓 http(s)的包,不能抓自定义协议的包,如果要分析到更底层的包,像TLS handShake这种就没办法了
功能相对强大一些,可以针对某个网卡抓到所有的的数据包,类似于 tcpdump,也可以抓自定义协议的包,可以分析到 TLS handShake包
iOS 5之后, iPhone带了一个 Remote Virtual Interface(RVI)功能,我们可以通过 RVI把数据从 iOS设备上转发到我们 Mac机器上的一个虚拟网卡
连接手机到电脑上,获取到设备的 UUID,Xcode->Window-> Devices And simulators
在命令行中查看当前已有网络接口
接下来使用 rvictl创建虚拟网络接口
再次查看网络接口
可以看到虚拟接口已经创建成功。
虚拟网络接口已经创建完毕,接下来使用抓包工具抓到原始包分析
RVI设置好以后,我们可以在 Mac上直接利用 tcpdump查看数据包。
输入完密码后可以,抓包已经可以开始
按下 Ctrl+ G可以结束抓包
tcpdump很强大,但是可读性不太高,我们尝试用Wireshark分析原始数据包。
AirPlay是Apple私密协议,但也被很多商业破解收费,但每个版本 Apple都有可能再加密一次,这边有一份 non-official AirPlay协议,大致描述了 AirPlay的一个过程, non-official AirPlay protocol,接下来看一下 iOS 12上 AirPlay协议
工具: airServer可以将手机通过 AirPlay投到 mac上
以下分析过程都采用 wireShark
启动 wireShark
选择抓 rvi0网络接口数据,点击开始
airplay非正式版的协议
发送端:30.40.200.4
接收端:30.40.202.17
我们在 wireShark上看下具体原始数据包:
30.40.200.4--> 30.40.202.17
发送端向接收端查询AirPlay和 RAOP的信息,拿到数据包原文如下:
接收端回复数据包:
30.40.202.17--> 30.40.200.4
里面包含了很的信息我们都可以解析。
【详细】Mac使用Fiddler实现IPhone抓包(支持https)
通过Fiddler在Mac上实现iPhone抓包,支持HTTPS,此操作在Windows系统上同样适用。具体步骤如下:
首先,在官网telerik.com/fiddler下载并安装Fiddler软件,并完成注册。
打开Fiddler设置界面,按照下图设置HTTPS证书。确保勾选“Act as system proxy on startup”和“Allow remote computers to connect”,这将允许Fiddler作为系统代理启动并接受远程连接。
查看本机IP地址,确保Mac和iPhone处于同一局域网中。在iPhone的Safari浏览器中输入IP地址加端口号。进入iPhone的设置,选择通用-描述文件与设备管理,安装对应的描述文件。
在通用-关于本机-证书信任设置中,打开针对根证书的完全信任选项。接着,进入设置的无线局域网设置,选择已经连接的网络,进入配置代理界面,手动配置对应的IP和端口号。
完成以上步骤后,在Mac上的Fiddler中即可查看HTTP或HTTPS请求。通过上述操作,您便能在Mac上利用Fiddler成功实现iPhone的抓包,实现网络数据的深入分析。