我们都知道Charles是一款好用的抓包工具,其实它的功能是非常强大的,下面我们就一起看一下Charles这个工具的一些其他常用功能。
使用Charles进行网络环境模拟
在开发中,我们要经常考虑各种边界问题,对于网络开发,告诉网络、弱网络、上行和下行带宽差异等都是我们要进行适配的场景,Charles就可以很好的模拟这些环境。接下来我们就一下看一下如何模拟:
在Charles菜单栏的Proxy菜单中选择 Throttle(节流阀) Settings
菜单项,这个可以用来进行网络字节流的设置,就是我们说的网络环境模拟,如图(1):
在弹出的新窗口中,我们就可以进行网络设置了,如图(2):
勾选Enable Throttling
选项则表示开启网络节流功能,可以看到,在图(2)的窗口中还有一个Only for selected hosts
选项,开启这个选项后,我们可以配置一些主机地址,从而只会针对这些主机地址的请求进行节流控制。
在Throttle preset
中预设了多种网络环境,对每一种预设都配置了一套网络环境参数,我们也可以自定义。
下面来解释一下窗口中的各个参数:
Bandwidth
用来配置上行和下行网络的带宽
Utilisation
用来设置上行和下行网络的利用率。
Round-trip latency
用来设置往返的延迟时间。
MTU
设置网络最大传输单元
Reliablity
设置网络可靠率。
Stability
设置网络稳定性。
Unstable quality range
设置不稳定范围。
当我们根据自己的需求自定义了一套网络环境参数后,也可以进行保存,填写完成后点击Add Preset按钮即可新增一种自定义预设,Remove Preset用来删除预设。实际上这个预设是一个XML文件,我们可以将其导出给其他人使用。Charles提供了非常人性化的导入/导出功能。