如何在火狐浏览器中通过控制台查看WebSocket的实时传输数据?

老浩同学_5173

老浩同学_5173

2026-06-20

586人浏览

原创

必须通过 javascript 注入监听逻辑来捕获 websocket 原始数据:1. 打补丁劫持 prototype.send 和 onmessage;2. 重写 websocket 构造函数或用 defineproperty 监听 onmessage 设置;3. 直接访问全局挂载的实例并绑定事件。

如何在火狐浏览器中通过控制台查看websocket的实时传输数据?

要在火狐浏览器中直接通过控制台捕获 WebSocket 实时收发的原始数据,而不是依赖 Network 面板的帧列表,就必须绕过 UI 层、在 JavaScript 运行时注入监听逻辑——因为 Firefox 的 console 本身不自动打印 WebSocket 消息,必须由开发者主动 hook send() 和 onmessage。

给 WebSocket 实例打补丁,让每条消息都输出到控制台

这一步适用于你已知页面创建了 WebSocket 实例(比如全局变量 ws 或通过 const ws = new WebSocket(...) 定义),且能访问其引用。

第一步:在 Firefox 控制台(Ctrl+Shift+K)中粘贴并执行以下代码:

const originalSend = WebSocket.prototype.send;WebSocket.prototype.send = function(data) { console.log('[WS →]', data); return originalSend.apply(this, arguments); };WebSocket.prototype._originalOnMessage = WebSocket.prototype.onmessage;WebSocket.prototype.onmessage = function(event) { console.log('[WS ←]', event.data); if (this._originalOnMessage) this._originalOnMessage.call(this, event); };

这会劫持所有后续创建的 WebSocket 实例的 send 方法和 onmessage 回调,把发送和接收内容原样打印到控制台。注意:它不会影响已存在的、且 onmessage 已被赋值为函数字面量的实例(如 ws.onmessage = e => {...}),只对使用 onmessage 属性赋值或 addEventListener('message') 的实例生效。

第二步:刷新页面,触发 WebSocket 连接重建;或手动调用 ws.send(...)、等待服务端推送,即可在控制台看到带方向标识的实时日志。

监听全局 WebSocket 构造函数,捕获所有新建连接

当页面使用动态创建、变量名不固定、或封装在闭包里的 WebSocket(如某些 SDK 内部实例)时,靠 patch prototype 不够——必须拦截 new WebSocket() 调用本身。

方法一:重写 WebSocket 构造函数

在控制台执行:

const OriginalWebSocket = window.WebSocket;window.WebSocket = function(url, protocols) { const ws = new OriginalWebSocket(url, protocols); console.log('[WS new]', url); ws.addEventListener('open', () => console.log('[WS open]', url)); ws.addEventListener('message', e => console.log('[WS ←]', e.data)); ws.addEventListener('close', e => console.log('[WS close]', e.code, e.reason)); ws.addEventListener('error', e => console.log('[WS error]', e)); return ws;};

page-agent 浏览器控制(CDP)
page-agent 浏览器控制(CDP)

使用 page-agent CLI(CDP)控制浏览器;CLI只能通过 GitHub Release 的 .tgz 安装,npm 官方包暂未发布。

下载

⚠️ 注意:【此操作会覆盖页面原有 WebSocket 构造函数,若页面依赖 instanceof WebSocket 判断可能出错】。仅用于调试,切勿在生产环境运行。

方法二:用 Object.defineProperty 劫持原型链(更安全)

执行:

Object.defineProperty(WebSocket.prototype, 'onmessage', { set(fn) { console.log('[WS onmessage set]'); this.addEventListener('message', e => console.log('[WS ←]', e.data)); if (typeof fn === 'function') fn.call(this, e); } });

该方式不破坏构造过程,只监听 onmessage 属性赋值行为,兼容性更好,但无法捕获 addEventListener 注册的消息监听器。

从控制台直接读取当前活跃的 WebSocket 实例

如果页面将 WebSocket 实例挂载到全局(如 window.ws、window.socket、window.connection),可直接在控制台访问并绑定监听。

输入 window.ws?.addEventListener('message', e => console.log('[live WS ←]', e.data)) 并回车。

若返回 undefined,说明 window.ws 不存在或未定义;尝试 console.dir(window) 展开全局对象,搜索关键词 websocket、ws、socket 等属性名。

找到后,用 ws.onmessage = e => console.log(e.data) 覆盖原有回调,立即生效。

这一步操作起来很简单,直接把文件拖进去就行。

相关专题

更多
Golang WebSocket与实时通信开发
Golang WebSocket与实时通信开发

本专题系统讲解 Golang 在 WebSocket 开发中的应用,涵盖 WebSocket 协议、连接管理、消息推送、心跳机制、群聊功能与广播系统的实现。通过构建实际的聊天应用或实时数据推送系统,帮助开发者掌握 如何使用 Golang 构建高效、可靠的实时通信系统,提高并发处理与系统的可扩展性。

2025.12.22

175

11

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

2026.01.19

396

22

Python WebSocket实时通信与异步服务开发实践
Python WebSocket实时通信与异步服务开发实践

本专题聚焦 Python 在实时通信场景中的开发实践,系统讲解 WebSocket 协议原理、长连接管理、消息推送机制以及异步服务架构设计。内容包括客户端与服务端通信实现、连接稳定性优化、消息队列集成及高并发处理策略。通过完整案例,帮助开发者构建高效稳定的实时通信系统,适用于聊天应用、实时数据推送等场景。

2026.03.18

835

14

WebSocket 前端开发与实战技巧
WebSocket 前端开发与实战技巧

聚焦 WebSocket 在前端项目中的工程化实践,涵盖原生 JavaScript WebSocket 连接的封装与状态管理、Vue 3 中 WebSocket 的 Composable 封装(useWebSocket)、React 中自定义 Hook 管理连接生命周期、心跳检测(Ping/Pong 定时器)与自动断线重连的实现策略、指数退避重连算法、消息序列化协议(JSON / Protobuf / MessagePack)的选型与性

2026.05.25

428

33

WebSocket发送和接收数据教程合集
WebSocket发送和接收数据教程合集

本专题整合了WebSocket发送与接收数据教程合集,阅读专题下面的文章了解更多详细内容。

2026.05.25

321

20

Python uv使用教程
Python uv使用教程

本专题汇总了 Python uv 使用教程与高效使用指南,从 uv 安装配置、常用命令到虚拟环境、依赖管理与项目打包,系统讲解如何用 uv 替代 pip 与 poetry,全面提升 Python 项目开发效率,助你快速上手这一现代化包管理工具,打造干净高效的 Python 工作流。

2026.10.15

0

15

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebSocket手册
WebSocket手册

共0课时 | 0人学习

Webman中文手册
Webman中文手册

共0课时 | 0人学习