01.抓包工具Charles的介绍及使用

安装

https://www.cnblogs.com/wenjun145/p/12995535.html

介绍

主要特点

  1. SS代理,以纯文本形式查看SSL请求和响应
  2. 宽带限制,以模拟较慢的互联网连接,包括延迟
  3. AJAX调试,可以将XML和JSON请求和响应视为树或文本
  4. AMF调试,可以将Flash Remoting或Flex Remoting
  5. 支持重发网络请求
  6. 支持修改网络请求参数以测试不同的输入
  7. 截获和编辑请求或响应的断点
  8. 检查HTML,CSS和RSS内容是符合W3C标准

Charles主界面

主导航栏

1.清除请求数据

2.开始/取消抓包

3.打开/关闭弱网,可以看页面在低网速下的表现,从而找出需要优化的点

4.设置

5.开启/关闭断点,可以修改响应返回值,测试数据是否正确验证

6.修改请求数据,修改参数值,进行测试验证

7.重发模拟请求

8.校验返回的请求

9.工具栏

请求栏

Charles 主要提供两种查看封包的视图分别名为 “Structure” 和 “Sequence”

Structure 视图将网络请求按访问的域名分类

Sequence 视图将网络请求按访问的时间排序

通过域名进行请求过滤

PC端抓包

  1. 启动Charles会自动与浏览器设置代理,通过浏览器发送网络请求,Charles会直接抓取到这些信息和响应信息。不需要抓取Windows的话,只需要不启用Windows代理就可以。下图所示:

  1. 证书安装:Help -> SSL Proxying ->Install Charles Root Certificate,下图所示:

  2. 菜单中找到 proxy -> SSL proxy setting -> 勾选Enable SSL Proxying -> locations 里 添加一个 host 为*的 通配符 即可通配所有域名,下图所示:

完成以上操作PC端就可以轻松抓包了

过滤网络请求

方法一:在主界面中Filter栏中填入需要过滤的关键字。下图所示:

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

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

模拟弱网环境

  1. 菜单中Proxy–>Throttle Settings打开网络设置页面,下图所示:

  2. 勾选Enable Throttling开启限制网速功能,Throttling preset中可以选择工具配置网络状况,下图所示:

配置参数:

Bandwidth——宽带定义数据可以传送超过时间上限,这是千比特每秒指定。可以指定上载和下载链接的不同带宽限制

Utilisation——宽带可用率

Round-trip latency——延迟,单位是MS

MTU——最大传输单元,即TCP包最大的是size,可以更真实的模拟TCP层每次传输的分包情况

Reliability——连接的可靠性,用于模拟网络不稳定Stability——连接稳定性,也会影响宽带可用性,用于模拟移动网络,移动网络连接一般不可靠

Unstable quality range——不稳定质量范围,要针对于Stability中设置中的范围

  1. 勾选主菜单中的小乌龟,连接Charles的客户端就可以模拟弱网环境了。下图所示:

断点修改请求数据&响应数据

断点

  1. 找到我们需要断点的接口右击,选择Breakpoints,下图所示:

  2. 主导航栏Proxy-->Breakpoint Settings,勾选Enable Breakpoints,双击需要断点的接口,出现Edit Breakpoint窗口,将Query替换为*号点击ok,下图所示:

完成以上操作后断点就配置成功了

修改请求数据

断点设置成功后再次请求该接口会出现以下页面,双击我们需要修改的数据来修改内容,修改完成后点击Execute ,下图所示:

修改完成后再次请求接口就可以看到我们请求的数据修改成功了

修改响应数据

首先执行断点,在修改response的时候,只勾选response,然后再次请求接口,会出现 Edit Response,修改Response的数据后点击Execute,之后就可以在页面上看到我们修改的数据了,下图所示:

请求重定向:

方法一:Charles 的菜单中,选择 Tools–>Map Remote,勾选Enable Map Settings后点击Add,添加需要重定向的接口。下图所示:


方法二:选择需要重定向的接口右击选择Map Remote,添加需要重定向接口保存后重新访问接口。下图所示:

请求重定向到本地文件

方法一:Charles 的菜单中,选择 Tools–>Map Local,勾选Enable Map Local后点击Add,添加需要重定向的本地接口文件,完成后重新访问接口即可。下图所示:

方法二:

  1. 选中需要修改的接口,右键选中Reponse将接口文件保存下来,下图所示:

  2. 本地打开文件,修改我们需要修改的内容并保存
  3. 修改好数据后,再回到Charles工具,右键选中第一步中抓取的接口,点击Map Local(此时Edit Mapping中的内容已经默认填充好了,如果想保存的文件的内容作用于所有参数,那么需要删除query框默认填充的内容,但是如果只想作用于特定的接口,那么可以带上默认的填充内容),下图所示:


    完成以上操作后再访问一次接口就可以看到我们修改的数据了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值