Web开发

首页 » 常识 » 诊断 » 抓包工具教你搞懂websocket如何来
TUhjnbcbe - 2022/6/21 14:41:00
北京白癜风医院 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/

之前负责完成公司的消息推送服务,和移动端配合完成了扫码登录、订单消息推送、活动消息广播等功能。为了加深对Websocket协议的理解,通过进行抓包的方式学习了一番。现在分享出来,希望对大家能有所帮助。

1、Chrome控制台

(1)F12进入控制台,点击Network,选中ws栏,注意选中Filter。

(2)刷新页面会得到一个ws链接。

(3)点击链接可以查看链接详情

注意红框标出的信息,后面会详细说明。(4)当然也可以切换到Frames查看发出和接收的消息,但是非常的简陋,只能看到消息内容,数据长度和时间

2、Fiddler:抓包调试利器

(1)打开Fiddler,点开菜单栏的Rules,选择CustomizeRules...

(2)这时会打开CustomRules.js文件,在classHandlers中加入以下代码

staticfunctionOnWebSocketMessage(oMsg:WebSocketMessage){//LogMessagetotheLOGtabFiddlerApplication.Log.LogString(oMsg.ToString());}

(3)保存后就可以在Fiddler右边栏的Log标签里,看到WebSocket的数据包下列图中红框标出的Client.1代表客户端发出的第一条消息;对应的Server.1代表服务端发出的第一条消息。MessageType:Text代表正常的通话消息;Close代表会话关闭。

客户端发出的消息:

服务端发出的消息:

然后我们会发现每次会话关闭都是由客户端发起的:

相对于Chrome控制台来说Fiddler抓包更加详细一些,能知道会话消息是由客户端还是服务端发出并且能知道消息类型。但是这仍然满足不了深入理解学习Websocket协议的目的。如果是处理HTTP、HTTPS,还是用Fiddler。其他协议比如TCP,UDP就用WireShark。TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP、Websocket是应用层协议,主要解决如何包装数据。因为应用层是在传输层的基础上包装数据,所以我们还是从底层开始了解Websocket到底是个啥?是如何工作的?

3、WireShark

WireShark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。WireShark抓包是根据TCP/IP五层协议来的,也就是物理层、数据链路层、网络层、传输层、应用层。我们主要

1
查看完整版本: 抓包工具教你搞懂websocket如何来