zoukankan      html  css  js  c++  java
  • Charles抓包使用教程

    charles相当于一个插在服务器和客户端之间的“过滤器”;

    当客户端向服务器发起请求的时候,先到charles进行过滤,然后charles在把最终的数据发送给服务器;

    注意:此时charles发给服务器的数据,不一定是客户端请求的数据;charles在接到客户端的请求时可以自由的修改数据,甚至可以直接Block客户端发的请求;

    服务器接收请求后的返回数据,也会先到charles,经过charles过滤后再发给客户端;

    同理:客户端接收的数据,不一定就是服务器返回的数据,而是charles给的数据;

    正因为上面的原理,所以charles能实现的功能,对前端开发者来说非常有吸引力,相当于请求和响应都可控的,而且charles为了控制更加方面,提供很多简洁的操作

    1.下载安装

     https://www.charlesproxy.com

    2.设置代理

    点击“代理-代理设置”,设置一个端口

    手机连接wifi后,配置该wifi代理为手动,代理主机输入本机电脑的ip和此端口,就可以正常抓包

    3.设置抓取特定ip

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

    方法二:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。

     4.模拟接口发送请求

    △Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。
    △Rewrite 功能适合对网络请求进行一些正则替换。
    △Breakpoints 功能适合做一些临时性的修改。

    先新建一个JSON文件,取名 test.json,输入一个简单的测试数组

    [
    “hello”,
    “world”
    ]

    打开Charles,Tools - Map Local

     5.charles重复发送一个网络请求&同时发送N次

    重发网络请求的目的:后端调试的过程中,一直在客户端进行点点点比较麻烦,此时直接发送请求比较方便查看调试后的结果(方便后端调试)

    1.重复发送一个请求(有两种方法)

    (1)选定该请求,右键选择repeat,则会将请求重新发送一遍

    (2)选定该请求,直接点击导航栏上面的重复按钮,下图所示

     

    2.让请求同时发送N次

    目的是判断多次发送请求时,服务器的响应时间如何。

    右键选中该请求,repeat下面还有一个Repeat Advanced选项,其实该选项也是重复发送请求的一种,可以同时发送多个请求。点击ok之后会回到主页面可观察到请求被发送了10次。

     

     6.撰写请求

    可以修改、增加、删除参数名、参数值,请求头等等

    7.断点--可以看到 修改过后的请求返回是什么效果,达到测试的目的。

    Breakpoints 功能类似我们在 Xcode 中设置的断点一样,当指定的网络请求发生时,Charles 会截获该请求,这个时候,我们可以在 Charles 中临时修改网络请求的返回内容。

    对要打断点的接口右键,选择【Breakpoints】

    在工具栏可以查看打上断点的url

     双击此url,修改查询为*,设置可修改请求和响应

    点击ok, 重新再跑一下接口。 当跑到设置断点的接口时,网页会暂停,这个时候Charles进入breakpoints

    点击Edit Request 修改请求参数。这里根据你要测试的数据来修改

     修改好参数后,点击Execute (执行)。 另外 Abort (中止), Cancel (取消)

    点击执行后,来到返回的页面,这个时候在Charles可以查看返回的数据。也可以对其进行修改,好了之后 点击 Execute

     8.模拟慢速网络

    选择 “Proxy”->”Throttle Setting” (节流设置)项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。如下图所示:

  • 相关阅读:
    也用 Log4Net 之将日志记录到数据库的后台实现 (二) jerry
    也用 Log4Net 之将自定义属性记录到文件中 (三) jerry
    Mongodb之(初出茅庐) jerry
    Mongodb之(初识如故) jerry
    Entity Framework 4.1/4.3 之七 (DBContext 之4 数据验证) jerry
    跨服务器导入数据SQL语句 jerry
    EasyUI ComboTree 异步加载 ( .net 版 ) jerry
    Mongodb之(小试牛刀) jerry
    Sql Server 技术细节之(如何修改表的所有者) jerry
    [转]VS2008的DDK环境配置及DDK下载
  • 原文地址:https://www.cnblogs.com/dydxw/p/15572876.html
Copyright © 2011-2022 走看看