• 学习笔记-Charles 抓包工具的使用(针对HTTP协议)


    Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。能够在Windows,Mac,IOS和Android多平台上使用

    一、Charles的主要功能:

    (1)截取Http 和 Https 网络封包

    (2)支持重发网络请求,方便后端调试

    (3)支持修改网络请求参数

    (4)支持网络请求的截获并动态修改

    (5)支持模拟慢速网络

    二、电脑抓包

    打开Charles, “录制”按钮为开启状态,随便在浏览器上访问下想要抓的页面,则可在Charles里看到,包括Request,Response,Headers,Cookies等信息

    三、手机抓包

    1、查看 Charles 中HTTP的端口设置:Proxy - Proxy Settings -Proxies 中Port的值,也可进行修改设置, 常见的设置8888或者8080 

    2、查看电脑IP地址:

     

    3、手机网络设置:wifi - 代理- 手动 - 填写主机名(电脑IP),端口号  <步骤1中的Charles的端口号,步骤2中的IP地址>

    前置条件:使手机和电脑在同一网段(可以手机和电脑同时连一个WIFI)

     4、然后手机发起请求,要选择同意(allow) (如果没有弹出此界面,一般无法抓包,请确认防火墙关闭,并重启charles) 

    5、手机任意打开某些HTTP站点或者APP,通过Charles 能看到请求信息

     

    四、修改Request及Response

    1、修改Request

     (1)右击需要被修改的请求,选择Breakpoints;再右键就会看到Breakpoints 前有打勾

    (2)、 再次访问已添加断点的请求时会被中断,访问会处于加载状,可以通过“Edit Request” 窗口修改请求内容, 然后点击“Execute” 继续执行请求;如果不需要修改Request内容的话,也可直接点击“Execute” 继续执行请求

    2、修改Response

    由于选择了Breakpoints,修改Request 执行后,请求发出,服务器处理后返回Response也会被中断,可以通过“Edit Request” 窗口修改返回内容, 然后点击“Execute” 把修改后的Response返回给客户端;如果不需要修改Response内容的话,也可直接点击“Execute” 把Response内容返回

    如下图,把<title> 中的值改为当铺,然后点击“Execute

    操作后可以取消对Breakpoints的勾选,再执行时该请求就不会被中断了

    五、筛选请求

    当Charles抓取到很多请求时,而自己关注的请求往往只有某一个,在那么多请求中找出一个请求比如难,可以通过筛选来查看关注的请求

    Charles有两种视图,Structure和Sequance。

    Structure视图是默认的,它展示的是按结构来组织的请求,通过结构你可以逐步锁定你关心的请求所在的范围直到找到它;

    Sequance视图下,你可以在Filter区域写入关键字来过滤出你关心的请求,这种办法更加直接快捷

  • 相关阅读:
    关于 SQL Server 的事务隔离
    Joplin与阿里云OSS做同步
    vite配置vitepluginstyleimport插件后启动报错
    FireDAC组件快照
    mvn site:java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent
    MySQL8 二进制日志
    MySQL8配置文件
    创建一个 autocomplete 输入系统 前端 + 后端
    5.Ceph 基础篇 认证
    修复 Elasticsearch 集群的常见错误和问题
  • 原文地址:https://www.cnblogs.com/fenggf/p/8651553.html
Copyright © 2020-2023  润新知