• charles工具使用


    一、基本设置与界面

    1.初次打开

    charles是需要破解以后才可以持续使用的。在此附上下载破解文件链接(选择对应版本的破解jar包下载):https://www.zzzmode.com/mytools/charles/

    为了让所有浏览器(或者网络应用)的数据送达到charles手中,您必须设置charles为代理服务器,但每次开启或关闭charles后,都要重新配置,如果您想偷点懒,可以在Proxy->Proxy Settings弹出的对话框中配置行为。

     HTTP Proxy:http请求

    SOCKS Proxy:socks请求。

    Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。而浏览网页时的代理服务器通常是http代理。

    能浏览网页,不等于一定可以通过Socks访问Internet,socks要比http宽松的多

    2.session

    charles最重要的功能就是记录,所有的请求和响应都会记录到session中,供大家稍后检查和 分析。打开菜单栏中的File,在这里可以管理您的session,包括新建,打开,清空等等。

     

    (每次启动charles,都会自动创建一个新的session)

    2.1关闭记录,Charles会正常通过所有请求,但它们不会记录在session中,可以点击下面来关闭记录

     3.结构视图和顺序视图

     两个选择'Structure'和'Sequence'

    charles提供了两种显示方式,你可以在view->structure/sequence中切换,也可以在界面中直接切换

    Structure:树图显示

    Sequence:时间顺序展示

    4.筛选session请求记录

    可以通过右键host名,会出现一系列对应的操作,比如保存和对焦

     charles:“对焦操作可以让过滤掉没用的信息,比如我只想关注baidu,我可以对http://bd.iegourl.com进行focus,这样那些非百度的host就会被折叠,就会出现下面这样

     5.chart

     chart主要记录了一个资源的生命周期:从请求到等待到响应请求,不仅如此,它还将相关资源分组,比如下面图

     6.SSL

    对https抓包,需要安装安全证书Charles Root Certificate,在抓取数据时,你很可能会收到关于证书的警告,那很正常,你只需要信任它即可,如果你想一劳永逸,永久信任Charles Root Certificate的话,你可以按照下面的链接来操作”

    信任Charles Root Certificate:https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

    SSL的工作原理,其实我是中间人,替浏览器查看服务器的证书并签名,但同时会把自己的证书发给浏览器,因此会出现警告,你需要添加到信任序列才能正常使用

     7.负载测试

     

     8.弱网测试

     charles自带弱网工具,在Proxy->Throttle Settings下,使用前要记得勾选Enable Throttling

    如果你想指定网站,可以勾选下图中的 Only for selected hosts,然后在对话框的下半部分设置中增加指定的hosts项

    Throttle Settings 视图中的选项含义如下:

    1. Bandwidth:带宽

    2. Utilistation:利用百分比

    3. Round-trip:往返延迟

    4. MTU:字节

    9.断点设置

    打开Proxy->Breakpoints Settings,勾选 Enable Breakpoints就可以启用断点模式,选择Add,然后填入需要监控的Scheme、Procotol、Host和Port等信息,这样就达到了设置断点的目的。或者可以在某个想要设置断点的请求网址上右击选择Breakpoints来设置断点

     

     也可以通过选择请求记录,点击右键选择断点

     10.反向代理

    反向代理就是客户端想访问服务器,他会优先访问代理服务器,当proxy关口拿到用户请求的时候会转发到代理服务器中的随机某一台。而在用户看来,他只是访问了Proxy服务器而已。也就是说,反向代理就是服务器的代理,客户端根本不知道服务器的存在,只知道代理服务器的存在

    charles可以在Proxy→Reverse Proxies Settings找到这个功能,这可是很常用的,特别是对于本地开发且需要域名的情况下

     下图意思将本地3306端口映射到www.baidu.com域名的80端口

     11.使用手机(需要保持同一网段)

    打开Proxy->Proxy Settings,填入代理端口8888,并勾上 “Enable transparent HTTP proxying” 即完成了代理。(prot可以自己设置没有被占用的端口)

    然后在手机wifi网络中添加代理,输入电脑IP和charles的端口号:8880,就可以抓手机上的网络数据了

    【抓取https】

    charles靠一张证书就解决了加密问题,如果使用的是电脑,按照下面这样安装证书(选择安装到本地计算机受信任的根证书下):

     如果使用的是手机:

     

     手机浏览器访问:chls.pro/ssl,下载安装证书即可

    二、重定向

    Charles 的重定向功能分 Map Remote 和 Map Local 两种,

    Map Remote 是将指定的网络请求重定向到另一个网址请求地址

    Map Local 是将指定的网络请求重定向到本地文件,下面用一个例子具体说明一下。

    mapLocal:

    1.先保存接口返回数据

    2.对保存到本地的返回数据进行修改,保存

    3.设置charles进行map local

     4.此时再次请求

    在 Charles 的菜单中,选择 “Tools”->”Map Remote” 或 “Map Local” 即可进入到相应功能的设置页面。

    Map Remote:

    1.设置参数Toos->Map Remote

     查看访问结果,你会发现,www.baidu.com会被重定向到www.sougou.com

    三、Rewrite功能

    Rewrite 功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。

    1.打开Tools->Rewrite,对内容进行替换,下面把页面中“我的关注”替换为吖咪测试关注

     2.再次申请百度

    就会展示修改成功以后的内容

  • 相关阅读:
    #455. 【UER #8】雪灾与外卖
    lmh's邻位交换总结
    [ARC088C] Papple Sort
    【模板】二次剩余
    P3241 [HNOI2015]开店
    P4248 [AHOI2013]差异
    P6640 [BJOI2020] 封印
    【笔记】牛客、产品笔试题
    【笔记】TX笔试-压缩算法
    【笔记】分组
  • 原文地址:https://www.cnblogs.com/xiaochao-testing/p/13391779.html
Copyright © 2020-2023  润新知