180403-charles抓包工具使用

charles的简单使用

一、charles简介

正常情况下,Chrome DevTool已经满足了日常web开发的需求,但是有的特性:编辑request参数、重定向request请求资源、编辑response数据,使用ChromeDevTool就感觉力不从心啦,而且查看和调试移动端资源时候Chrome也并不好用。

使用charles可以做这些事情:

  • 抓取 http 和 https 的请求和响应,这是最常用的。
  • 重发网络请求,方便后端调试。
  • 修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。
  • 网络请求的截获和动态修改。
  • 支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。
  • 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方便的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试)。
  • 可以抓手机端访问的资源(如果是配置HOST的环境,手机可以借用host配置进入测试环境)。

二、安装

去官网下载软件并安装

三、配置

charles可以免费试用30天,强烈支持购买正版软件,现在使用的版本4.2.7

overview

四、视图

  1. 方法一:Charles 提供两种查看抓包的视图,分别名为Sequence 和 Structure

    • Sequence/序列视图,
      sequence
      将网络请求按访问的时间排序,按照你的电脑的发送请求顺序进行。

    • Structure/结构视图,将网络请求按访问的域名分类,比如某个域名下有n个资源请求,那么所有此域名下的请求都会在这里做一个详细的分类
      structure1

    有时候请求多了会看不过来,Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。
    structure2

    除此上面的方法之外,也可以修改Include的域名和端口。

    1. 方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了;

    include

    通常情况下,我们使用方法一做封包过滤,方法二做一些唯一的域名抓包。

  2. 方法三:过滤焦点域名

    在目标的网络请求上右键,选中focus(此时,该域名已经被设置为一个焦点标记了),然后点击fillter后面的focused来筛选你的做的focus标记文件。
    forcus

    这种方法是抓取特定的网络请求,你设置的焦点域名在”focused Hosts”里面可以查看和管理。

    forcushosts

    这种模式下的展现更加人性化,当你设置某个域名为焦点域名的时候,会把当前域名单独显示在上面,而其它的非焦点域名,都会在other Hosts里显示。

五、界面

uioverview

Contents是最常用的一个标签,其中上半部分是请求,下半部分是响应:请求部分中,会根据请求的内容,而分为很多项,比如如果是表单提交,还会有form的选项供你查看提交的内容(表格图形化的方式),最后一项”Raw”是未经处理的请求信息,可以理解为,raw左侧的所有项目都是对raw信息的拆分和美化,以便直观查看。

六、Proxy

proxyoverview
charles有强大的代理功能,总的来看大概可以分为5大块:

  1. 常用功能开关区

    1
    2
    3
    stop/start recording        开始/暂停记录
    stop/start throttling 开始/暂停节流
    enable/disable breakpoints 启用/禁用断点

    enable

  2. 常用功能设置区

    1
    2
    3
    recording settings         记录设置
    throttle settings 节流设置
    breakpoint settings 断点设置

    settings1

  3. 反向代理和端口转发区域

    1
    2
    reverse proxies            反向代理
    port forwarding 端口转发

    reverseandproxy)
    ))

  4. charles的代理身份配置区域

    1
    macOS Proxy  开启整个系统通过charles作为代理

    macproxy)
    )

  5. 常用的高级设置区

    1
    2
    3
    4
    5
    proxy setting             代理设置
    ssl proxy setting ssl代理设置
    access control setting 访问控制设置
    extornal proxy setting 外部代理设置
    web interface setting Web界面设置

    other

本文参考链接

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×