goncpage

go-netcat 简介

README in English中文

go-netcat 是一个基于 Golang 的 netcat 工具,旨在更方便地建立点对点通信。其主要特点包括:


最新版本下载


使用示例

基本用法

高安全性加密 P2P 通信

反弹 Shell(类UNIX支持pseudo-terminal shell )

传输速度测试

P2P 隧道与 Socks5 代理

P2P 隧道与 HTTP 文件服务器

灵活服务配置

Socks5 代理服务

多服务监听模式

给其他应用建立通道

P2P NAT 穿透能力

gonc如何建立P2P?

如何部署中转服务器适应实在无法P2P的条件?

例如原本两端都是对称型NAT,无法P2P,现在一端使用了socks5代理(UDP模式),就相当于转为容易型的NAT了,于是就能很容易和其他建立连接,数据加密仍然是端到端的。

内置的公用服务器(STUN和MQTT):

	"tcp://turn.cloudflare.com:80",
	"udp://turn.cloudflare.com:53",
	"udp://stun.l.google.com:19302",
	"udp://stun.miwifi.com:3478",
	"global.turn.twilio.com:3478",
	"stun.nextcloud.com:443",
“tcp://broker.hivemq.com:1883”,
	"tcp://broker.emqx.io:1883",
	"tcp://test.mosquitto.org:1883",

gonc的NAT穿透成功率如何?

除了两端都是对称类型的情况,其他都有非常高的成功率

gonc将NAT类型分为3种:

当固定一个内网端口去访问多个STUN服务器,根据多个STUN服务器反馈的地址研判:

  1. 容易型:NAT端口与内网端口都是保持不变的
  2. 困难型:NAT端口都变为另一个共同的端口号,相对1困难。
  3. 对称型:NAT端口每个都不一样,算是最困难的类型

针对这些类型,gonc采用了如下一些NAT穿透策略: