WebSocket 線上測試工具
線上 WebSocket 連線測試、訊息發送與接收除錯工具
什麼是 WebSocket?
WebSocket 測試工具會連接指定的 WebSocket 位址,協助確認即時通道是否能開啟、送出訊息並接收回應。WebSocket 常用於聊天、即時儀表板、通知、多人互動、行情資料、裝置通訊和其他長連線雙向情境。它適合開發除錯、代理設定排查、TLS 檢查,以及比較 ws:// 與 wss:// 端點行為。但它不是壓測工具,也不是完整協定分析器。驗證、子協定協商、心跳、重連策略、訊息格式、背壓和伺服器限制仍需要在真實客戶端和部署環境中驗證。連線成功只能說明目前條件下某條路徑可用。
使用方式
使用方式
- 在 URL 欄位中輸入 WebSocket 伺服器位址(ws:// 或 wss://)
- 選填:輸入子協定,多個以逗號分隔
- 點選「Connect」以建立 WebSocket 連線
- 在輸入欄位中輸入訊息內容
- 選擇訊息類型(Text 或 JSON),JSON 類型會自動驗證格式
- 點選「Send」或按 Enter 傳送訊息
- 在訊息列表中查看已傳送和接收的訊息,點選即可複製
連線提示
- 從 HTTPS 頁面測試時請使用 wss://;瀏覽器通常會封鎖來自安全來源的不安全 ws:// 連線。
- 在除錯期間斷線、重新整理或切換端點之前,請先匯出或複製重要的訊息記錄。
使用場景
技術原理
WebSocket 協定的核心是 HTTP 升級。客戶端首先發送常規 HTTP GET 請求,但附帶 Upgrade: websocket 和 Connection: Upgrade 標頭以及隨機生成的 Sec-WebSocket-Key。伺服器驗證這些標頭後,回應 101 Switching Protocols,其中包含 Sec-WebSocket-Accept 值,該值是 Key 與固定 GUID 拼接後的 SHA-1 結果再經 Base64 編碼。101 回應之後,TCP 連線從 HTTP 切換為 WebSocket,後續資料以 WebSocket 幀傳輸。WebSocket 幀標頭至少 2 位元組,包含 FIN 標誌、操作碼(0x1 文字、0x2 二進位、0x8 關閉、0x9 ping、0xA pong)和承載長度。ping/pong 幀用於心跳偵測;瀏覽器 API 不會自動發送,因此應用層必須自行實作。wss:// 等同於 HTTPS+WebSocket,先進行 TLS 交握再進行 WebSocket 升級;ws:// 為明文傳輸,瀏覽器會拒絕 https 頁面上的 ws:// 端點以防禦降級攻擊。單一幀預設上限約為 1MB;較長的訊息會分割為多個幀傳輸。
- 交握:客戶端發送帶有 Upgrade: websocket 標頭的 HTTP GET,伺服器回傳 101 Switching Protocols 表示升級成功
- Sec-WebSocket-Key 是瀏覽器隨機生成的 16 位元組 Base64 字串;伺服器拼接固定 GUID 後取 SHA-1,透過 Sec-WebSocket-Accept 驗證
- 幀格式:每個幀攜帶至少 2 位元組的標頭,包含 FIN、操作碼(文字/二進位/ping/pong/關閉)和承載長度
- ws:// 為明文,wss:// 為基於 HTTPS 的 WebSocket;瀏覽器拒絕在 https 站點使用 ws:// 以防禦降級攻擊
- ping/pong 幀用於心跳:RFC 6455 要求每個 ping 都必須回應 pong;瀏覽器不會自動發送心跳,應用必須自行實作
- 關閉流程:任一方發送帶有狀態碼的 0x8 關閉幀,對方回覆對應的關閉幀,之後 TCP 連線才會實際釋放
範例
連線到公開 Echo 服務
wss://echo.websocket.org — 101 Switching Protocols 交握成功,傳送 "hello" 立即回傳 "hello"除錯自家 WebSocket 服務
wss://api.example.com/ws — 子協定 graphql-ws,連線成功,訂閱訊息正常接收重現連線中斷
wss://api.example.com/ws — 伺服器在連線建立 30 秒後主動關閉,關閉碼 1006(異常關閉)常見問題
這個 WebSocket 測試工具能做什麼?
可以連線到任意 ws:// 或 wss:// 端點,發送與接收訊息,並檢視協定交換內容。在開發 WebSocket API、MQTT-over-WS 代理、即時遊戲伺服器、聊天系統、即時報價推送等情境都很實用。
訊息會經過你們的伺服器嗎?
不會。瀏覽器會直接連線到目標主機,沒有中間人,我們這邊也不會留下紀錄。目標主機看到的就是你的 IP,跟其他客戶端沒兩樣。
為什麼我連不上 localhost 端點?
受混合內容規則限制:當頁面以 HTTPS 提供時,瀏覽器會封鎖 ws://(不安全)連線。請改用 wss:// 連線目標,或讓本工具改以 HTTP 協定執行以便本機測試。詳細的拒絕原因可在瀏覽器主控台中看到。
可以送出二進位資料嗎?
可以。多數版本同時支援文字與二進位訊框。二進位輸入通常採 Base64 或十六進位,頁面會在送出前先解碼。回傳的二進位內容預設以十六進位或 Base64 顯示。
如何加上自訂標頭?
瀏覽器的 WebSocket API 不允許自訂標頭,這是 Web 平台的限制。唯一能設定的是 Sec-WebSocket-Protocol(子協定)。若要做 Bearer token 驗證,可以改用查詢參數,或在第一則訊息中做認證;某些伺服器也會接受 Cookie。
會測試壓縮和擴充功能嗎?
若伺服器有宣告,瀏覽器會自動協商 per-message-deflate;頁面通常會顯示協商後的擴充。自訂擴充無法測試——瀏覽器並未開放這層的控制權限。
為什麼我的連線一直斷掉?
常見原因:伺服器閒置逾時(通常 30-120 秒)、proxy/負載平衡器逾時、網路中斷,或筆電進入睡眠。現代 WebSocket 需要 ping/pong 心跳,請確認伺服器有送 ping,或讓你的客戶端定期發送訊息。
相關工具推薦
端口檢測工具
線上端口檢測工具,檢查指定 IP 或域名的端口是否開放。支援批次檢測,顯示回應時間和連線狀態,瀏覽器本地運行保護隱私。
IP 子網計算器
線上 IP 子網計算器,支援 IPv4/IPv6。一鍵計算網路位址、廣播位址、子網掩碼、萬用字元掩碼、可用主機範圍與 CIDR,瀏覽器本地完成。
DNS 查詢工具
線上DNS查詢工具,支援A、AAAA、MX、TXT、NS、CNAME、SOA等記錄查詢。透過DoH(DNS over HTTPS)解析網域,瀏覽器本地運行保護隱私。
區域網路檔案傳輸
線上區域網路檔案傳輸工具,透過 WebRTC P2P 直連在同一網路內的設備間傳輸檔案和文字。無需伺服器,資料本地流通,安全快速。支援掃碼連線,操作簡單。
SSL 證書檢測工具
線上SSL證書檢測工具,檢查網站SSL/TLS證書有效性、過期時間、證書鏈詳情、網域匹配等。快速診斷HTTPS設定問題。
Whois 查詢
線上Whois域名查詢工具,查詢域名註冊資訊、到期時間、DNS伺服器、註冊商等。支援全球域名後綴查詢,瀏覽器本地運行保護隱私。
