Charles 使用

160 阅读3分钟

作用

  1. 对电脑的网络请求抓包(当前设备或者别的设备)
  2. 对手机进行抓包
  3. 模拟网络环境
  4. 对网络请求打断点,编辑请求和响应信息,进行一些特殊的调试

对电脑进行抓包

一般只需要设置下面的就好 image.png

手机的设置

image.png

https设置

image.png

模拟弱网

image.png

1. Enable Throttling (启用限速)

  • 作用:开启网络限速功能的主开关
  • 用途:模拟不同网络环境下的应用表现,比如2G/3G/4G/WiFi等

2. Only for selected hosts (仅针对选定的主机)

  • 作用:只对特定的域名或IP地址进行限速
  • 用途:可以只限制某个API服务器的速度,而不影响其他网络请求

3. Throttle preset (限速预设)

  • 作用:快速选择预配置的网络环境模板
  • 用途:Charles内置了常见网络环境配置,如"2G"、"3G"、"4G"、"宽带"等

4. Download/Upload Bandwidth (下载/上传带宽)

  • 作用:设置最大下载和上传速度(单位:kbps)
  • 用途:模拟网络带宽限制,测试应用在慢速网络下的加载表现

5. Utilisation (利用率)

  • 作用:设置带宽的实际使用百分比
  • 用途:模拟网络拥堵情况,比如70%表示只能使用70%的带宽

6. Round-trip latency (往返延迟)

  • 作用:设置网络延迟时间(单位:毫秒)
  • 用途:模拟网络延迟,测试应用对高延迟网络的处理能力

7. MTU (最大传输单元)

  • 作用:设置网络包的最大大小(单位:字节)
  • 用途:模拟不同网络环境的包大小限制,影响数据传输效率

8. Reliability (可靠性)

  • 作用:设置网络连接的可靠性百分比
  • 用途:模拟网络丢包情况,100%表示无丢包,数值越低丢包越多

9. Stability (稳定性)

  • 作用:设置网络连接的稳定性
  • 用途:模拟网络波动,测试应用在不稳定网络下的重连机制

10. Unstable quality range (不稳定质量范围)

  • 作用:设置网络质量波动的范围
  • 用途:在设定范围内随机变化网络质量,更真实地模拟移动网络环境

对手机进行抓包

1.在help菜单下找到Local IP Addresses里面找到局域网的IP image.png

2.设置手机的代理

image.png

image.png

3.如果是抓包HTTPS,额外的操作

a.需要手机配置证书 sarfari上输入 chls.pro/ssl 下载证书,信任证书

b.抓包工具的配置 image.png

4.注意抓包的时间不要手机不要连vpn,连了也抓不了包

本地替换js文件

Tools菜单---》MapLocal

image.png

image.png Map to 选择本地的文件就行。

特别注意一点,一定要注意清理原有的缓存,有可能是由于之前的缓存,替换了也没有效果。

特殊环境下调试本地项目

想象这样一个场景,当我们在某个app中打开192.168这种链接的时间,如果app做了域名的限制,不让我们打开这种链接,我们有什么办法绕开吗? 答案是可以的,思路是将 wx10086.cn这种链接在抓包工具这里做一个域名和端口的映射,做法很简单 在Tools的菜单下选择Map Remote,然后设置下面的就可以 image.png

From是你在app内访问的地址,而To是本地项目的地址