WebSocat 安装与使用

WebSocat 是一款"支持 WebSocket 协议的 netcat",体积小、零依赖、一条命令即可把任意 TCP/STDIO 流桥接到 ws/wss,也能把 WebSocket 服务转成 TCP/Unix 套接字,是渗透测试、红队、IoT 调试、前端抓包、内网穿透等场景的瑞士军刀。

本文以 Kali Linux x86_64 为例,手把手带你完成"下载 → 安装 → 常用用法 → 进阶技巧"全流程;其他 Linux 发行版只需替换二进制文件名即可照搬。


一、1 分钟完成安装(零依赖静态版)

  1. 拿到官方最新静态二进制(musl 链接,无 glibc 版本烦恼)

    版本:v1.14.0(2024-09)

    地址:https://github.com/vi/websocat/releases/download/v1.14.0/websocat.x86_64-unknown-linux-musl

  2. 一行命令下载并放入全局路径

bash 复制代码
sudo wget -qO /usr/local/bin/websocat \
  https://github.com/vi/websocat/releases/download/v1.14.0/websocat.x86_64-unknown-linux-musl \
  && sudo chmod +x /usr/local/bin/websocat
  1. 验证
bash 复制代码
websocat --version
# 输出:websocat 1.14.0

至此安装完毕,无需 apt、无需 cargo、无需 root 运行,可执行文件仅 3 M 左右。


二、5 条命令掌握 80% 使用场景

目的 命令示例
1. 测试公网回显服务 websocat ws://ws.vi-server.org/mirror
2. 连接自建 WebSocket 服务 websocat ws://127.0.0.1:8080/ws
3. 发送一条消息即退出 `echo '{"msg":"hi"}'
4. 把 WebSocket 转成本地 TCP,供旧工具使用 websocat tcp-l:127.0.0.1:9000 wss://target.com/socket
5. 本地快速起一个 WebSocket 回显服务器 websocat -s 0.0.0.0:1234

三、渗透测试常用技巧

  1. 绕过前端,直接和 WebSocket API 交互
    拿到 JWT 后:
bash 复制代码
Authorization='Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
websocat -H="Authorization: $Authorization" wss://api.site.com/live
  1. 把 WebSocket 流进 nc/hexdump 分析
bash 复制代码
websocat wss://target.com/log | hexdump -C
  1. 与 Burp 联动(Burp 不支持原生 WS 转发时)
    在 Burp 上游选项里设置 SOCKS 代理,然后:
bash 复制代码
websocat -s 127.0.0.1:8086 wss://target.com/socket

浏览器插件 SwitchyOmega 指向 ws://127.0.0.1:8086 即可。

  1. 内网穿透------把内网 WebSocket 映射到公网 VPS
    本地(内网主机)
bash 复制代码
websocat wss://your-vps.com:443 tcp:127.0.0.1:3389

VPS(公网)

bash 复制代码
websocat -s 0.0.0.0:443 ssl:cert.pem:key.pem tcp:127.0.0.1:9999

此时攻击机连 wss://your-vps.com:443 就等于连到内网 3389。


四、命令行速查表

参数 说明
-s IP:PORT 监听 WebSocket 服务器(明文)
-s IP:PORT ssl:cert:key 监听 WSS 服务器
tcp-l:IP:PORT 监听 TCP 端口
tcp:IP:PORT 连接 TCP 端口
stdio: 标准输入输出,可省略
-H="Header: value" 添加自定义 HTTP 头
-v 详细调试,排查握手问题
--binary / --text 强制二进制或文本帧
--exit-on-eof 收到 EOF 立即退出,适合脚本

五、常见问题 FAQ

Q1: 执行报错 cannot execute binary file

→ 下错架构,请 uname -m 确认是 x86_64 还是 aarch64,再对应下载。

Q2: 提示 SSL certificate verify failed

→ 测试环境可加 -k 忽略校验(等同 curl -k):

bash 复制代码
websocat -k wss://self-signed.site.com/socket

Q3: 需要 socks5 代理?

→ 用 proxy-connect 插件:

bash 复制代码
websocat -s 127.0.0.1:9000 socks5://127.0.0.1:1080 wss://target.com/socket

六、结语

WebSocat 把"TCP 世界的祖传工具"与"WebSocket 新世界"无缝黏合:

一条命令即可让 nc、telnet、burp、nmap、sqlmap、metasploit 等老牌工具瞬间获得 ws/wss 能力,也能让 浏览器、小程序、IoT 固件 快速对接传统 TCP 服务。

相关推荐
TickDB4 小时前
美股行情 API 接入避坑:REST 快照、WebSocket 推送、盘前盘后数据的边界
人工智能·python·websocket·行情数据 api
Wonderful U18 小时前
基于 Django Channels 与 WebSocket 的实时聊天室:群聊、私聊、离线消息与持久化存储全实现
python·websocket·django
shuxiaohua19 小时前
一次现网问题定位-websocket断连问题
网络·websocket·网络协议
天天进步20151 天前
Tunnelto 源码解析 #4:Wormhole 控制通道:WebSocket 如何建立一条“隧道控制线”
网络·websocket·网络协议
TickDB2 天前
智谱GLM-4 接金融数据:工具描述多写三个字,模型少犯一类错
人工智能·python·websocket·行情数据 api·行情 api
学代码的真由酱2 天前
WebSocket背景知识及简单实现-Java
java·websocket
组合缺一3 天前
Solon Server 启动模式深度解析:从 0.3MB 内核到 10+ Server 插件
java·websocket·http·solon·server
daqinzl4 天前
Mpegts.js+FFmpeg+WebSocket+Node实时视频流实现方案
websocket·ffmpeg·node·mpegts.js
AIFQuant4 天前
外汇交易平台技术栈深度解析:行情 API、清算、风控、前端一体化方案
前端·python·websocket·金融·restful