接口测试辅助工具?全网最火爆的抓包工具对比,哪种更合适?


前言

身为软件测试工程师,抓包在工作中总是无处不在。

遇到问题要做分析需要抓包;
发现bug需要定位要抓包;
检查数据传输的安全性需要抓包;

接口测试遇到需求不全的也需要抓包…
就因为抓包在测试工作中无处不在,所以市面上才会出现一大批的抓包工具供大家选择。

Fiddler/Charles抓包:https://www.bilibili.com/video/BV1HG411K7Lt/

今天就来聊聊,如何才能在工作中能够合理地选择更适合的工具,更好的辅助测试工作的执行。

Fiddler

Fiddler工具非常经典且强大,这点大家应该都所体会。它可以提供电脑端、移动端的抓包、包括http协议和https协议都可以捕获到报文并进行分析;可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行APP弱网测试等。

所以,fiddler的第一个优点,就是功能强大并齐全;

第二个优点就是Fiddler是开源免费的,所有的电脑只要安装就可以直接使用所有的功能!这无疑也是一个非常大的优势,为它也拉拢了大量的用户!

当然,它也有自己的缺点:只能在windows下安装使用。如果要在其他系统上抓包,比如MacOS系统,Linux系统,那么Fiddler就无用武之地了。

Charles

Charles工具别名“花瓶”,它是通过代理来实现的抓包,也就是我们在访问网页时配置代理指向Charles监听的端口,之后所有的请求Charles会帮我们转发并记录。

Charles的使用非常简单,配置好代理后,Charles就开始抓包了。我们可以直接通过它的GUI查看包的内容,其实功能和使用跟Fiddler非常的雷同,同样可以提供电脑及手机端的抓包分析、设置断点、弱网环境模拟等,那么它跟fiddler的区别在哪里呢?

优点:
Charles基于Java开发的,跨平台性好。所以不仅支持Windows系统,还支持MacOS,以及Linux操作系统;所以基本非windows电脑都会选择Charles工具。
要抓取https协议的配置也很简单,只要安装下charles的证书就可以了

缺点:
Charles工具是不免费的。它需要购买license,如果不购买使用的话就会每30分钟断一次,使用体验非常不好!

Wireshark

Wireshark也可以在各个平台都可以安装使用,不过它的功能侧重点和Charles&Fiddler有所不同,它主要用来抓取网络中的所有协议的数据报文,对于分析网络协议以及网络问题方面非常专业!

Wireshark工具的优点:
可以选择特定的网卡进行流量的捕获,那么就只会抓取关心的网卡经过的数据,针对性很强;

可以抓取所有协议的报文,并且抓取的报文可以完整的以OSI七层网络模型的格式显示,可以清晰的看到客户端和服务器之间每一个交互报文,以及每一个数据包的网络各层级的详细内容显示。

所以,这个工具抓包非常适合学习和分析网络协议。
提供了非常强大的过滤规则。Wireshark可以提供捕获前过滤,也可以捕获后过滤,并且过滤规则非常详细,可以实现精度和细粒度非常高的包过滤;

可以结合TCPdump使用,分析线上服务器(linux系统)下抓取的数据报文,定位线上问题。

Wireshark工具的缺点:
如果要灵活的使用它需要具备一定的网络基础,对于初学者有一定的难度;
无法分析https数据包,由于wireshark是在链路层获取的数据包信息,所以获取到的https包是加密后的数据,因此无法分析包内容。

当然,我们可以对https数据包进行解密, 但是操作具有一定的复杂度,可能要消耗很多时间。

F12

F12是众多抓包工具中最简单、最轻量级的,因为它是浏览器内置的开发者工具来提供捕获浏览器的数据报文的功能。它免安装,直接打开浏览器就可以直接使用,所有使用非常好上手,适合入门级别的新手学习。

它主要针对的是HTTP协议和HTTPS协议, 可以确认我们的网络数据包的一个状态, 通过分析请求和响应报文里面的内容, 分析出来请求数据和响应数据是否正确, 定位问题是前端问题还是后端问题。

而且F12作为浏览器的一部分,是数据收发的一端,抓取到的HTTPs报文是可以得到明文数据的;不过因为只能抓当前浏览器的收发报文,层次只能是在应用层Http(s)协议,不能抓取其他的数据报文。

虽然F12抓包调试也能满足我们基本的测试工作需求,但是作用面和强大性和其他的抓包工具还是有一定差距的。

它们各有各的优势,也有对应的不足,所以根据自己的使用场景,选择最适合的抓包工具才是最重要的。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

耐心点、坚强点,总有一天,你承受过的疼痛会有助于你,生活从来不会刻意亏欠谁,它给了你一块阴影,必会在不远地方撒下阳光。

如果没人认可你,那就自己认可自己;如果没人欣赏你,那就自己欣赏自己;如果没人祝福你,那就自己祝福自己。与其用泪水悔恨昨天,不如用汗水拼搏明天。

所有的付出都会让我们成为更好的人。你现在的努力和准备,都是一种沉淀和积累,它们会在将来某个特殊的时间点到来时,助你爆发出强大的力量。总有一天,你的努力,会为你证明自己。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值