目录
加密隧道与代理有什么区别?
加密隧道和代理都能替你转发流量,但工作层级、接管范围和是否加密都不同。本文用对照表和时序图讲清两者的区别,以及现代客户端为什么用「虚拟网卡 + 规则分流」把两者的优点结合起来。
网络原理系列:① 打开一个网页时发生了什么 → ② 网络分层模型 → ③ 常见网络协议 → ④ 代理是什么 → ⑤ 加密隧道是什么 → ⑥ 加密隧道与代理的区别 → ⑦ HTTPS 加密了什么 → ⑧ 系统代理与 TUN 模式 → ⑨ 分流是什么 → ⑩ DNS 污染与泄漏 → ⑪ 晚高峰为什么变慢 → ⑫ 延迟、丢包与带宽
加密隧道和代理都是「替你转发流量的中间人」,区别主要有三点:接管范围、是否加密、工作的层级。普通代理通常只接管配置了它的程序(比如浏览器),本身不加密,大多工作在应用层或会话层;加密隧道通过虚拟网卡接管整台设备的流量,从你的设备到服务器全程加密,常见的工作在网络层。现代客户端则把两者结合起来:用虚拟网卡接管全部流量,再按规则决定哪些走加密通道、哪些直连。
- ① 普通代理只有浏览器把信交给它
- ② 其他程序直连游戏、聊天、命令行各走各的路
- ③ 沿途可见明信片的内容和去向都看得到
- ④ 整机接管所有程序的流量都被接住、加密
- ⑤ 一条加密通道全部汇入同一条管道,沿途看不到内容
- ⑥ 隧道服务器在另一端拆开再转发
一张表看懂区别
| 普通代理(HTTP / SOCKS5) | 加密隧道 | |
|---|---|---|
| 工作层级 | 应用层 / 会话层:转发某个连接或请求 | 多在网络层:转发整个 IP 数据包 |
| 接管范围 | 只有配置了代理、并且遵守设置的程序 | 整台设备的所有程序,包括命令行和游戏 |
| 加密 | 本身不加密 | 设备到服务器全程加密 |
| 沿途能看到什么 | 你通过代理访问了哪些地址;未加密的内容 | 只能看到你连接了隧道服务器 |
| 是否需要系统授权 | 一般不需要 | 需要(创建虚拟网卡要用户同意) |
| 典型用途 | 公司上网出口、只让浏览器换出口、开发调试 | 公共 Wi-Fi 保护、远程办公、整机跨地区访问 |
区别一:接管范围——一个程序还是整台设备
代理靠的是「程序自觉」:浏览器读取系统或自己的代理设置,把请求交给代理。可很多程序根本不读这个设置,例如命令行工具、部分游戏和聊天软件,它们会照常直接联网。
加密隧道走的是另一条路:在系统里创建一块虚拟网卡,并把默认路由指向它。程序不需要做任何设置,它们发出的每一个数据包都会先经过虚拟网卡,自然就进了隧道。具体原理见 加密隧道是什么 和 系统代理、全局模式与 TUN 模式。
区别二:加密——内容和去向能不能被看到
HTTP 代理和 SOCKS5 协议本身都不加密。你连到代理的这一段,同一 Wi-Fi 的人或运营商能看到你让代理去连哪个地址,访问 HTTP 网站时还能看到全部内容,甚至连代理的用户名和密码也是明文传输的。
加密隧道则在你的设备和隧道服务器之间建立加密通道,沿途只能看到「这台设备在和隧道服务器通信」,以及数据的大小和时间。
一张时序图对比
假设你的电脑上同时开着浏览器和一个游戏,分别用普通代理(只在浏览器里设置)和加密隧道,看看流量是怎么走的:
| 步骤 | 发生了什么 | 运营商能看到 |
|---|---|---|
| ① | 浏览器把请求交给代理,请求里写着要访问的目标地址 | 你在用代理,以及要访问的目标地址 |
| ② | 代理替你访问网站 | ——(这一段在代理和网站之间) |
| ③ | 游戏不读浏览器的代理设置,直接连接自己的服务器 | 游戏的全部连接,就像没有代理一样 |
| ④ | 浏览器的流量进入虚拟网卡,被加密后送往隧道服务器 | 只有加密数据,看不出目标 |
| ⑤ | 游戏的流量同样被虚拟网卡接住、加密 | 只有加密数据,看不出目标 |
| ⑥–⑦ | 隧道服务器解密,再替你访问网站或游戏服务器 | ——(这一段在服务器和网站之间) |
区别三:工作层级
- HTTP 代理工作在应用层,理解 HTTP 协议,能看到请求的网址(HTTPS 下只能看到域名);
- SOCKS5 工作在会话层,只负责转发 TCP / UDP 连接,不关心里面是什么协议;
- 加密隧道常见的工作在网络层,把整个 IP 数据包加密后封装起来,上面跑什么协议都能转发。
分层的概念可以回顾 网络分层模型。
现代客户端的做法:虚拟网卡接管 + 规则分流
如今两者的界限越来越模糊。主流的客户端通常这样工作:
- 用虚拟网卡(TUN)接管整台设备的流量,不依赖程序自觉;
- 按规则分流:本地网站、局域网设备直连,海外服务走加密通道,广告域名可以直接拒绝;
- 用加密的协议传输走加密通道的那部分流量,沿途无法看到内容和真实去向。
这样既有加密隧道的「全覆盖、全加密」,又避免了所有流量都绕远路,本地网站照样快。穿山甲就是这种做法,分流的设置见 分流规则详解。
怎么选?
| 你的需求 | 更合适的方式 |
|---|---|
| 只想让浏览器换个出口,临时用一下 | 代理即可 |
| 在公司、学校网络里按要求配置上网出口 | 代理(按网络管理员的要求) |
| 在机场、咖啡店等公共 Wi-Fi 上保护隐私 | 加密隧道 |
| 命令行、游戏、各种 App 都需要访问海外服务 | 加密隧道(虚拟网卡接管) |
| 希望本地网站不受影响、海外服务又稳定 | 虚拟网卡接管 + 规则分流 |
相关阅读
常见问题
加密隧道一定比代理慢吗?
不一定。加密和解密的计算开销在现代设备上很小,速度主要取决于线路质量和服务器的距离。一条优质的加密隧道线路,往往比一个拥挤的免费代理快得多。
代理加上 HTTPS,是不是就和加密隧道一样安全了?
不完全一样。HTTPS 保护了网页的内容,但你连接代理的那一段如果不加密,沿途的人仍然能看到你通过代理访问了哪些网站;而且只有配置了代理的程序才受保护。
为什么有些客户端既叫「代理」又能接管整台设备?
现代客户端通常在本机用虚拟网卡接管所有流量,再通过加密的代理协议发往服务器。从接管方式看它像加密隧道,从传输协议看它又是一种代理,两者的界限已经越来越模糊。