GNT (Go Net Tool) 是一个基于 Go 语言开发的命令行 TCP 调试工具,专为网络调试和测试而设计。该工具提供了一个交互式的命令行界面,可以轻松地创建 TCP 客户端或服务端,适用于开发人员进行网络协议调试、测试和数据传输验证。
- 交互式命令行界面 - 直观易用的控制台界面,支持彩色输出
- TCP 客户端模式 - 连接到远程 TCP 服务端进行调试
- TCP 服务端模式 - 启动本地 TCP 服务端接收客户端连接
- Go 1.24.0 或更高版本
- 支持标准 Go 工具链的操作系统 (Windows, Linux, macOS)
sudo curl -L "https://github.com/OnlyTL/gnt/releases/download/0.1.1/gnt" -o /usr/local/bin/gnt && sudo chmod +x /usr/local/bin/gnt# 克隆项目
git clone <项目地址>
cd gnt
# 构建项目
go build -o gnt .
# 或者安装到 GOPATH
go install .访问项目发布页面下载对应操作系统预编译的可执行文件。
GNT 提供了两个主要命令:server 和 client,分别用于启动 TCP 服务端和客户端。
启动一个监听指定端口的 TCP 服务端:
gnt server --port 8080或使用简写:
gnt server -p 8080服务端启动后,支持以下交互命令:
ls- 查看当前连接的客户端列表text <消息内容>- 向所有连接的客户端广播文本消息hex <十六进制数据>- 向所有连接的客户端广播十六进制数据@<客户端地址> text <消息>- 向指定客户端发送文本消息@<客户端地址> hex <十六进制数据>- 向指定客户端发送十六进制数据help- 显示帮助信息exit- 退出服务端
连接到远程 TCP 服务端:
gnt client --target 127.0.0.1:8080或使用简写:
gnt client -t 127.0.0.1:8080客户端启动后,支持以下交互命令:
text <消息内容>- 发送文本消息到服务端hex <十六进制数据>- 发送十六进制数据到服务端
-
启动服务端监听 8080 端口:
gnt server -p 8080
-
在另一个终端启动客户端连接服务端:
gnt client -t 127.0.0.1:8080
-
在客户端终端发送消息:
> text Hello, Server! > hex 48656C6C6F (表示 "Hello" 的十六进制)
-
启动服务端:
gnt server -p 8080
-
启动多个客户端连接:
gnt client -t 127.0.0.1:8080 # 客户端 1 gnt client -t 127.0.0.1:8080 # 客户端 2
-
在服务端终端查看连接并发送消息:
> ls --- 在线客户端 --- [1] 127.0.0.1:54321 [2] 127.0.0.1:54322 ------------------ > text 广播消息! > @127.0.0.1:54321 text 仅发给客户端1
--port,-p: 指定服务端监听端口 (默认: 8080)
--target,-t: 指定要连接的目标地址 (格式: host:port, 默认: 127.0.0.1:8080)
- TCP 协议测试
- 网络数据包验证
- 客户端-服务端通信测试
本项目采用 MIT 许可证,详见 LICENSE 文件。