33 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取WebSocket数据包( 三 )


文章插图
4.切换到log tab页可以看到通信的数据往来,如下图所示:

33 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取WebSocket数据包

文章插图
5.通过F12也可以看到websocket的请求信息,进入聊天室后,F12>network>滤斗(放大镜左边的这个红色图标)>WS,双击name里边这个,即展开相关的详情,在详情里选中某条数据,底部会进一步显示全部信息,如下图所示:
33 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取WebSocket数据包

文章插图
6.小结将那段代码保存后就可以在Fiddler右边栏的Log标签里,看到WebSocket的数据包 。到了这里,还有一个情况要说明,就算是有工具可以抓到WebSocket中的包,看到的也不一定是明文 。这个要看传输的水是什么,如果是普通水那谁都可以分析;但如果是水银,那这个分析水的设备很可能就显示乱码了 。所以也就有同学明明使用了可以抓WebSocket包的程序,却抓出来的是乱码 。那是因为别人传输的是二进制数据流(比如AMF包),而不是JSON之类的对人类可读的明文 。而宏哥演示的网址是用于测试的因此没有考虑安全进行加密,所以使用的是明文,大家可以看到客户端和服务端相互发送的信息内容,关于如何加密宏哥在这里就不做赘述了因为它不是今天的重点内容 。
6.1关于websocket1.HTML5提供的在单个TCP上运行的全双工通讯协议(应用层协议)
2.客户端和服务器之间只需要进行一次握手就能够实现双向通讯,进行数据传输
3.相比较Ajax轮询机制需要不断地从客户端间隔性发送请求,传输不必要的头部数据,消耗大量的带宽,websocket节省了服务资源和宽带
4.通过send()方法发送数据给客户端,客户端通过onmessage接收服务器返回的数据

经验总结扩展阅读