Skip to content

tangkaixing/websocket_gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

📌 一、文件简介

文件名:

websocket_gui.py

pip install websocket-client tkinter certifi

python websocket_gui.py

image

功能概要:

这是一个基于 Python 的图形界面程序(使用 tkinter),用于实现:

  • 连接 WebSocket 服务器(支持 ws://wss://
  • 发送文本/JSON 消息
  • 显示连接状态、响应时间和消息历史
  • 支持 SSL 证书校验或忽略 SSL 验证
  • 进行性能测试(发送多条消息并测量响应时间)
  • 显示 SSL 诊断信息
  • 保存日志到本地文件

🧠 二、技术亮点与结构分析

使用的技术栈:

  • Python 3.x
  • tkinter:GUI 框架
  • websocket-client:用于 WebSocket 协议处理
  • json:解析 JSON 数据
  • ssl & certifi:SSL/TLS 证书处理

核心组件:

模块 功能
WebSocketTester 主类,包含所有逻辑和 UI 构建
connect_websocket / disconnect_websocket 连接/断开 WebSocket
send_message / send_json 发送普通/JSON 消息
_receive_messages 在新线程中接收 WebSocket 消息
start_performance_test 执行性能测试
show_ssl_diagnostics 显示 SSL 证书相关信息
save_log 保存所有操作日志

🧪 三、功能详解

1. WebSocket 连接功能

  • 支持 标准 WebSocket (ws://)安全 WebSocket (wss://)
  • 可选择忽略 SSL 证书(适用于自签名或内部服务)。
  • 支持代理(如使用 Burp Suite 或其他本地代理)。

✅ 示例 URL:

  • wss://echo.websocket.org
  • ws://localhost:8080

2. 消息发送模块

  • 可以发送任意字符串。
  • 支持发送 JSON 消息,并可以自动格式化,识别 JSON 错误。
  • 支持“发送 JSON”按钮发送格式良好的 JSON。

3. 性能测试模块

  • 自动发送 10 条不同类型的消息。
  • 显示平均、最大、最小响应时间、标准差等指标。
  • 能够查看每一条测试消息的详细响应情况。

4. SSL 诊断功能

  • 显示详细的 SSL 证书路径、OpenSSL 版本等系统信息。
  • 提供常见的 SSL 相关问题解决建议,比如:
    • “忽略SSL验证”选项
    • 更新 certifi、安装系统根证书
    • 设置代理证书(如 Burp)

5. 日志与调试

  • 所有操作都会记录在 GUI 中的滚动文本框内。
  • 支持将日志保存为 .log 文件。
  • 可通过 SSL 诊断窗口 获取详细的 SSL 建立过程。

🔐 四、潜在安全风险(需注意)

1. SSL 忽略

self.ignore_ssl = tk.BooleanVar(value=False)
  • 如果用户启用“忽略SSL证书验证”,可能会在传输过程中暴露敏感数据(如密码、API Key 等)。
  • 建议:在生产环境下不建议使用此功能,仅限于开发和服务测试。

2. 消息安全性

  • 发送的是明文消息,若未加密,可能被中间人截取。
  • 不适合用于传输敏感数据(如 JWT Token、密码等)。

3. 系统依赖

  • 依赖 certifi 包,某些环境可能缺少或版本过低。
  • 若遇到 SSL 问题,建议运行 pip install --upgrade certifi

使用提示

  • 默认 URL: wss://echo.websocket.org
  • 使用代理时输入 host:port 格式
  • 可通过 "SSL诊断" 查看 SSL 日志

项目贡献

欢迎提交 PR 和 issue!

About

功能齐全的 WebSocket 测试工具,它提供 GUI 界面进行 WebSocket 连接、发送消息、性能测试,并支持 SSL 证书验证等高级功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages