手机抓包工具— Charles(mac版本)

在开发app或者小程序时,无法看到应用与服务器之间发送和接收的内容,导致获取请求参数和响应参数比较困难。Charles是一个运行在PC上的web代理。我们可以将手机端应用程序通过Charles访问网络,便可以在Charles上记录并显示发送和接收的所有数据。

Charles官网:https://www.charlesproxy.com/

Charles的作用:

image.png

1. 对请求抓包

保证iPhone和PC工作在同一局域网内(即同一个WIFI下)。

1.1 获取PC端的IP地址

image.png

打开网络偏好设置...

image.png

获取IP地址。

1.2 配置iphone代理

设置->无线局域网

image.png

HTTP代理->配置代理(手动)

image.png

1.3 PC端的Charles设置

具体的端口可以从Charles菜单栏 -> Proxy -> Proxy Settings中查看。图示如下:

image.png

iPhone代理配置完成后,Charles会弹出连接提示框,点击Allow之后即可使用Charles对从该iPhone发出的请求进行抓包了。图示如下:

image.png

2. 抓取HTTPS请求

配置iPhone代理完毕后,就可以通过Structure或者Sequence窗口预览HTTP请求的数据了。但由于HTTPS请求被加密过,预览请求时只能预览到乱码数据。要预览到HTTPS请求的数据明文,需要PC和iPhone安装证书授权。

2.1 PC端安装证书

在Charles菜单栏 -> Help -> SSL Proxying -> Install Charles Root Certificate中可以为PC安装证书,证书可以在Mac的钥匙串中查看。图示如下:

image.png

证书可以在Mac的钥匙串中查看,双击证书,将信任权限设定为始终信任。图示如下:

信任证书

2.2 ipone手机安装证书

在iPhone浏览器中访问http://charlesproxy.com/getssl可以下载证书并安装。

基于iOS的证书信任机制,在安装完成并信任证书后,需要到iPhone设置 ->通用-> 关于本机 -> 证书信任设置中启用根证书。

2.3 启动抓包的SSL权限

在Charles菜单栏 -> Proxy -> SSL Proxying Settings中勾选Enable SSL Proxying,然后在Locations中添加需要抓包的Host和Port即可。图示如下:

image.png

即对所有的https都进行抓包。

3. 其他功能详见

iOS Charles抓包

你可能感兴趣的:(手机抓包工具— Charles(mac版本))