TCP通信可视化工具
一个TCP通信可视化工具,支持同时运行多个TCP服务端和客户端,实时查看数据包。
下载链接:https://download.csdn.net/download/qq_40843427/93114307
🚀 快速使用
下载使用(无需安装)
直接双击运行 TCP通信可视化工具.exe 即可,无需安装Python或任何依赖。
从源码运行
cmd
cd "C:\Users\admin\Desktop\study\tcp可视化gui界面"
"D:\msys64\ucrt64\bin\python.exe" tcp_visualizer.py
或双击 启动TCP可视化工具.bat
✨ 功能特点
- ✅ 支持同时运行多个TCP服务端实例
- ✅ 支持同时运行多个TCP客户端实例
- ✅ 实时显示发送和接收的数据包
- ✅ 数据包同时显示HEX和ASCII格式
- ✅ 支持HEX和ASCII两种发送格式
- ✅ 服务端支持多个客户端同时连接
- ✅ 可选择发送给指定客户端或所有客户端
- ✅ 自动获取并显示本机IP地址
- ✅ 可打包成独立exe文件分发
📖 界面说明
主界面
启动后显示欢迎页面:
┌─────────────────────────────────────────────────────────────┐
│ [文件] [帮助] TCP通信可视化工具 本机IP: 192.168.1.100 │
├─────────────────────────────────────────────────────────────┤
│ [🏠 欢迎] [🖥 服务端 #1] [💻 客户端 #1] │
├─────────────────────────────────────────────────────────────┤
│ │
│ TCP通信可视化工具 │
│ 支持同时运行多个TCP服务端和客户端 │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 📌 本机信息 │ │
│ │ 主IP地址: [192.168.1.100] [复制IP] │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 🚀 快速开始 │ │
│ │ 第1步 → 第2步 │ │
│ │ [新建 TCP 服务端] [新建 TCP 客户端] │ │
│ │ 创建服务器等待连接 连接到服务器发送数据 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 📖 使用说明 │ │
│ │ 1️⃣ 创建服务端 点击上方按钮或菜单「文件→新建服务端」│ │
│ │ 2️⃣ 启动服务 设置端口(默认8888),点击「启动服务」 │ │
│ │ 3️⃣ 创建客户端 点击上方按钮或菜单「文件→新建客户端」│ │
│ │ 4️⃣ 连接服务 输入主机和端口,点击「连接」 │ │
│ │ 5️⃣ 发送数据 选择格式,输入数据,点击「发送」 │ │
│ │ 6️⃣ 查看数据包 数据包记录区域实时显示收发数据 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 📝 数据格式说明 │ │
│ │ HEX: 48 65 6C 6C 6F → "Hello" │ │
│ │ ASCII: Hello World │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 🔗 连接方式 │ │
│ │ 本机测试: 127.0.0.1 或 192.168.1.100 │ │
│ │ 局域网: 192.168.1.100 (服务端所在电脑IP) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
服务端界面
┌─────────────────────────────────────────────────────┐
│ TCP 服务端 #1 [关闭] │
├─────────────────────────────────────────────────────┤
│ 服务配置 │
│ 主机: [0.0.0.0] 端口: [8888] [启动服务] 已停止 │
│ │
│ 已连接客户端: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 127.0.0.1:52341 │ │
│ └─────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────┤
│ 发送数据 │
│ 目标: [所有客户端 ▼] [◉HEX] [○ASCII] │
│ [输入数据____________________________] [发送] │
├─────────────────────────────────────────────────────┤
│ 数据包记录 数据包: 2 │
│ [清空] [☑自动滚动] │
│ ┌─────────────────────────────────────────────────┐ │
│ │ [14:30:25.123] RECV [127.0.0.1:52341] (5 bytes) │ │
│ │ HEX: 48 65 6C 6C 6F │ │
│ │ ASCII: Hello │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
客户端界面
┌─────────────────────────────────────────────────────┐
│ TCP 客户端 #1 [关闭] │
├─────────────────────────────────────────────────────┤
│ 连接配置 │
│ 主机: [127.0.0.1] [本机IP] [127.0.0.1] │
│ 端口: [8888] [连接] 未连接 │
│ 💡 本机测试用127.0.0.1,局域网用本机IP │
├─────────────────────────────────────────────────────┤
│ 发送数据 │
│ [◉HEX] [○ASCII] [☐0x前缀] │
│ [输入数据____________________________] [发送] │
├─────────────────────────────────────────────────────┤
│ 数据包记录 数据包: 2 │
│ [清空] [☑自动滚动] │
│ ┌─────────────────────────────────────────────────┐ │
│ │ *** [14:30:20.000] 已连接到 127.0.0.1:8888 *** │ │
│ │ [14:30:25.123] SEND (5 bytes) │ │
│ │ HEX: 48 65 6C 6C 6F │ │
│ │ ASCII: Hello │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
📋 使用步骤
1. 创建并启动服务端
- 点击 "新建 TCP 服务端" 或菜单"文件 → 新建服务端"
- 设置主机地址(默认
0.0.0.0监听所有网卡) - 设置端口号(默认
8888) - 点击 "启动服务" 按钮
- 状态显示为绿色 "监听中 0.0.0.0:8888" 表示成功
2. 创建并连接客户端
- 点击 "新建 TCP 客户端" 或菜单"文件 → 新建客户端"
- 输入服务端主机地址:
- 本机测试:
127.0.0.1或点击 127.0.0.1 按钮 - 局域网:点击 本机IP 按钮获取服务端IP
- 本机测试:
- 输入端口号(与服务端一致,如
8888) - 点击 "连接" 按钮
- 状态显示为绿色 "已连接" 表示成功
3. 发送数据
HEX格式:
-
选择 "HEX" 单选按钮
-
输入十六进制数据:
48 65 6C 6C 6F(表示 "Hello") -
点击 "发送" 或按回车
ASCII格式:
-
选择 "ASCII" 单选按钮
-
输入文本:
Hello -
点击 "发送" 或按回车
4. 查看数据包
数据包记录区域会实时显示:
- 时间戳 - 数据收发时间
- 方向 - SEND(发送)或 RECV(接收)
- 地址 - 远程地址(仅服务端显示)
- 大小 - 数据字节数
- HEX视图 - 十六进制显示
- ASCII视图 - ASCII字符显示
📦 打包分发
打包成exe
双击运行 build.bat,自动完成打包。
生成文件:dist\TCP通信可视化工具.exe(约12MB)
分发给他人
直接发送 TCP通信可视化工具.exe 即可,对方:
- ❌ 不需要安装Python
- ❌ 不需要安装任何依赖
- ✅ 双击即可运行(Windows 7/10/11)
❓ 常见问题
Q: 程序无法启动?
A: 请确保系统为Windows 7及以上版本。如遇杀毒软件拦截,请选择信任。
Q: 连接失败?
A: 检查:
- 服务端是否已启动(状态显示"监听中")
- 端口号是否一致
- 主机地址是否正确(本机用
127.0.0.1)
Q: 如何测试远程连接?
A:
- 服务端主机设置为
0.0.0.0 - 客户端输入服务端所在机器的IP地址
- 确保防火墙允许该端口
Q: 发送HEX数据报错?
A: 确保:
- 只包含 0-9, A-F, a-f 字符
- 字符数为偶数(字节对齐)
- 去掉逗号、分号等无关字符
Q: 如何重新打包?
A: 修改代码后,双击 build.bat 即可重新打包。
📁 文件说明
tcp可视化gui界面/
├── tcp_visualizer.py # 源代码
├── build.bat # 打包脚本(双击打包成exe)
├── 启动TCP可视化工具.bat # 源码运行启动脚本
├── test_tcp.py # 测试脚本
├── README.md # 说明文档
├── 示例说明.md # 详细使用示例
└── dist/
└── TCP通信可视化工具.exe # 打包后的程序(可分发)