是一个基于 Golang 的 netcat 工具,旨在更方便地建立点对点通信。其主要特点包括:
🔁 自动化内网穿透:零配置,双方仅需约定一个口令,使用参数-p2p既可自动发现彼此网络地址和穿透内网建立点对点连接,使用公共 STUN 和 MQTT 服务交换地址信息。
🔒 端到端双向认证的加密:支持 TCP 的 TLS 和 UDP 的 DTLS 加密传输,可基于口令双向身份认证。
🧩 灵活的服务配置:通过参数 -e 可灵活的设置为每个连接提供服务的应用程序,例如-e /bin/sh可提供远程cmdshell,还可以使用内置的虚拟命令便捷的使用socks5服务、http文件服务和流量转发功能。

基础
连接到我的博客: gonc i.scwy.net 80
以加密模式连接: gonc -tls i.scwy.net 443
本地监听4444端口: gonc -l 4444
于是结合两者进行通信/聊天:
服务端: gonc -l 4444
客户端: gonc 127.0.0.1 4444
p2p连接/聊天
双方都运行此命令,统一命令: gonc -p2p your_password_here
以上命令相对需要同一时间运行,也可以使用-mqtt让其中一方等久一点:
等待方: gonc -p2p your_password_here -mqtt-wait
发起方: gonc -p2p your_password_here -mqtt-hello
反弹 Shell (获取远程终端控制)
监听端 (在目标机器上运行)
gonc -tls -exec “:sh /bin/bash” -l 1234
连接端 (从你的机器连接)
gonc -tls -pty x.x.x.x 1234
-pty 参数提供伪终端
P2P 方式反弹 Shell (更安全,无需暴露公网IP)
目标机器
gonc -exec “:sh /bin/bash” -p2p your_password
你的机器
gonc -pty -p2p your_password
如何连接Win的cmd命令行,暂时没测试成功.
P2P 隧道与 Socks5 代理
一端等待建立隧道并作为 Socks5 服务器
gonc -p2p your_password -socks5server
另一端将本机的 3080 端口映射为 Socks5 客户端
gonc -p2p your_password -socks5local-port 3080
P2P 隧道与 HTTP 文件共享
一端启动 HTTP 文件服务器,共享 C:/RootDir 目录
gonc -p2p your_password -httpserver c:/RootDir
另一端将对端的文件服务映射到本地 9999 端口
gonc -p2p your_password -httplocal-port 9999
也可以直接递归下载所有文件到本地
gonc -p2p <口令> -download c:/save
在客户机上运行HTTP服务,我的电脑上就可以直接通过浏览器上查看了.也意味着我可以为客户一对一的打开一个文件共享.
传输速度测试
发送端 (发送无限零数据流)
gonc.exe -send /dev/zero -P x.x.x.x 1234
接收端
gonc -P -l 1234 > NUL
需要先运行客户端
下面命令启动了仅支持UDP转发功能的socks5代理,-psk和-tls开启了加密和PSK口令认证。
gonc -e “:s5s -u -c=0” -psk 口令 -tls -k -l 1080
打赏