zoukankan      html  css  js  c++  java
  • Charles抓包工具的使用

    一、断点调试Breakpoint Settings

    1、Charles的断点调试如下图,或者选择对应的接口鼠标右键点击“Breakpoint Settings”进入断点;

    2、程序运行进入断点模式,可以在request中编辑请求参数,然后点击“execute”执行获得response,又可以在response中编辑返回的值提供给程序;

    二、将请求地址映射到别的请求

    1、如下图点击“Map Remote”,或选择对应接口鼠标右键点击进入;

    2、进入“Edit Mapping”后,“Map From”填入原来的请求地址,“Map To”填入要映射的地址

    三、过滤网络请求

     1、在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://yuantiku.com , 那么只需要在 Filter 栏中填入 yuantiku 即可。该方法适合临时性的过滤

     2、在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。该方法适合经常性的封包过滤

     3、在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:

     

    四、截取Https信息:需要安装证书

     1、Charles上安装证书,点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”,然后输入系统的帐号密码,即可在 KeyChain 看到添加好的证书。如下图所示:

     

    2、需要注意的是,即使是安装完证书之后,Charles 默认也并不截取 Https 网络通讯的信息,如果你想对截取某个网站上的所有 Https 网络请求,可以在该请求上右击,选择 SSL proxy,如下图所示:这样就可以对该host的所有SSL请求截取了

     

    3、若要在移动设备截取HTTPS内容,需要在手机上安装相应的证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。如下图所示:

     

    按照我们之前说的教程,在设备上设置好 Charles 为代理后,在手机浏览器中访问地址:http://charlesproxy.com/getssl,即可打开证书安装的界面,安装完证书后,就可以截取手机上的 Https 通讯内容了。不过同样需要注意,默认情况下 Charles 并不做截取,你还需要在要截取的网络请求上右击,选择 SSL proxy 菜单项。

    五、模拟弱网络

      1、在 Charles 的菜单上,选择 “Proxy”–>“Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。如下图所示:

    如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项,然后在对话框的下半部分设置中增加指定的 hosts 项即可。
     
    六、修改网络请求内容
     1、Charles 可以方便地提供网络请求的修改和重发功能。只需要在以往的网络请求上点击右键,选择 “compose”,即可创建一个可编辑的网络请求。如下所示:
     我们可以URL 地址、端口、参数等,之后点击 “Execute” 即可发送该修改后的网络请求,Charles支持多次修改发送请求

    七、给服务器做压力测试:可使用repeat功能简单测试服务器并发处理能力

      1、网络请求上(POST 或 GET 请求均可)右击,然后选择 「Repeat Advanced」菜单项,如下所示:

    接着我们就可以在弹出的对话框中,选择打压的并发线程数以及打压次数,确定之后,即可开始打压。

    八、修改服务器返回内容:Charles提供了Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以达到修改服务器返回内容的目的

     1、Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。

     2、Rewrite 功能适合对网络请求进行一些正则替换。

     3、Breakpoints 功能适合做一些临时性的修改。

    Map 功能

    Charles 的 Map 功能分 Map Remote 和 Map Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。
    在 Charles 的菜单中,选择 “Tools”–>“Map Remote” 或 “Map Local” 即可进入到相应功能的设置页面。
    对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以留空。下图是一个示例,我将所有 ytk1.yuanku.ws(测试服务器)的请求重定向到了 www.yuantiku.com(线上服务器)。
    对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。对于有一些复杂的网络请求结果,我们可以先使用 Charles 提供的 “Save Response…” 功能,将请求结果保存到本地(如下图所示),然后稍加修改,成为我们的目标映射文件。
     

     

  • 相关阅读:
    [LeetCode] 17. 电话号码的字母组合 ☆☆☆(回溯) ###
    [LeetCode] 22. 括号生成 ☆☆☆(回溯)
    [LeetCode] 15. 3Sum ☆☆☆(3数和为0)
    Trie 树(字典树)
    dubbo框架梳理
    Linux内存管理与C存储空间
    C语言实现的minixml解析库入门教程
    函数不定参数个数的实现
    C语言变量名转字符串的方法
    C语言编译和链接
  • 原文地址:https://www.cnblogs.com/blogofzxf/p/10942125.html
Copyright © 2011-2022 走看看