Charles抓包工具使用介绍

<div id="article_content" class="article_content csdn-tracking-statistics tracking-click" data-mod="popu_519" data-dsm="post" style="overflow: hidden;">
                            <div class="markdown_views">
                        <h1 id="charles抓包工具使用介绍"><a name="t0"></a>Charles抓包工具使用介绍</h1>






<h2 id="charles简介"><a name="t1"></a>Charles简介</h2>


<p>Charles是一个http协议调试的代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯、设置断点、查看所有进出Charles数据的一款抓包工具 <br>
Charles主要功能包括:</p>


<ul>
<li>截取 Http 和 Https 网络封包</li>
<li>支持重发网络请求,方便后端调试</li>
<li>支持修改网络请求参数</li>
<li>支持网络请求的截获并动态修改</li>
<li>支持模拟慢速网络</li>
</ul>






<h2 id="charles的下载安装"><a name="t2"></a>Charles的下载安装</h2>


<p>本人使用的是64位windows操作系统,安装Charles4.2.0最新破解版本,安装包以及破解教程请参考如下地址,请根据自己当前系统下载安装 <br>
下载地址:<a href="https://www.52pojie.cn/thread-619994-1-1.html" target="_blank">https://www.52pojie.cn/thread-619994-1-1.html</a></p>






<h2 id="设置代理抓包"><a name="t3"></a>设置代理抓包</h2>






<h3 id="charles基础配置"><a name="t4"></a>Charles基础配置</h3>


<p>安装完成后默认开启自动设置代理服务器,且端口默认为8888,用户可根据自身需要来自行设置或更改端口,其路径为Proxy —>Proxy Setting,勾选Enable transparent HTTP proxying <br>
如下图 <br>
<img src="https://img-blog.csdn.net/20171226114603850?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<h3 id="移动端配置"><a name="t5"></a>移动端配置</h3>


<p>1、win+R键唤起运行窗口输入cmd点击确定,在弹窗内输入ipconfig敲下Enter键,找到自己当前的网络或者在Charles中依次点击“Help”—>“Local IP Address”获取地址,如图</p>


<p><img src="https://img-blog.csdn.net/20171226121230029?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p><img src="https://img-blog.csdn.net/20171226141327567?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p>2、手机端在无线网络中配置代理,输入该地址,输入Charles的端口即可配置完成,如图 <br>
<img src="https://img-blog.csdn.net/20171226141843183?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<h2 id="charles的视图模式"><a name="t6"></a>Charles的视图模式</h2>


<p>在Charles抓取到请求之后,有两种视图模式,见下图</p>


<p>1、按域名分类排列</p>


<p><img src="https://img-blog.csdn.net/20171226114753134?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""> <br>
2、按请求时间排序</p>


<p><img src="https://img-blog.csdn.net/20171226150107371?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<h2 id="过滤请求"><a name="t7"></a>过滤请求</h2>


<p>1、Proxy —> recording setting —> include下设置要过滤的url,如下图 <br>
<img src="https://img-blog.csdn.net/20171226145237043?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p>2、按url过滤</p>


<p><img src="https://img-blog.csdn.net/20171226135336029?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<h2 id="模拟慢速网络"><a name="t8"></a>模拟慢速网络</h2>


<p>在开发与测试的时候,我们常常需要模拟慢速网络或者高延迟的网络,以此测试在移动网络下,应用的表现是否正常; <br>
选择 “Proxy”––>“Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型;如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项,然后在对话框的下半部分设置中增加指定的 hosts 项即可,如图</p>


<p><img src="https://img-blog.csdn.net/20171226145606602?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<h2 id="简单压力测试"><a name="t9"></a>简单压力测试</h2>


<p>在请求上右键,选择repeated advanced,设置并发线程数及压测循环次数,可以对接口进行简单压测</p>


<p><img src="https://img-blog.csdn.net/20171226144025195?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>






<h2 id="修改服务器返回内容"><a name="t10"></a>修改服务器返回内容</h2>


<p>有些时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等,Charles 提供了 Map 功能和 Breakpoints 功能,都可以达到修改服务器返回内容的目的。二者在功能上的差异是:</p>


<blockquote>
  <ul>
  <li>Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件</li>
  <li>Breakpoints 功能适合做一些临时性的修改。</li>
  </ul>
</blockquote>


<p>1、Map 功能分 Map Remote 和 Map Local 两种,Map Remote 是将指定的网络请求重定向到另一个网址请求地,在 Charles 的菜单中,选择 “Tools”–>“Map Remote” 即可进入到相应功能的设置页面 <br>
对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以留空;只填写host时只是重定向域名,访问路径不会变,Path输入框可以输入请求路径,Query输入框可以输入一些请求参数,如图 <br>
<img src="https://img-blog.csdn.net/20171226145815077?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p>2、Map Local 是将指定的网络请求重定向到本地文件。在 Charles 的菜单中,选择 “Tools”—>“Map Local” 即可进入到相应功能的设置页面 <br>
对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。对于有一些复杂的网络请求结果,我们可以先使用 Charles 提供的 “Save Response…” 功能,将请求结果保存到本地,然后稍加修改,成为我们的目标映射文件,Path输入框可以输入请求路径,Query输入框可以输入一些请求参数,如图</p>


<p>(1)先将其接口Save Response到本地,在本地打开文件将需要更改的内容加以修改并保存</p>


<p>(2)右键当前的接口选择 Map Local 选择刚才保存到本地的文件,如图</p>


<p><img src="https://img-blog.csdn.net/20171129163321589?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p>(3)重新请求当前接口 ,会发现数据已被更改</p>


<p>3、Breakpoints:先在请求上右键选择Breakpoint,然后proxy —> Breakpoints Setting —> 请求URl —>自动进入Charles断点(分别会有Edit Request和Edit Response),Edit request后execute会自动进入Response界面,可以修改返回数据,然后Execute,界面显示的便会是修改后的数据;需要注意的是,使用 Breakpoints 功能将网络请求截获并修改过程中,整个网络请求的计时并不会暂停,所以长时间的暂停可能导致客户端的请求超时</p>


<p><img src="https://img-blog.csdn.net/20171226140537396?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<h2 id="抓取https请求"><a name="t11"></a>抓取https请求</h2>


<p>1、安装官方证书,首次安装是未信任证书,需要手动设置成信任 <br>
路径:Help —> SSL Proxying —> Install Charles Root Certificate点击后安装即可</p>


<p><img src="https://img-blog.csdn.net/20171129180040663?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p>2、移动端连接Charles,在浏览器中输入chls.pro/ssl,此时会弹出一个弹窗,任意输证书名称,点击确认即可,如图</p>


<p><img src="https://img-blog.csdn.net/20171129181101493?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p>3、启动应用,Charles抓取到https的请求后,会无数据显示,此时需要在Charles中做如下配置,路径为Proxy —> SSL Proxying Setting添加需要抓取的域名,当配置成功后,再次请求即可抓到https数据</p>


<p><img src="https://img-blog.csdn.net/20171226140652276?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>


<p><img src="https://img-blog.csdn.net/20171226114005559?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenp5ejUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title=""></p>                            </div>
                <link rel="stylesheet" href="http://csdnimg.cn/release/phoenix/production/markdown_views-d4dade9c33.css">
                    </div>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值