网络抓包神器-charles使用技巧

charles

charles常用于网络抓包,常见用途有以下:

  1. 开发和调试过程有极大帮助,可以分析接口请求
  2. 篡改mock接口返回
  3. 本地代理调试开发
  4. 模拟慢速情况
  5. 做压测
  6. blocklist,使得某些请求失效

charles macos开启代理抓包(http)

去菜单栏Proxy -> macos Proxy ,记得打开即可实现抓本机的http请求,原理是这样,chares起了一个代理服务器,所有的请求都会经过这个代理服务器,可以去网络设置的proxy设置里面查看

charles macos转https的包

默认https的包会会出现unknow connect的字样,点击该请求,可以看到报错内容

SSLHandshakeException: Remote host closed connection during handshake

需要安装信任证书,路径在Help -> SSL Proxy -> Install Charles Root Certificate

安装后会打开证书设置页面,然后要将该证书进行信任操作,如果找不到,则可以在证书页面 -> Login 页面 -> 搜索charles -> always trust

tips: 有一些情况下会出现上述办法https仍然抓不到的情况,可以尝试破解完成后再安装一次,或者网上也有方案说把电脑的时间改到一天后,可以试试

charles技巧

模拟慢速情况

菜单栏 Proxy -> Throttle setting

同时这里支持筛选,只慢速部分接口,可以勾选Only for selected hosts,然后添加网址,添加网址可以保持为空或者*则查全部

篡改mock接口返回

在该请求右击鼠标,点击Breakpoints,则下次再次请求该request会中断该请求,如下图

有3个按钮,

  1. abort,模拟这个接口不返回的情况
  2. execute,修改mock接口返回,点击则可以去Edit Reques和Edit Response,这里我们编辑一下百度html返回的title,加一个test

再次点击execute

同理,我们可以Edit Request,都可以mock了

也有一个管理所有Breakpoints Settings的地方,在Proxy -> Breakpoints Settings,可以添加任何url的breakpoint

本地代理调试开发

举个例子,我们有一些本地的代码,想要直接映射到线上的网站去进行调试,则可以使用Map Remote和Map Local的功能。而且我们可以利用文件夹的效果,可以两个目录对应上后,后面的树状结构的文件和文件夹都能一一对应上。

blocklist

有些时候我们需要测试网络出错的情况,这是可以使用blocklist。开启路径在Tools -> Black List。原理就是劫持请求,返回403或者返回直接丢掉请求

可以添加规则,对指定的url才进行block

左下角的Import 和Export都是charles通用的url路径匹配规则。

压测

可以针对某个request进行repeat操作,右击,即可出现repeat和repeat advanced操作,也可以去Tools -> repeat和Tools > repeat advanced,

你可能感兴趣的:(网络抓包神器-charles使用技巧)