移动设备websocket网络包抓取

发表于:2015-11-27 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ervinzhang    来源:51Testing软件测试网博客

  在我们日常测试过程中经常需要抓取网络包,查看上下行的数据是否正确。抓取移动设备上的网络包的通常思路是在pc机上打开抓包工具,然后让移动设备走pc的代理上网,从而在pc上抓取移动设备的网络包。
  Charles和fiddler是经常用到的2款抓包神器。
  然而在实际工作中经常有小伙伴产生疑问,为啥有的移动设备上的网络包能抓到,有的不能呢?
  要回答这个问题,首先我们得弄明白我们测试的游戏或app客户端与服务端网络通信使用的是什么协议,是http还是websocket。为了弄清这两者的区别,笔者特地找了张图来说明,大家看一下就明白了。
  看了这张图,是不是就明白为什么有些包能抓到,有些包抓不到了吧。因为我们常用的2个抓包神奇(charles和fiddler)都不支持抓取websocket。而支持websocket的wireshark却无法设置手机代理,令人无奈啊。不过还好,方法总是有的。
  万一遇到使用websocket的移动项目,是不是就无法抓取数据包了呢?答案是否定的,本文笔者就給大家介绍一种方法,步骤如下:
  前提条件:注意,要完成代理正常运行,请让pc和移动设备都在同一个无线网络段内。
  1,在pc上开启常用的可做代理的抓包工具(mac推荐charles,windows推荐fiddler),开启后,手动设置要测试的移动设备的网络,使其走pc的抓包工具代理。
  2,在同一台pc上开启wireshark,在wireshark中过滤出websocket的网络包即可。
  笔者亲验可行,在手机上的游戏中随便做点操作,截图如下:
  是不是很简单啊,思路就是把支持代理但不支持websocket抓取的工具和不支持代理但支持websocket抓取的工具结合起来使用。小伙伴们快行动起来吧~
  版权声明:本文出自 ervinzhang 的51Testing软件测试博客:http://www.51testing.com/?492258
  原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号