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

小巴哥 · 2023年02月01日 · 最后由 遥遥领先! 回复于 2023年07月13日 · 4136 次阅读

写在前面

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

  • 模拟发送请求
  • 拦截请求或者响应
  • 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 抓包的教程。

写在最后

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

共收到 1 条回复 时间 点赞

whistle 不错 今天刚试了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册