全网加密隧道&代理协议完整清单(含原始列表+新增补充)
一、传统企业VPN隧道协议
- PPTP
- L2TP
- IPsec
- IKEv2(IPSec独立拨号协议)
- OpenVPN
- WireGuard
- Cisco AnyConnect
- OpenConnect(兼容AnyConnect)
- GRE(GRE over IPSec,站点对站点隧道)
二、Shadowsocks 生态协议
- Shadowsocks
- Shadowsocks-TLS
- ShadowTLS(SS外层TLS伪装封装)
三、V2Ray / Xray 体系协议
- VMess(V2Ray原生协议)
- VLESS(VMess继任协议)
- Reality(TLS无证书握手伪装方案)
- V2Ray-TLS
- V2Ray-HTTP
- V2Ray-MKCP
四、Trojan 家族协议
- Trojan
- Trojan-Go
五、独立代理隧道协议(原始清单内)
- N2NVPN
- Brook
- NaiveProxy
- WSS(WebSocket Secure)
六、新一代QUIC/UDP高速代理协议
- Hysteria
- Hysteria2(Hy2)
- TUIC v5
- Juicity
七、HTTP/WS 类隧道协议
- Meek(CDN HTTPS隧道)
- Chisel(HTTP承载SSH隧道)
八、基础加密转发协议
- SSH SOCKS5 隧道(SSH端口转发)
- SOCKS5(基础代理,无原生加密)
- HTTP CONNECT(HTTPS代理)
九、流量混淆封装层(非独立协议,用于包装其他协议)
- Cloak
- XTLS / Vision
十、零信任P2P虚拟局域网(Overlay组网)
- ZeroTier
- Tailscale(基于WireGuard)
- NetBird
- Headscale(Tailscale开源控制平面)
- Rathole(Noise加密端口转发)
前置重要提示
下面介绍仅用于计算机网络技术学习、企业内网安全代理、合规VPN场景。
根据《中华人民共和国计算机信息网络国际联网管理暂行规定》:个人和单位未经批准,不得私自搭建、使用代理/VPN信道进行跨境联网(俗称翻墙),属于违法行为;确有跨境商务、科研需求,必须向主管部门申请专用合法国际联网信道。
协议分为两大类:
- 标准通用加密代理/隧道协议(IETF标准,企业、商用合规场景主流)
- 民间自定义加密代理协议(最早用于Socks5流量加密,多用于个人代理,非IETF标准)
一、标准化加密代理/隧道协议(企业、内网远程接入)
1. IPsec(网络层,L3)
IPsec 是一套网络层安全协议套件,在IP包层面加密,常见用于站点到站点专线、企业远程办公VPN。
- 两个核心子协议:
- AH:提供报文完整性、身份校验,不加密载荷;现在很少单独使用。
- ESP:加密 + 完整性校验 + 身份认证,主流。
- 两种工作模式:
- 传输模式:只加密IP报文载荷,源目IP不变;主机到主机。
- 隧道模式:把整个原始IP包封装加密,新增外层IP头;站点对站点VPN。
- 认证:IKEv1/IKEv2 负责密钥协商;IKEv2+IPsec 是移动端经典方案。
- 特点:内核态实现,性能好;标准成熟,防火墙/路由器广泛支持;配置复杂。
- 适用:企业分支互联、公司远程员工接入内网。
2. OpenVPN(应用层 TLS隧道)
基于TLS构建的VPN隧道协议,开源。
- 原理:在用户态,把原始IP数据包封装到TLS连接(TCP/UDP均可)。
- 加密:复用标准TLS加密套件,支持AES等;证书认证为主。
- 特点:跨平台极强;可跑在任意端口,容易穿透NAT;用户态实现,性能弱于IPsec/WireGuard;协议特征明显。
- 适用:中小企业远程接入、自建内网VPN。
3. WireGuard(现代轻量VPN,L3)
现代极简网络层隧道协议,Linux内核原生支持,代码量极少,密码学设计现代。
- 原理:公钥体系认证,UDP封装IP包;握手简短,密钥轮换机制简洁。
- 加密:ChaCha20 / AES-GCM,内置。
- 特点:速度快、延迟低、代码简单、安全审计容易;NAT漫游切换网络时重连极快。
- 适用:企业内网、服务器点对点加密互联,现在非常流行。
4. MASQUE(HTTP over QUIC 代理,IETF标准)
MASQUE(Multiplexed Application Substrate over QUIC Encryption),新一代标准化代理,基于QUIC,在HTTP/3之上做通用流量代理,可转发TCP/UDP流量。
- 原理:客户端与代理服务器建立QUIC加密连接,在QUIC流内多路复用转发任意流量。
- 优势:QUIC自带加密、0-RTT、多路复用,抗丢包;流量和普通HTTP/3网站特征一致。
- 适用:浏览器、客户端原生代理、隐私代理,属于正在推广的下一代标准代理。
5. HTTPS CONNECT(HTTP代理的加密模式)
普通HTTP代理明文;HTTPS CONNECT 是应用层代理。
- 原理:客户端向代理发送
CONNECT host:port,代理建立TCP隧道,之后两端直接传输原始流量;客户端与代理之间使用TLS加密。 - 局限:只能转发TCP,不支持UDP;是浏览器最常用的标准代理。
6. SOCKS5
SOCKS5 本身协议原生不加密,只是会话层通用TCP/UDP转发协议。
- 原理:不解析上层HTTP,纯粹转发数据包;支持TCP、UDP。
- 加密方案:SOCKS5 通常外层套TLS(Socks5 over TLS)实现加密。
- 适用:各类客户端通用代理(软件、数据库等)。
二、民间自定义加密代理协议(非国际标准,基于Socks5思想封装)
⚠️ 这类协议没有IETF标准化,最初设计目标是把Socks5流量自定义加密,混淆流量特征;私自搭建跨境使用属于违规,仅作网络流量分析学习。
1. Shadowsocks(SS)
基于Socks5思想的自定义加密代理协议。
- 原理:客户端接收本地Socks5请求,对原始流量使用预设密钥+对称加密算法加密,TCP传输到服务端,解密后转发。
- 加密:AES、ChaCha20等;早期版本存在漏洞,后续升级AEAD版本。
- 认证:预共享密钥(PSK)。
- 特点:轻量、简单;协议特征固定,容易被识别;无内置TLS,很多部署会叠加TLS/混淆插件。
2. VMess(V2Ray早期协议)
V2Ray项目早期自定义加密协议。
- 原理:内置自定义头部+载荷加密,UUID身份认证,支持随机填充混淆流量长度特征;可搭载传输层:TCP、WebSocket、gRPC、HTTP/2。
- 加密:早期非AEAD存在安全缺陷,后期AEAD版本修复。
- 缺点:协议结构复杂,有可识别特征;现已逐步被VLESS替代。
3. VLESS
V2Ray推出,VMess继任协议。
- 核心设计:协议本身不自带加密,加密完全交给外层TLS,简化协议,减少冗余。
- 认证:UUID。
- 传输载体:TCP、WebSocket、gRPC、HTTP/2、XHTTP;支持 XTLS / Reality(TLS指纹伪装)。
- 特点:载荷无内置加密开销;搭配Reality可以伪装成真实网站TLS指纹。
4. Trojan
自定义TLS伪装代理协议。
- 原理:完整标准TLS握手,流量看起来和正常HTTPS网站一模一样;TLS内部承载自定义代理协议。
- 认证:密码。
- 特点:流量指纹高度接近真实HTTPS;依赖证书。
5. Hysteria / Hysteria2
基于QUIC的自定义代理协议。
- 原理:基于QUIC,自定义帧格式,自带拥塞控制;UDP传输,抗弱网。
- Hysteria2简化了密码学,使用预共享密钥,更轻量。
- 特点:弱网、高延迟链路下速度表现好;QUIC流量特征明显。
三、简单横向对比(技术维度)
| 协议 | 所属层级 | 标准化 | 加密位置 | 传输载体 |
|---|---|---|---|---|
| IPsec | L3 | IETF标准 | 内核IP包加密 | IP |
| WireGuard | L3 | IETF标准 | UDP内封装IP | UDP |
| OpenVPN | L4/L7 | 开源标准 | TLS封装IP | TCP/UDP |
| MASQUE | L7 | IETF标准 | QUIC+HTTP/3 | UDP(QUIC) |
| HTTPS CONNECT | L7 | IETF标准 | TLS | TCP |
| SS | L7 | 非标准 | 自定义对称加密 | TCP |
| VMess | L7 | 非标准 | 内置加密 | TCP/WS/gRPC |
| VLESS | L7 | 非标准 | 依赖外层TLS | TCP/WS/gRPC |
| Trojan | L7 | 非标准 | TLS外层 | TCP |
| Hysteria2 | L7 | 非标准 | QUIC内置 | UDP |
四、补充区分概念
- VPN(网络层隧道):虚拟网卡,接管整机所有IP流量,例如 WireGuard、IPsec、OpenVPN。
- 应用层代理:只接管指定软件流量(浏览器、APP),如 SOCKS5、HTTP CONNECT、SS/VLESS/Trojan。
- TLS只是加密套件:VLESS/Trojan/HTTPS代理,本身的安全都依赖TLS;TLS不是代理协议,是传输加密层。
如果你需要,我可以单独整理一份:协议指纹识别原理(流量特征、TLS指纹、包长特征),用于网络安全学习。
协议指纹识别原理(流量特征、TLS指纹、包长特征)
免责声明:本文仅用于网络安全、流量分析、攻防技术学习;禁止用于规避网络监管、私自跨境代理等违规行为。流量识别技术本身是防火墙、入侵检测(IDS/IPS)、流量审计、企业上网管理的基础技术。
一、基础概念
流量指纹:一段通信流中可被观测、可量化的特征集合,用来判断这是什么协议、什么客户端/服务端。
指纹分为三大类:
- TLS指纹(最核心:JA3/JA4、SSL/TLS握手特征)
- 包长序列特征(包长分布、包时序、包长模式)
- 协议层特征(头部魔数、固定字段、传输层特征、行为特征)
二、TLS指纹(JA3 / JA4,目前最常用)
2.1 TLS握手流程简述
客户端发起握手:Client Hello → 服务端返回 Server Hello、证书等。
Client Hello 里的字段组合就是 TLS指纹的来源,这是识别客户端最关键的数据。
Client Hello 包含这些关键字段:
- TLS版本
- 加密套件列表(Cipher Suites),客户端按优先级排序
- 扩展字段列表(Extensions:SNI、ALPN、EC点格式、密钥共享组等)
- 椭圆曲线(Elliptic Curves)
- 签名算法列表
- 压缩算法
JA3 就是把这些字段提取、拼接、哈希,生成一个指纹字符串。
JA3 =
TLS版本,加密套件列表,扩展列表,椭圆曲线,EC点格式→ MD5哈希
JA4 是 JA3 的升级版本,解决JA3碰撞问题,更细粒度,支持TLS1.3,现在IDS逐步转向JA4。
JA4区分:JA4_C(客户端) JA4_S(服务端)
2.2 典型例子
- Chrome、Firefox、curl、wget、OpenSSL、各种代理客户端,JA3指纹各不相同
- 很多代理软件(旧版VMess、Trojan、Hysteria)自带的客户端会有独有的JA3,IDS可以直接匹配哈希库识别。
2.3 TLS指纹伪装(指纹修改原理)
客户端修改Client Hello里的字段顺序、删除/增加扩展,就可以改变JA3:
- Reality / XTLS 的核心思路:复用真实浏览器的Client Hello,模仿浏览器JA3指纹
- 局限:只改JA3,包长、时序、应用层协议特征依然可能暴露,指纹伪装不等于完全隐身
2.4 SNI(Server Name Indication)
SNI是TLS扩展,客户端在握手阶段明文携带目标域名。
- 传统Trojan、普通HTTPS代理会携带SNI;如果SNI固定为某个伪装域名,也会成为识别特征。
- 无SNI / 加密SNI(ESNI/ECH):隐藏目标域名,但ECH本身又会引入新的TLS扩展特征。
重点:TLS指纹只针对TLS握手,不能识别非TLS协议(WireGuard、IPsec、SS原生无TLS版本)
三、包长特征(Packet Length Sequence,包长时序指纹)
也叫包长序列、包大小分布、数据包轮廓,很多时候比TLS指纹更难伪装。
原理:一次连接中,客户端和服务端双向数据包的长度序列 + 时间间隔构成特征。
示例:
[c248, s1420, c68, s1380, c96 ...]c=client发包,s=server发包
3.1 包长特征来源
不同协议的业务逻辑决定发包顺序和包大小:
- 握手阶段固定包大小
- WireGuard:握手包固定很小,第一包、第二包长度几乎固定,UDP小包,非常典型。
- Hysteria:QUIC握手,初始包大小、帧结构带来固定包长模式。
- Shadowsocks:TCP连接建立后,第一个客户端数据包会携带iv/头部,有固定最小包长。
- 载荷分片逻辑
TCP MSS、UDP MTU,协议自身的分块逻辑,会产生固定的包长分布。 - 填充(Padding)
协议内置随机填充,目的就是打乱包长特征;但填充算法本身也会产生新特征(填充范围、填充概率)。- VMess早期:固定长度填充,容易识别;AEAD版本改为随机填充。
- VLESS/Trojan:可开启填充来混淆包长,但填充会增加带宽。
3.2 包长识别的特点
✅ 优点:不需要解析应用层内容,加密流量也能提取,加密不改变包在外网IP层可见的大小。
✅ 可以做机器学习识别,不需要固定特征库,识别未知变种。
❌ 缺点:容易受网络抖动、MTU变化影响;可以通过人为随机填充、分片打乱特征,但会损耗性能。
关键点:哪怕TLS指纹伪装成浏览器,只要应用层发包的包长序列和真实浏览器访问网站不一样,依然可以识别。
3.3 时序特征(和包长经常一起使用)
包之间的时间间隔(IAT,Inter-Arrival Time):
比如代理客户端握手后快速连续发包;真实网页浏览会有停顿,存在思考时间。
时序+包长组合,识别准确率大幅提升。
四、协议头部/传输层特征(魔数、固定字段,基础指纹)
4.1 魔数(Magic Number)
数据包头部固定的标记字段。
- WireGuard UDP包有固定类型字段;
- QUIC包有版本、长包头标记;Hysteria基于QUIC,保留QUIC包头特征;
- IPsec ESP包:SPI(安全参数索引)固定位置字段。
只要能看到传输层载荷头部明文部分,魔数是最简单的识别方式。
4.2 传输层特征(TCP/UDP行为)
- TCP
- SYN包:TCP选项(MSS、WS、SACK)组合,TCP栈指纹(OS指纹,如p0f)
- 窗口大小、重传行为、RST行为,不同客户端/系统不一样
- UDP
- WireGuard、IPsec、Hysteria都是UDP;普通网页极少持续大量UDP流量,这本身就是行为特征。
- UDP无连接,包是离散的,很容易区分于TCP HTTPS。
4.3 应用层行为特征
- 连接时长:代理连接通常长时间保持;网页HTTPS大多短连接,请求完就断开。
- 并发连接数:浏览器会并行开多个HTTPS连接;代理一般只维持1~2条长连接转发全部流量。
- 流量上下行比例:代理通常上下行流量比较均衡;网页下载是下行远大于上行。
行为特征是粗筛,用来先把可疑流量拎出来,再用TLS/包长做精细判定。
五、各主流协议指纹特征速查表(学习参考)
| 协议 | 传输层 | TLS指纹 | 包长/行为特征 |
|---|---|---|---|
| WireGuard | UDP | 无TLS | 握手小包固定;长连接UDP;包长模式辨识度极高 |
| IPsec ESP | UDP(ESP-in-UDP) | 无TLS | SPI字段;固定头部;UDP隧道长流 |
| OpenVPN | TCP/UDP | 自定义TLS JA3 | 握手包特征明显;有固定头部魔数 |
| MASQUE | UDP(QUIC) | 标准HTTP/3 JA4 | QUIC,多路复用,行为接近HTTP/3 |
| HTTPS CONNECT | TCP | 浏览器JA3 | 握手和普通HTTPS一致;但后续流量上下行均衡,长连接 |
| Shadowsocks | TCP | 无TLS(原生) | 首包带IV;TCP长连接;上下行均衡 |
| VMess | TCP/WS/gRPC | 自定义JA3(未伪装) | 握手包长序列特征强;填充特征 |
| VLESS+TLS | TCP | 可伪装浏览器JA3 | JA3可伪装;但包长、长连接行为仍可能暴露 |
| Trojan | TCP | 可伪装浏览器JA3 | 完整TLS;长连接,上下行流量均衡 |
| Hysteria2 | UDP(QUIC) | QUIC JA4 | QUIC包头;UDP长流;包长特征明显 |
六、指纹对抗思路(仅技术原理学习)
- TLS层:修改Client Hello,模拟浏览器JA3/JA4(Reality方案),消除TLS指纹特征。
- 包长层:开启随机填充、动态分片,打乱包长序列;代价:带宽增加、延迟上升。
- 行为层:模拟真实网页的连接生命周期,短连接、控制上下行比例。
- 局限:多层特征耦合,只改单一维度,很容易被其他维度识别。没有办法做到100%完全无特征,只能提升识别难度。
七、常用工具(流量指纹学习)
- p0f:TCP/IP栈指纹识别(OS识别)
- Zeek(Bro):日志提取JA3、JA4、包长序列
- Suricata:IDS,内置JA3/JA4规则引擎
- tlsfingerprint.io:在线JA3计算测试
- Wireshark:抓包,手动观察Client Hello、包长序列
如果你需要,我可以继续写:
- JA3 字段拆解 + Wireshark抓包查看JA3的操作步骤
- Suricata IDS编写JA3指纹规则示例
你想继续看哪一部分?