iOS开发知识汇总手机移动程序开发编程

在 iPhone 上利用 Charles 抓包

2017-10-18  本文已影响541人  Lee_dev

一、抓包使用场景

在开发过程中,通常我们会遇到系列问题:

1、在与后台联调的过程中不断的下断点或者输出 log ,以查看给后台的参数是否正确,后台返回给我们的结果是否有误。打断点耗时,大量输出 log 是代码不够整洁。
2、在我们没有修改代码的情况下出现问题,想找出是后台的锅还是我们的锅。

二、抓包软件

抓包软件有很多比如: wiresharkCharlesFiddler 等。
本文以 Charles 为例。

三、如何在iPhone上抓包

此时应该已经可以看到手机发出的请求了。但是同时你会发现,很多请求前面有个小锁,我们无法查看请求信息。这是因为这些请求是 HTTPS 请求。下面我们来讲怎么进行 HTTPS 抓包。

四、HTTPS 抓包

在 Charles 的菜单栏点击 help => SSL Proxying => Install Charles Root Certificate

Install Charles Root Certificate.png

在添加证书的弹窗中点击 “添加”,此时证书被添加到“钥匙串”,但是还没有结束,因为证书默认是不信任状态,我们还要把证书改成信任状态。


添加.png

在钥匙串中搜索 “ Charles ”找到证书,双击证书,并选择 始终信任

信任证书.png

https://chls.pro/ssl.

设置 = > 关于本机 => 证书信任设置 =>信任

图示如下:

iPhone 证书设置 .png

Charles 菜单栏 => Proxy => SSL Proxying Settings =>add 添加主机和端口。

图示如下,以微博为例:

SSL Proxying Settings .png

添加主机和端口

主机和端口.png

不出意外的话你应该可以看到微博的接口数据了,大功告成。

success.png

五、抓指定接口数据

抓包你已经学会了,但是有时候我们会发现我们的手机和电脑无时无刻不在发送和接受数据,造成 Charles 的导航栏很乱,影响观感。只想抓取我们想要的接口的数据,解决方案如下:

Charles 菜单栏 => Proxy => Recoding Settings =>Include =>add (添加相关信息,支持通配符)。

录制设置.png

比如我们只想抓微博的数据,则填写如下规则

过滤.png

规则生效后的效果:只有微博的借口数据。
(大多数软件可能有多个服务器,请根据实际情况填写规则)

只有微博.png
上一篇下一篇

猜你喜欢

热点阅读