基于Qt的网络调试助手 - A network debugging assistant based on Qt GUI
mNetAssist是一个功能丰富的网络调试工具,支持UDP、TCP客户端、TCP服务器三种网络协议模式,提供直观的图形界面和强大的调试功能。
- UDP模式: 支持UDP数据包收发
- TCP客户端模式: 连接TCP服务器进行数据通信
- TCP服务器模式: 创建TCP服务器,支持多客户端连接
- 支持文本和十六进制数据发送
- 文件传输功能
- 循环发送功能(可设置间隔时间)
- 实时显示发送/接收数据统计
- 发送数据历史: 自动保存最近20条发送的数据,支持快速重用
- 连接配置历史: 保存IP地址和端口历史(各15条),支持快速选择
- 协议类型记忆: 自动记住最后使用的协议类型
- 跨会话持久化: 所有历史记录保存在配置文件中,程序重启后自动恢复
- 彩色日志显示: 发送数据显示为绿色,接收数据显示为蓝色
- 时间戳记录: 可选择显示详细的时间戳信息
- 数据过滤: 可选择性显示发送/接收数据
- 智能窗口管理: 启动时自动调整为屏幕80%大小并居中显示
- 多客户端管理: TCP服务器模式支持多客户端连接管理
- 直观的图形用户界面
- 实时网络状态显示
- 便捷的历史记录下拉选择
- 紧凑的控件布局设计
- 操作系统: Linux (已在Ubuntu测试)
- Qt版本: Qt 5.15.3 或更高版本
- 编译器: g++ 支持C++11标准
# Ubuntu/Debian系统
sudo apt update
sudo apt install qt5-default qtbase5-dev qttools5-dev build-essential
# 或者使用新版本的包名
sudo apt install qtbase5-dev qttools5-dev build-essential# 克隆项目
git clone <repository-url>
cd mNetAssist
# 编译
qmake
make
# 运行
./mNetAssist# 使用安装脚本
chmod +x install.sh
./install.sh
# 卸载
chmod +x uninstall.sh
./uninstall.sh- 选择协议类型: 在界面顶部选择UDP、TCP服务器或TCP客户端
- 配置网络参数:
- UDP/TCP服务器: 设置本地IP和端口
- TCP客户端: 设置服务器IP和端口
- 建立连接: 点击"连接网络"按钮
- 数据通信: 在发送框中输入数据,点击"发送数据"
- 程序自动保存最近20条发送的数据
- 点击发送框旁的下拉菜单可快速选择历史数据
- 支持长文本智能截断显示
- 点击"清除历史"按钮可清空发送历史
- IP地址和端口输入框旁的"▼"按钮提供历史记录
- 最多保存15条IP和端口历史
- TCP客户端模式独立保存服务器IP历史
- 程序启动时自动加载最后使用的配置
- 勾选"循环发送"选项
- 设置发送间隔(毫秒)
- 点击发送数据开始循环发送
- 勾选"启动接收文件"开始接收文件
- 勾选"发送文件"选择并发送文件
- 默认以文本形式发送
- 勾选"16进制显示"以十六进制格式发送数据
程序运行时会在同目录下自动创建mNetAssist_history.ini配置文件,保存以下信息:
- 发送数据历史记录
- IP地址和端口历史记录
- 最后使用的协议类型
- TCP客户端服务器IP历史
配置文件可以备份和迁移,支持跨设备使用。
-
编译错误:
- 确保安装了完整的Qt开发环境
- 检查Qt版本是否为5.15或更高
-
连接失败:
- 检查网络配置和防火墙设置
- 确认目标IP和端口可访问性
-
界面异常:
- 检查Qt平台插件是否正确安装
- 尝试设置环境变量:
export QT_QPA_PLATFORM=xcb
程序运行时会显示详细的网络状态信息,包括连接状态、数据传输统计等,有助于问题诊断。
- 开发语言: C++
- 界面框架: Qt 5.15.3
- 网络模块: QNetwork (QUdpSocket, QTcpSocket, QTcpServer)
- 配置管理: QSettings (INI格式)
本项目基于MIT许可证开源,详见LICENSE文件。
- ✅ 智能窗口大小和居中显示
- ✅ 发送数据历史记录功能(20条)
- ✅ 连接配置历史记录功能(15条)
- ✅ 协议类型自动记忆
- ✅ TCP客户端服务器IP独立历史管理
- ✅ 配置文件同目录保存
- ✅ 彩色日志显示和时间戳功能
- ✅ 实时数据保存,避免数据丢失
如有问题或建议,欢迎提交Issue或Pull Request。