抓包神器-Charles

2019-03-14   出处:简书  作/译者:王小木  


一、简介

抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。比较常用的抓包工具Fiddler ,但是由于 Fiddle 使用 C# 语言开发的,不支持 Mac OS 系统,今天给大家推荐一款Mac平台下的抓包申请Charles,Charles是使用 Java 语言开发的,跨平台,支持各个系统下的设备使用。

二、安装及破解

2.1、安装:官网地址http://www.charlesproxy.com/,直接下载安装即可,过程比较简单。
2.2、破解:官方版本只支持免费使用30天,可通过替换安装包内容中的 charles.jar 文件进行破解。
在线生成 charles.jar :https://www.zzzmode.com/mytools/charles/

三、界面介绍

3.1、工具导航栏


image.png

3.2、主界面视图

image.png

Structure: 此视图将网络请求按访问的域名分类。
Sequence: 此视图将网络请求按访问的时间排序。
Filter:请求多的时候会看不过来,Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络

四、抓包

4.1、配置:打开Charles,点击上方菜单栏-->proxy,勾选macOS Proxy,此时已经可以监听PC端的一切网络连接及流量监控。

4.2、访问需要抓包的链接,开始抓取数据。


image.png

五、修改请求和返回报文

5.1、首先开启断点模式,在Charles的面板上方将断点的图标点亮

image.png

5.2、设置断点,选中要修改的请求-->右键-->BreakPoints (左面出现对勾表示设置成功),设置完成后,Charles再次抓取到该请求时会自动进入到调试模式。

5.3、进入调试模式后,点击Edit Request可以修改请求报文,点击Execute进行下一步(如不修改,直接点击Execute进行下一步)

image.png

5.4、请求报文发送成功后,Charles会拦截服务器返回的数据,这里可以点击Edit Response修改返回数据,点击Execute进行下一步(如不修改,直接点击Execute进行下一步)

image.png

六、模拟弱网

6.1、点击上方菜单栏-->Proxy-->Throttling Settings,打开Throttling Settings弹窗。

6.2、勾选Enable Throttling,开启限网功能。

image.png

6.3、如果只想对特定地址的请求进行弱网测试,,勾选Only for selected hosts,添加请求地址的信息。

6.4、在 Throttle Preset 下选择网络类型即可,具体设置可以根据实际情况自行设置。

image.png

6.5、也可以自定义网络设置。

image.png

配置参数解析:
Bandwidth :带宽,即上行、下行数据传输速度。
Utilisation :带宽可用率,大部分modern是100%。
Round-trip latency :第一个请求的时延,单位是ms。
MTU :最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
Releability :指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
Stability : 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。

七、解决乱码问题

在使用过程中,遇到乱码情况,在网上找解决方案,走了一些弯路,把最终解决方案整理如下。

7.1、上方菜单栏-->Help -->SSL Proxying-->Install Charles Root Certifica,进入钥匙串访问页面。

image.png

7.2、双击该行,进入下图:

7.3、点击“信任“,“加密套接字协议层(SSL)”一栏选择始终信任,关闭保存即可。

image.png

7.4、再次点击上方菜单栏 -->Proxy -->SSL Proxy Settings -->Add,维护Location信息,Host输入*(代表所有网站),Port输入443,点击ok即解决了乱码问题。






欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
142°|1424 人阅读|0 条评论

登录 后发表评论
最新文章