当前位置:   article > 正文

WebSocket研究笔记-抓包分析_websocket 抓包

websocket 抓包

随手记

随手笔记,大概只有我能看懂。
记录通过Wireshark抓包研究WebSocket协议的片段,客户端发送消息到服务器。

一个总图的分析

在这里插入图片描述

该图记录截取的是建立websocket连接后,客户端向服务器发送的第一条消息。
该websocket消息帧(报文)(frame)一共76个字节。
通过下方区域可以观察到76个字节的16进制数据。

展开websocket帧分析

在这里插入图片描述
Fin:true,说明是消息的终结帧,占有1bit;
Opcode:1,说明是消息的起始帧,占据了4bit;
fin是ture & opcode非0,说明这是一个未分帧消息(哈哈,因为我只发了16个字符。。。)
Mask:true,占有1bit,说明该消息帧进行了混淆,或者说是屏蔽,或者说是掩码。浏览器发往服务器的Websocket都要进行掩码,这是Websocket协议(RFC6455)规定的,主要是为了安全策略,防止HTTP代理服务器被攻击或缓存中毒。等我有时间了,写篇文章详细描述,目前还是了解的比较肤浅;
Masking-key:占有4个字节,是混淆websocket消息帧载荷的掩码,浏览器通过该掩码对消息载荷进行异或(EOR)算法操作,得到混淆后的消息,服务器收到消息后,再通过该掩码进行异或操作,解码得到真实的消息;当Mask为true时,一定有此掩码;这就是websocket的屏蔽技术,英文描述为:masking。
在这里插入图片描述
上图分析masking-key,观察发现,其占据32位,4个字节,4个字符。抓包展示的是16进制,可以查阅ASCII码对照。
Payload length:消息载荷长度,占据7bit,本消息帧是16个字节。
在这里插入图片描述
上图,Masked payload,混淆后的消息载荷,观察发现正好是16 bytes,用16进制表示,对应的消息体也是乱七八糟的字符,用于迷惑Http代理服务器,让它不要缓存,不要尝试解码转发,防止恶意攻击。
在这里插入图片描述
上图,Payload,自然是原始消息,我发送的是:hello websocket!,共16 bytes。

分析IP协议

在这里插入图片描述

展开分析IP协议头,共20个字节。

展开分析TCP

在这里插入图片描述
展开分析TCP协议头,共占据20bytes.

此致 & 晚安!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/315816
推荐阅读
相关标签
  

闽ICP备14008679号