利用Wireshark抓取WebSocket数据包

本文介绍了如何利用Wireshark抓取WebSocket数据包,以解决在没有服务端代码的情况下理解Web地图模块的数据通信。通过设置过滤条件,只显示WebSocket协议的数据包,解析请求和响应数据,发现大部分逻辑在服务器端,为解决问题提供了方向。

前序

最近刚到新的公司了,熟悉下环境,立马就要开始完成需求coding了。。比较坑的是,代码完全不熟悉的情况下,给个需求涉及到十几个模块了,都要改,郁闷。其中刚好有一个模块是web地图的,根据代码查看发现是通过WebSocketflash进行实现的。
比较坑的是,我这边看不到websocket服务端代码的,只有客户端,然而客户端代码大部分都是写在JavaScript中的,刚开始还不太熟悉那个,连发送请求的数据是什么都不知道,无奈只好想到抓包了。

过滤

只要说到抓包,肯定是离开不了Wireshark的,堪称网络工程师的神器啊,基本的使用起来比较简单。当然了要深入实践也不容易,主要是要经常有使用的场景。这也算是我第一次通过这个工具帮助完成工作任务吧。
好了,废话不多说,去官网安装最新版Wireshark
过滤条件为websocket
filter websocket
这样就可以过滤掉其他大量的干扰数据包,只查看使用websocket协议的数据包。

查看数据包

根据上图,第一条就是发送请求的数据包了,第二条是服务端响应的数据。

请求数据

继续查看下面数据包的详细信息:
websocket_req
最下面那行就是我们发送请求的数据了,可以看到就是一串JSON数据,如果是二进制的话就没办法查看了。

响应数据

再看一下服务器端响应的数据:
websocket_resp
这里我们就知道了,大部分逻辑都是在websocket服务器端进行处理的,因此要完成这个功能需求就必须要修改websocket服务器端代码了。因为这个模块是一个比较关键的地方,而我才刚到这边来,老大也不会放心直接让我动那块的,因此只好跟他说一下这个情况就好了,让之前写这个模块的人员帮我添加这个功能吧。

总结

虽然最后我也没有解决什么需求问题,不过比抓包之前要清晰明了多了。在这之前,我根本就不清楚这个地图是怎么进行数据通信交互的,现在算了比较了解了。也是我第一次见到有Websocket技术的实践吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值