• 测试必备工具之最强抓包神器 Charles,你会了么?


    前言

    作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷;

    比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析;比如Wireshark,专注于调试网络问以及和分析网络协议包分析...

    然而,今天我要给大家分享的一款抓包工具叫做Charles,同样也是一个抓包神器!

    Charles是一款的抓包修改工具,其实也是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。

    它是用Java编写的,能支持Win体验可以使用免费试用版本,试用时间为30天。试用期过后每次只能试用30分钟,并且每次启动也会有延时。

    Charles主要功能非常丰富,包括:

    1、截取HTTP和HTTPS网络协议

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

    3、支持网络请求的截获并动态修改

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

    5、支持模拟网络

    下载安装包

    去Charles的官网,下载这个工具的安装包:

    https://www.charlesproxy.com/download/

    安装

    双击这个安装包,并且一路next即可完成安装。

    运行软件

    安装完成之后,找到这个文件的桌面快捷方式 

    双击打开即可运行软件。

    打开即可看到如上图的界面。

    设置代理

    如开头讲到的,Charles是通过将自己设置为电脑或者浏览器的代理从而达到抓包的目的的。

    所以设置代理是在菜单栏【Proxy】—【windows Proxy】,勾选即可。

    设置为代理之后,就可以开始抓取数据包了。

    视图

    从工具打开后的主页面可以发现,Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。

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

    这种视图我个人认为非常方便阅读和查找数据报文,因为同一个域名的所有新增请求都会添加到这个域名类中,而不会因为数据包过多而导致不方便查找的问题。

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

    这个视图跟其他的抓包工具就基本类似了。这种视图的一个弊端就是数据包过多会不太方便查找。

    过滤安装包

    Charles也考虑到了数据包过多不方便查找的问题,所以提供了网络请求过滤功能。通过过滤监控指定服务器的请求。

    要设置Charles数据包的过滤,有三种方法:

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

    例如我们的服务器的地址是:http://www.lemfix.com/ , 那么只需要在 Filter 栏中填入"lemfix'即可。回车后即可过滤出对应的数据包。

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

    这样可以快速地过滤出去一些不关心网络请求(收起到other hosts里),只显示我选中的数据包。

    方法三:在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,点击“add”新增加一个项目,然后填入需要监控的协议(如http),主机地址(想过滤的域名或者IP),端口号。

    配好之后,点击OK。这样就可以只截取目标网站的封包了。如下图所示:

    通常情况下,第一、二种方法可以用于临时性包过滤,如果有些服务器是你经常性访问的,可以用方法三设置为常规过滤规则。

    经过以上的步骤,就可以使用Charles工具开始愉快的抓包了!

  • 相关阅读:
    外键的三种形式
    MySQl创建用户和授权
    Django模板系统
    Django 简介
    jQuery
    JavaScript的BOM和DOM
    JS中的关键字和保留字
    Git 源码管理工具简单入门
    Git使用
    常见的三种SQL分页方式
  • 原文地址:https://www.cnblogs.com/nmb123/p/13141296.html
Copyright © 2020-2023  润新知