知识百科
代理是什么:HTTP、SOCKS 代理与机场节点的关系,流量怎么经过代理
解释代理的概念:客户端与目标之间的中转。说明 HTTP 代理与 SOCKS 代理的区别、本地代理端口(如 127.0.0.1:7897)的含义、机场节点与本地代理的两层结构,以及程序怎么知道要走代理。
代理是所有跨境网络工具的技术基础。理解它的两层结构,客户端里的端口、系统代理、TUN 这些概念就都清楚了。
代理的定义
你想访问网站 A,但不直接连它,而是把请求发给服务器 B,B 替你连 A 并把结果传回。B 就是代理。对 A 来说,访问者是 B,不是你。
机场使用中的两层代理
| 层 | 位置 | 作用 |
|---|---|---|
| 本地代理 | 你的电脑,127.0.0.1:端口 | 客户端开的入口,程序把流量发到这里 |
| 远端代理 | 机场节点,海外服务器 | 客户端把流量加密后发到这里,节点访问目标 |
流程:程序 → 本地端口 → 客户端(按规则决定直连或代理)→ 加密 → 机场节点 → 目标网站。
本地这一层只是接口,真正的跨境发生在客户端与节点之间。
HTTP 代理与 SOCKS 代理
本地代理端口有两种协议:
- HTTP 代理: 只处理 HTTP 与 HTTPS 请求。浏览器最常用。
- SOCKS 代理(SOCKS5): 处理任意 TCP 与 UDP 连接,不关心上层协议。终端工具、游戏更常用。
Clash Verge 的「混合端口」(默认 7897)同时接受两种,程序用哪种都行。v2rayN 默认 HTTP 10809、SOCKS 10808。
程序怎么知道要走代理
程序不会自动把流量发到 127.0.0.1:7897,需要被告知:
- 系统代理: 操作系统设置里写上代理地址,读这项设置的程序(浏览器)自动走。见 系统代理是什么。
- 环境变量: 终端程序读
HTTPS_PROXY。 - 程序自身设置: 部分软件有独立代理设置。
- TUN: 不告诉程序,直接在网卡层截获所有流量。见 TUN 是什么。
「客户端开了但程序没走代理」几乎都是这一步没做。
与节点协议的关系
本地代理用 HTTP/SOCKS,客户端到节点之间用 SS、VMess、VLESS、Trojan 等加密协议。两者是不同的层,见 协议 相关文章。
代理与 VPN
传统 VPN 在系统层建立隧道,所有流量进隧道;代理是应用层或传输层的转发,可以按规则决定哪些走哪些不走。机场客户端的 TUN 模式在效果上接近 VPN。见 机场和 VPN 的区别。
常见问题
- 机场和代理有什么区别?
- 机场节点本质上就是加密的远端代理服务器。「机场」是服务形式,「代理」是技术原理。
- 127.0.0.1:7897 是什么?
- 客户端在本机开的代理端口。127.0.0.1 是本机地址,7897 是端口。程序把流量发到这里,客户端接收后转发到节点。
- HTTP 代理和 SOCKS 代理有什么区别?
- HTTP 代理只处理 HTTP/HTTPS 流量;SOCKS 代理处理任意 TCP/UDP 流量。客户端的「混合端口」同时支持两种。