测试开发-一天一个面试题5️⃣之抓包工具的使用

时间:2020-12-14 01:00:16

写在前面

不用我多介绍,做过测试的都知道,测试必须会的几个技能,

  • 模拟发送请求
  • 拦截请求或者响应
  • mock数据
  • 数据库

如果不会这几种,可能就不是一个合格的测试工程师了,提到这些,我不得不联想到抓包的使用,抓包作为测试必会的技能之一,当然在面试中也会经常被问到,所以今天我们来看下这个问题怎么回答?

分析

这个问题可以有多种问法,例如:在无法判断前后端问题时应该怎么处理?抓包平时用的多吗,都在什么时候用到呢?我们如果遇到这样的问题都可以归类成一种,这个问题可以从几个方面来回答

  • 抓包应用场景
  • 抓包的目的
  • 怎么抓包

从这几个角度去描述问题,会显现出面试者 回答问题全面,回答有条理,对技能掌握的熟练等

回答

平时在工作中,有很多场景能使用到抓包工具,如:

  • 测试执行后检查传输的数据是否正确
  • 定位前端还是后端问题
  • 进行弱网测试
  • 安全测试 - 数据是否有加密,数据mock

利用抓包工具可以有效的定位或解决以下问题

  • 找到请求数据,检查传输是否正确
  • 定位出前后端问题
  • 模拟手机弱网测试
  • 接口加密和接口mock

实际工作过程中,不同的测试应用有不同的抓包工具

  • web 项目一般用浏览器自带的开发者工具
  • app 项目可以用 fiddle charles wiresark whistle
  • web 直接用f12 即可,app 进行代理连接,安装证书,选择同一网段下的网络
  • 微信小程序
    • 由于微信7.0 禁止安卓手机抓包,需用iOS手机进行抓包或者微信降级

题外话

现在的抓包工具有很多,相信很多测试都不知道怎么选择,这里给大家一些题外建议

  • 由于我们大部分时间工作在osi 七层模型中的应用层,所以主要关注http 协议或者 websocket 协议
  • 如果是tcp udp 协议可以选择wiresark
  • 如果是http 或者websocket 可以选择fiddle 、charles、 whistle
  • 这三款怎么选呢, fiddle 应用在windows 电脑上(现在也有fiddle for mac 也非常好用,大家可以试试),charles 应用在mac 电脑,功能全面且强大。
  • 但是我想推荐的还是 whistle,因为这个工具操作简单,更适用于新手,web 界面,不要求系统,
  • 如果是python 抓包,推荐mitmproxy ,也非常好用,有些公司利用这个工具开发出了好多测试工具,有兴趣的可以了解下。
  • 这里只做了推荐,没有做讲解,如果大家有需要我可以出一篇whistle和推荐mitmproxy抓包的教程。

写在最后

我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!