charles|charles 抓包工具使用汇总
安装破解链接:
证书的安装:
使用一:
使用二:
Charles****简介:
Charles是一款抓包神器,因为他是基于 java 开发的,所以跨平台,Mac、Linux、Window下都是可以使用的,确保安装之前已经安装了JDK。Charles
官网地址:https://www.charlesproxy.com
下载地址:https://www.charlesproxy.com/download/
一、 安装
a) 操作系统:Windows、MacOS
b) Java(JDK) 环境变量配置;
二、 抓包https包:
a) 在电脑上安装证书:点击Help-SSL Proxying-Install charles root certificate,下载并安装证书如下图
文章图片
image.png
文章图片
image.png 点击下一步
文章图片
image.png 继续下一步直到导入成功,
文章图片
image.png
iv. 在手机上下载证书 :(1)点击Help-SSL Proxying-Install charles root certificate on a Mobile Device..如下:
文章图片
image.png
文章图片
image.png i. 在手机端设置代理,并在手机浏览器地址栏输入下图中地址:chls.pro/ssl或者charlesproxy.com/getssl 下载并安装证书,具体安装官方教程文档参考: https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Android 7.0以上 应用中配置如下:
Add a file res/xml/network_security_config.xml to your app:
Then add a reference to this file in your app's manifest, as follows:
在AndroidManifest.xml文件需要加入以下配置:
...
b) 设置SSL Proxying Location:点击Proxy-SSL Proxying Settings,在SSL Proxying选项卡界面点击Add添加--Host:*,Port:443,如下图
文章图片
image.png
i. 如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。
c) Charles 设置代理端口号如下:proxy –>Proxy Settings;端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。
文章图片
image.png
ii. 勾选了SOCKS proxy,还能截获到浏览器的http访问请求。
三、 Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。
a) Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。
文章图片
image.png
b) Sequence形式如下图 优点:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。
文章图片
image.png
c) 过滤网络请求 通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法: 方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:api-stage.gaojihealth.cn , 那么只需要在 Filter 栏中填入 api-stage.gaojihealth 即可。
方法二:在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号,也可以在exclude栏添加不抓取包的地址。这样就可以只截取目标网站的封包了。如下图所示:
文章图片
image.png
方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:
文章图片
image.png
d) 这种方式可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求;目的是将需要关注的网路请求和其他网络请求区分开 以上总结:通常情况下,使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤,方法三可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求。
四、 Breakpoints 功能:临时修改一次网络请求结果
a) Breakpoints 功能类似我们在 程序中设置的断点一样,当指定的网络请求发生时,Charles 会截获该请求,这个时候,我们可以在 Charles 中临时修改网络请求的返回内容。
下图是我们临时修改获取用户信息的 report,将用户的日销售额进行了更改,修改完成后点击 “Execute” 则可以让网络请求继续进行。
文章图片
image.png
ii. 需要注意的是,使用 Breakpoints 功能将网络请求截获并修改过程中,整个网络请求的计时并不会暂停,所以长时间的暂停可能导致客户端的请求超时。
五、 Rewrite 功能 Rewrite 功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。 例如,我们的客户端有一个 API 请求是获得日销售额,而我当前的日销售额是 “4498”,如下所示:
文章图片
image.png 完成设置之后,我们就可以从 Charles 中看到,之后的 API 获得的昵称被自动 Rewrite 成了999999,如下图所示:
文章图片
image.png
六、 Map 功能
a) Charles 的 Map 功能分 Map Remote 和 Map Local 两种,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。 在 Charles 的菜单中,选择 “Tools”–>“Map Remote” 或 “Map Local” 即可进入到相应功能的设置页面。 对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以留空。
文章图片
image.png
b) MapLocal功能, 对某个已经抓到的包进行右击->Save Response;然后Tools->Map Local,添加网址和定向的文件地址。如下图:
文章图片
image.png
七、 给服务器做压力测试。
a) 我们可以使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力,方法如下。 我们在想打压的网络请求上(POST 或 GET 请求均可)右击,然后选择 「Repeat Advanced」菜单项,如下所示:
文章图片
image.png
ii. 接着我们就可以在弹出的对话框中,选择打压的并发线程数以及打压次数,确定之后,即可开始打压。
八、 模拟网速
a) 依次点击proxy—throttle settings—勾选enable throttling—勾选only ....
【charles|charles 抓包工具使用汇总】b) 可以按已设置的各种网速下的选项进行测试,能测试出被测对象网络状况不太理想的状态。
文章图片
image.png
推荐阅读
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 孩子不是实现父母欲望的工具——林哈夫
- 最有效的时间管理工具(赢效率手册和总结笔记)
- 工具|后天就是七夕节,你准备好了吗(送上几个七夕代码,展示你技能的时候到了!)
- 工具分享|5个有趣好玩的网站,拒绝无聊!
- 工具人的一天
- jvm常见分析工具
- docker镜像探索----dive工具
- 【22】高效·要有高效的工具支持
- 《人民的名义》来看人生必备的七张保单,保险是每个家庭理财必备的工具!