关注测试行业
专注测试技术

移动设备websocket网络包抓取

在我们日常测试过程中经常需要抓取网络包,查看上下行的数据是否正确。抓取移动设备上的网络包的通常思路是在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抓取的工具结合起来使用。小伙伴们快搞起来吧~

 

转载请注明作者和出处:测试技术学习与分享 » 移动设备websocket网络包抓取
分享到: 更多 (0)

来捉虫

关注测试行业专注测试技术