为什么现在我拼命补网络基础知识?因为我深刻意识到,如果不学这玩意儿,在AI时代处处被卡。。。
第一层,🪜,很多人虽然有,但是玩不明白——某些时候网络卡了,为什么卡了?代理和VPN是一个东西吗?手机和电脑选择VPN能选同一个吗?听人说VPS可以建稳定的VPN,是真的吗,怎么弄?
第二层,Claude,A➗相信大家都不陌生,虽然老是被封号,但是偶尔舔着也要用,而且说实话,Claude桌面端是我最最最喜欢的AI学习工具,交互真的赏心悦目。所以为了不被封号,就要了解底层防止被封的网络原理才行。
第三层,涉及到本地模型和AI Native组织建设,还可能有局域网、Nas这些东西加进来,所以最底层的IP、DNS这些也必须了解。
第四层,大量的好用工具。比如公众号批量抓取工具、视频号批量抓取工具,一般都要设置代理,如果不懂这些原则,就不知道能不能并行抓取?如果切换代理会对电脑使用有什么影响?
第五层,如果想要出海赚美金,学习网络底层原理更是重中之重。 DNS解析是域名常见名词,IP地址、网络请求、网络带宽、CPU、内存更是网站遭遇DDOS攻击时必须搞清楚的东西,因为烧的都是钱呐。
…
还有很多很多需要用到网络底层基础知识的地方,这篇文章不可能一次性把这么多问题解决完,但是我会用这篇文章,以最通俗易懂的方式让你了解清楚去解决这些显示问题,所需要具备的最的网络基础名词概念。
第一课:IP、IPv4、IPv6 到底是什么?
一、先整体理解:IP、IPv4、IPv6 三者是什么关系?
很多人第一次接触VPN、VPS、各种代理服务的时候,会把 IP、IPv4、IPv6 混在一起,下面就对它们进行细致的区分讲解:**IP(Internet Protocol) 是互联网通信使用的一套地址规则;IPv4 和 IPv6 是这套规则的两个版本。**可以初步理解为:
| 名称 | 大白话解释 | 示例 |
|---|---|---|
| IP | 网络通信中的“地址系统” | 类似现实世界的地址规则 |
| IPv4 | 第 4 版 IP 地址规则,最常见的老格式 | 192.168.1.1 |
| IPv6 | 第 6 版 IP 地址规则,新一代格式 | 2001:db8::1 |
但是日常我们说“我的 IP 是多少”,其实通常是在问:**我现在访问互联网时,对外显示的 IP 地址是多少?**这个IP地址就不是IP,而是 IPv4 或者 IPv6。这是IPv4和IPv6的详细对比,下面会展开解释:
| 对比项 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32 位 | 128 位 |
| 显示方式 | 点分十进制 | 冒号分隔十六进制 |
| 常见样子 | 192.168.1.1 | 2001:db8::1 |
| 分组方式 | 4 段,每段 8 位 | 8 组,每组 16 位 |
| 每段/每组范围 | 每段 0 ~ 255 | 每组 0000 ~ ffff |
| 地址数量 | 2^32,约 42.9 亿 | 2^128,数量极大 |
| 回环地址 | 127.0.0.1 | ::1 |
| 未指定地址 | 0.0.0.0 | :: |
二、IP 是什么?
1. IP 的核心作用
IP 的全称是 Internet Protocol,中文通常叫“互联网协议”。它的作用是让网络中的设备可以互相找到对方。你打开一个网站时,本质上是你的设备在向网站服务器发送请求:我要访问你,请把网页内容发回来。那网站服务器怎么知道数据要发回哪里?就需要靠 IP 地址。你可以把 IP 地址理解成网络世界里的“通信地址”:
| 现实世界 | 网络世界 |
|---|---|
| 家庭地址 | IP 地址 |
| 快递包裹 | 网络数据 |
| 快递路线 | 网络路由 |
| 收件人地址 | 目标 IP |
| 发件人地址 | 源 IP |
所以,IP 地址最核心的作用就是:让网络数据知道从哪里来、要到哪里去。
2. IP 地址不是固定不变的
**IP地址是变化的,是你这次上网时使用的网络出口地址。**比如你在家里连 Wi-Fi,上网时网站看到的可能是你家宽带的公网 IP;你切换到手机流量,网站看到的 IP 可能就变成了移动运营商的 IP;你使用代理、VPN、VPS 时,网站看到的 IP 又可能变成代理服务器、VPN 节点或 VPS 的 IP。
3. 公网 IP、内网 IP、出口 IP
IP 地址还可以分成不同类型,最重要的是这三个:
| 类型 | 含义 |
|---|---|
| 公网 IP | 互联网上对外可见的地址 |
| 内网 IP | 局域网内部使用的地址 |
| 出口 IP | 目标网站最终看到的那个 IP |
比如你家里有电脑、手机、iPad,这些都是在你家局域网里面,所以IP是内网IP,分别是:
电脑:192.168.1.10
手机:192.168.1.11
iPad:192.168.1.12
路由器:192.168.1.1但它们访问外部网站时,网站看到的可能都是同一个公网出口 IP:123.45.67.89。整个IP变化流程就是:
电脑 192.168.1.10
→ 路由器 192.168.1.1
→ 公网出口 IP 123.45.67.89
→ 目标网站而目标网站看到的往往是你的公网IP。
三、IPv4 是什么?
1. IPv4 是最常见的 IP 地址格式
IPv4 是 Internet Protocol version 4,也就是第 4 版互联网协议。IPv4 地址通常长这样:
192.168.1.1
8.8.8.8
1.1.1.1
255.255.255.255IPv4 的官方规范中,地址长度是 4 个 八位组(octet,八个二进制位),也就是 4 组 8 位,共 32 位。也就是说:IPv4 = 32 位二进制
2. IPv4 为什么只有 42.9 亿个?
因为 IPv4 本质上是一个 32 位二进制数字。每一位二进制只能是:0或1。所以 IPv4 的理论总数量是:2^32 = 4,294,967,296。也就是大约:42.9 亿个。这就是为什么经常听见有人说 IPv4 地址数量有限,42.9亿个确实比较少。。。而且这 42.9 亿个地址里,并不是全部都能作为公网 IP 使用。因为有一部分地址被保留给内网、回环、广播、文档示例等特殊用途。
3. IPv4 为什么用点分成 4 段?
IPv4 虽然本质是 32 位二进制,但人类不方便直接看这种形式:
11000000101010000000000100000001所以人们把它拆成 4 段:
8 位 . 8 位 . 8 位 . 8 位每一段 8 位二进制,转换成十进制后,就是我们看到的样子:
192.168.1.1以 192.168.1.1 为例:
192 .168 .1 .1
11000000 .10101000 .00000001 .00000001所以点号 . 不是小数点,只是分隔符。
4. 为什么每一段只能是 0 到 255?
因为每一段是 8 位二进制。8 位二进制最小是:00000000,换成十进制是:0。8 位二进制最大是:11111111,换成十进制是:255。所以 IPv4 每一段的范围只能是:0 ~ 255
5. 什么是内网 IPv4?
内网 IPv4 是只在局域网内部使用的地址。常见内网地址有三大段:
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255家用路由器最常见的是:
192.168.0.x
192.168.1.x比如:
192.168.1.1 路由器
192.168.1.10 电脑
192.168.1.11 手机
192.168.1.12 iPad这时候你会发现,很多设备只是最后一段不同,但这不是绝对的。在公司、学校、机房里,也可能出现:
10.20.3.15
10.20.3.16
10.20.4.88
10.21.1.206. 为什么很多人都有 192.168.1.1?
192.168.1.1 是一个私有内网地址。它不是公网地址,所以不需要在全球唯一。这就像酒店 A 有 101 房间,酒店 B 也有 101 房间,只要它们在不同酒店里,就不会冲突。
7. 什么是回环地址?
IPv4 里最常见的回环地址是:127.0.0.1。它通常也叫:localhost(经常vibe coding的朋友们肯定知道——localhost: 3000)回环地址的意思是:**自己访问自己。**比如你在浏览器输入:http://127.0.0.1:3000。意思是我这台电脑上的浏览器访问我这台电脑上运行的 3000 端口服务。它不会访问互联网,也不会访问路由器,而是在你本机内部完成通信。在你的电脑上,127.0.0.1 是你的电脑自己。在一台 VPS 上,127.0.0.1 是那台 VPS 自己。
四、IPv6 是什么?
IPv6 是 Internet Protocol version 6,也就是第 6 版互联网协议。它出现的一个重要原因,就是 IPv4 地址数量不够用。IPv4 只有 32 位,而 IPv6 是128 位。所以 IPv6 的地址数量是:2^128=340,282,366,920,938,463,463,374,607,431,768,211,456。这个数量非常巨大,可以简单理解为:**IPv6 的地址数量远远超过 IPv4。**IPv6 不再使用 IPv4 那种点分十进制格式,而是采用“十六进制 + 冒号分隔”。一个完整的 IPv6 地址长这样(分成8组):
2001 : 0db8 : 85a3 : 0000 : 0000 : 8a2e : 0370 : 7334每一组是 4 个十六进制字符。十六进制字符包括:
0 1 2 3 4 5 6 7 8 9 a b c d e fIPv6 的标准文本形式通常写成 x:x:x:x:x:x:x:x,也就是 8 组十六进制数,用冒号分隔。因为IPv6 太长了,所以允许简写。比如这个完整地址:2001:0db8:0000:0000:0000:0000:0000:0001。可以先省略每组前面的 0:2001:db8:0:0:0:0:0:1。如果中间有连续的 0000,还可以用 :: 省略:
2001:db8::1这里的“::”表示中间省略了一串连续的 0。但是要注意:一个 IPv6 地址里,:: 最多只能出现一次。
第二课:客户端、服务器、网站到底是什么?
**互联网里到底是谁在和谁通信?**答案就是两个角色:客户端和服务器。互联网里最常见的通信模型,可以理解成:
客户端 → 请求 → 服务器
客户端 ← 响应 ← 服务器你打开网页、刷视频、登录账号、发评论、调用 AI,本质上都可以放进这个模型里理解:你这边的软件向远方的服务器发请求,服务器处理后把结果返回给你。
一、客户端是什么?
客户端(Client):主动发起请求的一方。你平时用的浏览器、手机 App、电脑软件、小程序、游戏客户端、命令行工具、代码脚本,都可能是客户端。比如你用 Chrome 打开一个网站,Chrome 就是客户端。你用手机刷 X,X App 就是客户端。你用 Cursor 调用 AI 模型,Cursor 这个软件就是客户端。你写一段 Python 代码去请求某个 API,这段代码程序也可以是客户端。
这里有一个很容易混淆的点:**客户端不一定是你的电脑或手机本身,更准确地说,它通常是运行在设备上的某个软件。**比如你用 Mac 打开 Chrome 访问网站,Mac 是设备,Chrome 才是这次访问里的客户端。你用 iPhone 打开 YouTube,iPhone 是设备,YouTube App 是客户端。客户端主要负责三件事:接收你的操作,把你的操作变成网络请求,再把服务器返回的结果展示给你。比如你在一个 AI 网站里输入一句话,然后点击“发送”。你看到的是自己点了一个按钮,但背后其实是:浏览器这个客户端把你的输入内容发给服务器,服务器处理后返回结果,浏览器再把结果显示在页面上。
二、服务器是什么?
服务器(Server):等待别人来访问,并提供服务的一方。它可以提供网页、图片、视频、登录功能、搜索功能、评论功能、支付功能、文件下载、AI 生成结果等各种服务。比如你打开 YouTube,YouTube 的服务器会返回页面、视频、评论和推荐内容。你打开 X,X 的服务器会返回时间线、推文、图片、视频和互动数据。你打开 ChatGPT,OpenAI 的服务器会接收你的问题,处理后返回回答。所以服务器本质上就是:**一台或一组专门提供服务的机器,以及运行在这些机器上的程序。**这里还要注意,“服务器”这个词有两层意思:有时候我们说服务器,是指一台真实的机器,比如云服务器、VPS、机房里的物理服务器。这时候它更像是一台远程电脑。
但有时候我们说 Web 服务器、数据库服务器、代理服务器、邮件服务器,更多是在说某种服务程序或系统。比如一台 VPS 本身只是你租来的远程服务器,但你在上面安装了代理程序之后,它才会变成代理服务器。这个点对后面非常重要:VPS 不天然等于代理。VPS 是一台远程服务器;代理是运行在某台机器上的转发服务。
三、网站到底是什么?
很多人会以为网站就是一个网页。其实更准确地说,网站是一整套在线服务——你看到的页面只是网站的表层。一个网站背后通常包括前端、后端、数据库、服务器和网络环境。前端是你能看到和操作的部分,比如页面、按钮、输入框、图片、动画;后端是服务器上处理业务逻辑的部分,比如判断你有没有登录、检查会员权限、处理支付、保存评论、调用 AI 模型;数据库是专门存数据的地方,比如用户账号、文章内容、评论、订单、聊天记录、会员状态。举个例子,你打开一个 AI 工具网站,看到输入框和生成按钮,这是前端。你点击“生成”之后,后端会接收你的请求,检查你有没有权限,可能还会调用模型。你的账号信息、历史记录、剩余次数,通常存在数据库里。
所以网站不是单独一个页面,而是由前端、后端、数据库和服务器共同组成的一套服务。小网站可能一台服务器就能跑起来。大型平台就复杂得多。像 YouTube、X、TikTok、淘宝、OpenAI 这种平台,背后往往有很多服务器一起工作:网页服务器、登录服务器、数据库服务器、图片服务器、视频服务器、推荐系统、风控系统、缓存系统、CDN 节点等等。你表面上只是访问了一个网站,背后其实可能是一整套庞大的服务器系统在响应你。
四、请求和响应是什么?
客户端和服务器之间最核心的动作,就是请求和响应。请求,就是客户端对服务器说:“我需要某个东西”或者“请你帮我做某件事”。比如你打开首页,客户端是在请求首页内容。你点击登录,客户端是在请求服务器验证账号密码。你刷新时间线,客户端是在请求最新内容。你点赞一条推文,客户端是在请求服务器记录这次点赞。响应,就是服务器处理完以后返回的结果。比如服务器返回网页内容、登录成功、登录失败、评论列表、视频数据、AI 生成结果,或者告诉你没有权限、请求失败、服务器出错。
第三课:域名、URL、DNS 是什么?
一、三者的概念和关系
它们的概念如下:
| 概念 | 大白话 |
|---|---|
| 域名 | 网站好记的名字,比如 openai.com |
| URL | 一个完整的网址,比如 https://openai.com/chatgpt |
| DNS | 把域名翻译成 IP 的系统 |
IP 是机器真正使用的地址,但人类不喜欢记 IP。比如你不可能每天靠记一串数字访问网站,所以互联网引入了域名。域名就是给服务器起一个人类容易记的名字。你记 openai.com 就可以,不需要记它背后的服务器 IP。但计算机最终还是要靠 IP 通信,所以中间需要一个“翻译系统”,把 openai.com 翻译成服务器的 IP。这个翻译系统就是 DNS。关系:域名 → DNS 查询 → IP 地址 → 连接服务器
二、域名是分层的
域名不是随便一串字符,它是有层级结构的。比如 www.example.com 这个域名,可以拆成三层:
www.example.com
│ │ │
子域名 二级域名 顶级域名.com 是顶级域名,也叫 TLD。常见的还有 .net、.org、.cn、.ai、.io 等。example 是二级域名,通常是你真正注册和拥有的部分。比如 openai.com 里面,openai 就是主体部分。www 是子域名。很多网站会用 www,也有的网站不用。比如 www.example.com 和 example.com 可以指向同一个网站,也可以被配置成不同的网站。
三、URL 是什么?
URL 就是我们平时说的“完整网址”。域名只是 URL 的一部分,URL 比域名更完整,它不仅说明你要访问哪个网站,还说明用什么协议、访问哪个页面、带什么参数。比如这个网址:
https://www.example.com/articles?id=123#comments可以拆成几部分:
| 部分 | 示例 | 含义 |
|---|---|---|
| 协议 | https:// | 用什么方式通信 |
| 域名 | www.example.com | 访问哪个网站 |
| 路径 | /articles | 访问网站里的哪个页面 |
| 参数 | ?id=123 | 给服务器的额外信息 |
| 锚点 | comments | 页面内的某个位置 |
四、DNS 是什么?
DNS 的全称是 Domain Name System,中文一般叫“域名系统”。它的核心作用只有一句话:**DNS 负责把域名翻译成 IP 地址。**因为人类输入的是域名,但网络通信最终要靠 IP。比如你输入 youtube.com,浏览器需要先知道 youtube.com 对应哪个 IP,这个查询过程就叫 DNS 解析。大概粗浅过程是:
你输入 youtube.com
↓
浏览器询问 DNS:youtube.com 对应哪个 IP?
↓
DNS 返回一个 IP
↓
浏览器连接这个 IP 对应的服务器五、真实 DNS 查询到底怎么走?
通过上面YouTube这个案例,我们已经知道,DNS 的核心作用是:把域名翻译成 IP 地址。比如你访问 **www.example.com**,浏览器最终需要知道它对应哪个 IP。但问题来了,这个“查询 IP”的过程不是每次都直接去问一个中央服务器,而是会先从近处找答案,找不到再往远处问。
1. 什么是缓存?
讲 DNS 查询前,必须先理解“缓存”。**缓存就是临时记住以前查过的结果,方便下次直接使用。**比如你刚访问过 **www.example.com**,系统已经查到它对应某个 IP。短时间内你再次访问这个网站时,浏览器或系统可能会直接使用之前查到的结果,而不是重新完整查一遍。这样做有两个好处:第一,访问更快;第二,减少 DNS 系统的压力。所以 DNS 查询的第一原则是:能从缓存里找到答案,就不重新查询。
2. 浏览器缓存是什么?
浏览器缓存,就是浏览器自己临时记住的 DNS 查询结果。比如你用 Chrome 访问过 **www.example.com**,Chrome 可能会短时间记住:这个域名刚才解析到过哪个 IP。你下一次再访问时,Chrome 可能先看自己有没有记录。
3. 操作系统缓存是什么?
如果浏览器自己没有结果,它通常会去问操作系统。操作系统就是你的 Windows、macOS、iOS、Android 这一层。系统也可能保存 DNS 查询结果。比如你刚才不是用 Chrome,而是用另一个 App 访问过同一个域名。这个域名的解析结果可能已经被操作系统记住了。那 Chrome 再访问时,就可以从系统那里拿到结果。
4. 本地 DNS 是什么?
如果浏览器和操作系统都没有答案,设备就要去问一个 DNS 服务器。这个 DNS 服务器通常叫本地 DNS,也叫**递归 DNS 解析器:它是帮你真正出去查 DNS 的角色。**这个本地 DNS 可能来自你的宽带运营商(路由器接入运营商自动分配的),也可能是你自己手动设置的公共 DNS(公开的域名解析服务,为了更快更稳定),比如 Google DNS、Cloudflare DNS 等。
比如你连家里 Wi-Fi,路由器或运营商通常会自动告诉你的设备:“你查域名时,就去问这个 DNS 服务器。” 如果你手动把 DNS 改成 8.8.8.8 或 1.1.1.1,那你的设备就会去问这些公共 DNS。
5. 递归 DNS 是什么意思?
**递归DNS:你问它一个域名,它负责帮你一路查到底,最后把 IP 结果带回来。**比如你问本地 DNS:www.example.com 是哪个 IP?如果它自己缓存里有答案,它直接告诉你,如果它没有答案,它不会让你自己去问根 DNS、顶级域名 DNS、权威 DNS,而是它替你去问,这就叫递归查询。
6. 根 DNS 是什么?
如果递归 DNS 自己也不知道答案,它就要从 DNS 的最上层根 DNS 开始。根 DNS 不会直接告诉你 www.example.com 的最终 IP。它更像一个总目录,只告诉你下一步该去哪里问。比如你要查 **www.example.com**,根 DNS 会看最后的 .com,然后告诉递归 DNS:“你要查 .com 域名,去问负责 .com 的顶级域名 DNS。”
7. 顶级域名 DNS 是什么?
顶级域名就是域名最后那一段,比如 .com、.cn、.net、.org、.ai。负责这些顶级域名的 DNS,就叫顶级域名 DNS,也可以叫 TLD DNS。比如你查 www.example.com**,递归 DNS 会去问 .com 的顶级域名 DNS。.com** 的顶级域名 DNS 也通常不会直接告诉你最终 IP。它会告诉你:“example.com 这个域名的权威 DNS 在哪里,你去问它。”
8. 权威 DNS 是什么?
权威 DNS 是真正保存某个域名解析记录的地方。比如 example.com 的权威 DNS 里可能保存着:www.example.com 应该指向哪个 IPv4 地址,哪个 IPv6 地址。所以递归 DNS 最后会问权威 DNS:“www.example.com 到底对应哪个 IP?”权威 DNS 才会返回最终答案,然后递归 DNS 把这个答案带回给你的设备。你的浏览器拿到 IP 后,才可以真正连接服务器。
六、DNS 记录是什么?
域名要解析到哪里,不是凭空决定的,而是由 DNS 记录配置的。你买了一个域名之后,可以在域名服务商或 DNS 服务商那里配置解析记录。最常见的记录有几类:
| 记录类型 | 作用 |
|---|---|
| A 记录 | 把域名指向一个 IPv4 地址 |
| AAAA 记录 | 把域名指向一个 IPv6 地址 |
| CNAME 记录 | 把一个域名指向另一个域名 |
| MX 记录 | 配置邮箱服务器 |
| TXT 记录 | 放验证信息,比如域名所有权、邮箱安全验证 |
比如你想让 example.com 指向某台服务器的 IPv4 地址,就配置 A 记录。如果你想让 www.example.com 指向 example.com,可以配置 CNAME。如果你要做企业邮箱,就会用到 MX 记录。如果你要验证域名所有权,比如接入 Google Search Console、邮件服务、某些 SaaS 平台,经常会让你添加 TXT 记录。
七、一个域名可以对应多个 IP 吗?
可以,而且非常常见。大型网站往往不会只有一台服务器。一个域名背后可能对应多个 IP,用来做负载均衡、容灾、CDN 加速和就近访问。比如你在美国访问某个网站,DNS 可能给你返回美国附近的服务器 IP;你在新加坡访问,DNS 可能给你返回新加坡附近的服务器 IP。所以同一个域名,在不同地区、不同网络、不同时间,解析出来的 IP 可能不一样。
八、一个 IP 可以对应多个域名吗?
也可以。一台服务器或者一个公网 IP 上,可能托管多个网站。比如 a.com、b.com、c.com 都可能指向同一个服务器 IP。服务器收到请求后,会根据你请求里带的域名,判断你到底要访问哪个网站。所以域名和 IP 不是绝对一对一关系:一个域名可以解析到多个 IP,一个 IP 也可以承载多个域名。
九、DNS 缓存和 TTL 是什么?
DNS 查询如果每次都从头查,会很慢,也会给 DNS 系统造成很大压力,所以 DNS 有缓存机制——比如你刚访问过 openai.com,浏览器或系统可能已经记住了它对应的 IP。下次再访问时,就不用重新完整查询,直接用缓存结果。但缓存不能永久有效。每条 DNS 记录通常会有一个 TTL,也就是缓存有效时间(这个解析结果可以被缓存多久)。如果 TTL 是 300 秒,那解析结果大概可以缓存 5 分钟,过期之后,系统需要重新查询。这也是为什么刚修改完域名解析的时候,不会立刻在全世界生效。因为很多地方还在使用旧缓存,等 TTL 过期后才会刷新。
第四课:协议、HTTP/HTTPS 和端口是什么?
一、协议是什么?
协议(Protocol)就是:**通信双方共同遵守的一套规则。**两个人交流,需要用同一种语言、同一种格式,如果一个人说中文,一个人说法语,就很难沟通。网络通信也是一样,客户端和服务器之间不能乱发一堆数据,它们必须约定好:请求怎么写、响应怎么回、错误怎么表示、数据怎么传。这个约定好的规则,就叫做协议。比如浏览器访问网站时,通常使用 HTTP 或 HTTPS。远程登录服务器时,常用 SSH;发送邮件、接收邮件,也有对应的邮件协议;代理也有自己的协议,比如 HTTP 代理、SOCKS5 代理。如果没有协议,客户端就算找到了服务器,也不知道应该怎么向服务器表达“我要这个页面”,服务器也不知道应该怎么把结果返回给客户端。
二、HTTP 是什么?
HTTP 是网页世界里最重要的协议之一,它的全称是 HyperText Transfer Protocol,可以简单理解成:**浏览器和网站服务器之间传输网页内容的规则。**你打开一个网页时,浏览器会按照 HTTP 的规则向服务器发请求;服务器收到请求后,也按照 HTTP 的规则返回响应。比如你打开一篇文章,浏览器会向服务器请求这篇文章页面,服务器返回页面内容。最基础的模型就是:
浏览器 → HTTP 请求 → 网站服务器
浏览器 ← HTTP 响应 ← 网站服务器所以 HTTP 的核心其实就两个动作:**请求和响应。**请求就是客户端对服务器说:“我要什么”,响应就是服务器对客户端说:“这是结果”。HTTP 请求里可能包含你要访问的路径、你的浏览器信息、语言偏好、Cookie、登录状态等。HTTP 响应里可能包含网页内容、接口数据、图片地址、状态码等,比如你看到 404,意思通常是页面不存在;看到 403,意思通常是服务器拒绝访问;看到 500,意思通常是服务器内部出错。它们都是 HTTP 响应里的状态码。
三、HTTPS 是什么?
HTTPS 可以理解成 HTTP 的安全版本,因为普通 HTTP 本身不加密,如果有人在网络中间监听,理论上可能看到你和网站之间传输了什么内容,而HTTPS 在 HTTP 外面加了一层安全保护来解决这个问题。这层保护主要由 TLS(一个加密通道,负责加密、身份验证和防篡改) 完成;而且在传统网页访问里,HTTPS 通常运行在 TCP 连接(一个安全的网络连接,让客户端和服务器之间的数据传输更可靠、有顺序、不容易丢失)之上:
访问 HTTPS 网站时,浏览器通常会先和服务器建立 TCP 连接,然后进行 TLS 握手。TLS 握手可以理解为——浏览器和服务器在正式传输网页内容之前,先确认对方身份、协商加密方式,并生成后续通信要用的加密密钥。握手完成后,浏览器和服务器才会在这条加密通道里传输 HTTP 内容。HTTPS 主要多做了三件事:第一是加密。浏览器和服务器之间传输的内容会被加密,中间人即使截获数据,也很难直接看懂。第二是防篡改。数据在传输过程中不容易被别人偷偷修改。第三是身份验证。浏览器可以通过网站证书判断:你访问的网站大概率真的是它声称的那个网站,而不是别人伪装的。
现在绝大多数正式网站都会使用 HTTPS:比如登录账号、支付、发消息、使用 AI 工具、访问邮箱或网盘,基本都应该通过 HTTPS 进行。不过,HTTPS 不等于完全隐身——它主要保护的是你和网站之间传输的具体内容,而你的出口 IP、访问时间、连接到了哪个服务器、传输了多少数据等网络层信息,仍然可能被相关网络节点看到。所以你以后看到网址开头是 http://,说明它使用的是普通 HTTP;看到 https://,说明它使用的是 HTTPS,也就是加密保护后的 HTTP。
四、端口是什么?
**如果服务器上可能有很多服务,客户端要找哪个?**一台服务器可以同时提供很多服务——它可以提供网站服务,也可以提供远程登录服务,还可以运行数据库、邮件服务、代理服务、后台 API 服务。IP 只能帮你找到这台服务器,但不能告诉你要访问这台服务器上的哪个服务。这时候就需要端口——**一台机器上不同服务的入口编号。**你可以把服务器想象成一栋大楼,IP 是这栋楼的地址,端口是楼里的不同房间号,你只知道大楼地址还不够,还得知道你要去哪个房间。
五、端口号长什么样?
端口就是一个数字。比如网页服务、远程登录服务、数据库服务、代理服务,都可能监听不同的端口。监听端口就是指某个服务程序正在这个端口等别人来连接。常见端口可以先知道这些:
| 端口 | 常见用途 |
|---|---|
| 80 | HTTP 网页服务 |
| 443 | HTTPS 网页服务 |
| 22 | SSH 远程登录服务器 |
| 3306 | MySQL 数据库 |
| 5432 | PostgreSQL 数据库 |
| 3000 / 5173 / 8080 | 本地开发或测试服务常见端口 |
比如浏览器访问一个 HTTPS 网站时,通常就是在访问这个服务器上的 443 端口。你本地开发网页时,看到 localhost:3000,意思就是浏览器在访问你自己电脑上 3000 端口运行的服务。
六、为什么 URL 里经常看不到端口?
你平时访问 **https://openai.com**,并没有手动写端口,但浏览器其实知道该访问哪个端口。原因是:**常见协议有默认端口。**HTTP 默认使用 80 端口。HTTPS 默认使用 443 端口。所以你访问 **http://example.com**,浏览器默认理解为访问 example.com 的 80 端口。你访问 **https://example.com**,浏览器默认理解为访问 example.com 的 443 端口。因为是默认规则,所以 URL 里可以省略端口。但如果服务运行在非默认端口,就需要写出来。比如 **https://example.com:8443**,这里的 8443 就是明确告诉浏览器:不要用默认的 443 端口,而是访问 8443 端口。
本地开发也经常这样,经常一个端口被占用了,就要开其它端口,比如 localhost:3000、localhost:5173、localhost:8080,这些都表示访问本机上的某个端口。
七、协议、域名、IP、端口怎么组合起来?
假设你访问 https://example.com/articles**。首先,**https 告诉浏览器:我要用 HTTPS 这种协议访问;然后,example.com 是域名,浏览器会通过 DNS 查出它对应的服务器 IP;接着,因为 HTTPS 默认使用 443 端口,所以浏览器会连接这台服务器的 443 端口;最后,浏览器按照 HTTPS 的规则发送请求,告诉服务器自己要访问 /articles 这个路径。可以用一张小图表示:
https://example.com/articles
│ │ │
协议 域名 路径
域名 → DNS 解析成 IP → 找到服务器 → 通过端口找到服务 → 按照协议通信八、打开一个网站时,到底发生了什么?
学完上面的内容后,就可以完整地理解「当我们打开一个网站,究竟经历了哪些不为人知的操作」。你在浏览器里输入一个网址,比如 **https://example.com/articles**,然后按下回车。表面上看,只是“打开网页”。但背后其实发生了一整套流程:
输入 URL
→ 解析 URL
→ DNS 查询 IP
→ 确定协议和端口
→ 建立TCP连接
→ 进行 TLS 握手建立加密通道
→ 发送 HTTP/HTTPS 请求
→ 服务器处理请求
→ 返回响应
→ 浏览器渲染页面第五课:数据怎样从你的设备到达网站?
当浏览器已经知道目标服务器的 IP 了,数据究竟怎样离开你的电脑,经过家庭网络、运营商和互联网,最终到达服务器呢?
一、数据包和局域网
网络里的数据通常不会整块发送,而是会被拆成许多较小的部分,这些部分可以统称为数据包。比如你打开网页、发送消息、观看视频,背后的数据都会被拆开传输。每个数据包除了携带实际内容,还会带有一些用于传输的信息,例如源 IP、目标 IP、使用的协议等。如果使用的是 TCP 或 UDP(User Datagram Protocol,用户数据报协议,相比TCP更轻量,只负责把数据传出去,不会建立可靠连接),还会涉及源端口和目标端口。可以把数据包理解成快递包裹:
- 包裹里面是实际内容;
- 包裹外面写着从哪里来、要送到哪里;
- 中间的网络设备根据地址决定下一步往哪里送。
你的电脑通常不是直接连接整个互联网,而是先处在一个小型网络里,这个网络叫局域网,英文是 LAN。比如你家里的电脑、手机、平板、智能电视和路由器,通常都在同一个家庭局域网中。它们可能分别使用这些内网 IP:路由器:192.168.1.1 ;电脑:192.168.1.10 ;手机:192.168.1.11 ;平板:192.168.1.12。当电脑准备发送数据时,会先判断目标 IP 是否在同一个局域网内。如果目标是家里的打印机,数据可能直接在局域网中传递;如果目标是 YouTube、OpenAI 或其他互联网网站,数据就必须离开当前局域网。
二、网关和路由器
设备想离开当前局域网,需要先把数据交给默认网关。网关可以理解成设备离开当前网络时使用的出口,在普通家庭网络里,默认网关通常就是家用路由器,例如你的电脑 IP 是 192.168.1.10,默认网关可能是 192.168.1.1。当电脑发现目标 IP 不在家庭局域网中时,就会把数据包先交给 192.168.1.1。
电脑 192.168.1.10
→ 默认网关 192.168.1.1
→ 外部网络网关和路由器经常指向同一个设备,但概念并不完全相同——网关强调的是角色:它是当前网络的出口;路由器强调的是功能和设备:它往往还同时提供 Wi-Fi、分配内网 IP、执行 NAT(下面会讲)、充当防火墙和转发 DNS 请求。
三、路由和路由表
路由是指**根据数据包的目标 IP,决定下一步把它送到哪里。路由器内部有一张路由表,这张表可以理解成网络方向指引表,记录着某类目标地址应该从哪个出口发送;下一步应该交给哪台设备;如果没有更具体的规则,到底走哪条默认路线。路由器通常不需要知道从你家到网站的全部完整路线,只需要决定这个数据包的下一站,**下一台路由器收到以后,再做同样的判断,于是数据包就被一站一站地转发。
家用路由器
→ 运营商接入路由器
→ 运营商骨干网络
→ 其他网络
→ 网站所在网络
→ 目标服务器数据每经过一个中间路由节点,通常可以称为一“跳”,英文叫 hop。所以你访问一个网站时,数据不是直接从你家瞬间飞到网站服务器,而是经过多个网络节点逐步传过去。
四、NAT 为什么存在?
NAT 的全称是 Network Address Translation,中文叫网络地址转换。因为你家里的设备使用的是内网 IP,但内网 IP 不能直接作为全球互联网中的唯一地址使用。比如你的电脑 IP 是 192.168.1.10,这个地址在你家里可以使用,但世界上可能有无数台设备的IP也是 192.168.1.10,那么网站就无法根据这个地址判断,数据究竟应该返回到哪一个家庭,所以当数据离开你家时,路由器会把源 IP 从内网地址转换成公网出口地址。假设你家的公网 IP 是 123.45.67.89:
转换前:
源 IP:192.168.1.10
目标 IP:网站服务器 IP
经过 NAT 后:
源 IP:123.45.67.89
目标 IP:网站服务器 IP网站最终看到的是 123.45.67.89,而不是 192.168.1.10。所以 NAT 的核心作用是把家庭内网中的地址,转换成外部网络能够识别的出口地址。
五、多台设备怎样共用一个公网 IP?
你家里可能有电脑、手机、平板和电视,但它们访问网站时,网站看到的可能都是同一个公网 IP。
电脑 192.168.1.10 ┐
手机 192.168.1.11 ├→ 路由器/NAT → 公网 IP → 网站
平板 192.168.1.12 ┘这时候就有一个问题:**网站返回数据时,路由器怎么知道应该交给电脑,还是手机?**答案是:路由器会记录每一条连接的对应关系。它不仅看内网 IP,还会结合端口来区分不同连接。家庭网络里常见的这种方式,更具体地可以叫 PAT,也就是端口地址转换,但日常通常也归到 NAT 里面。例如路由器内部可能记录:
| 内网设备 | 内网连接 | 对外连接 |
|---|---|---|
| 电脑 | 192.168.1.10:50001 | 123.45.67.89:61001 |
| 手机 | 192.168.1.11:50002 | 123.45.67.89:61002 |
| 平板 | 192.168.1.12:50003 | 123.45.67.89:61003 |
网站把数据返回到 123.45.67.89:61002 时,路由器查看记录,就知道这份数据属于手机。
六、运营商网络和 CGNAT
家用路由器并没有直接连接世界上所有网站,它首先接入的是宽带运营商网络。提供互联网接入的公司通常叫 ISP,也就是互联网服务提供商,例如电信、联通、移动,或者其他国家和地区的宽带运营商。大致路径是:
你的设备
→ 家用路由器
→ 运营商接入网络
→ 运营商骨干网络
→ 其他运营商或云服务商网络
→ 目标服务器互联网并不是一台巨大的中央机器,而是许多运营商、云服务商、数据中心、企业和机构的网络互相连接后形成的“网络之网”。有时,运营商还会再做一次 NAT,这叫 CGNAT,也就是运营商级 NAT。原因还是 IPv4 地址不足,运营商让很多家庭用户进一步共享少量公网 IPv4。这时可能出现两层转换:
电脑内网 IP
→ 家用路由器 NAT
→ 运营商内部地址
→ 运营商 CGNAT
→ 真正的公网出口 IP
→ 网站这种情况下,你在路由器后台看到的 WAN 地址(Wide Area Network,广域网,指路由器连接外部网络时使用的 IP 地址)可能并不是真正的公网 IP,因为网站最终看到的是运营商做完 CGNAT 后的出口 IP。CGNAT 还可能导致一些现象,比如:
- 从公网主动连接家里的设备更困难;
- 路由器端口映射可能无法直接生效;
- 多个家庭用户可能共享同一个公网 IPv4;
- 路由器显示的地址和查询 IP 网站显示的地址不一样。
七、返回路径、延迟和丢包
网站收到请求后,会把响应发回你的公网出口 IP。返回路径大致是:
网站服务器
→ 网站所在网络
→ 多个互联网路由节点
→ 你的宽带运营商
→ 家用路由器
→ 你的电脑数据到达你家路由器后,路由器会查看之前保存的 NAT 连接记录,再把数据转回正确的内网设备。需要注意,数据回来的路线不一定和出去时完全一样,也就是非对称路由,去程走一条路线,回程走另一条路线。网络访问还会产生延迟,延迟通常来自几个方面:
物理距离:服务器越远,信号传播通常越慢。 中间节点:经过的路由器越多,处理和排队时间可能越长。 网络拥堵:线路繁忙时,数据包可能需要等待。 路由质量:地理距离近,不代表网络路线一定短,有时会绕路。 丢包重传:数据丢失后,TCP 可能需要重新发送。
第六课:网站到底能看到你哪些信息?
当上面从客户端发送的请求到达服务器后,网站能知道些什么?很多人会以为网站只能看到 IP,但实际上,网站看到的是一组信息,包括:网络信息+浏览器和设备环境+Cookie与账号状态+访问行为。平台通常不会只根据其中一个因素判断你,而是把这些信息组合起来分析。
一、网站首先能看到你的出口 IP
当你直接访问网站时,服务器通常能看到你的公网出口 IP——如果你使用代理,网站通常看到代理服务器的 IP;如果你使用 VPN,网站通常看到 VPN 服务器的 IP;如果你通过 VPS 访问,网站通常看到 VPS 的 IP。网站拿到 IP 后,还可以查询这个 IP 的相关属性,例如国家、地区、城市、运营商、网络类型,以及是否有异常使用记录。不过,IP 定位不是 GPS。一个 IP 显示在洛杉矶,不代表用户一定坐在洛杉矶;它可能只是运营商或服务器的出口位于那里。
二、运营商、ASN 和 IP 类型是什么?
网站不仅会看 IP 数字本身,还会看这个 IP 属于什么网络。这里会遇到一个概念:ASN(Autonomous System Number),可以理解成一个大型网络组织的编号。互联网并不是一张由单一公司管理的网络,而是很多运营商、云厂商、大学、企业和数据中心的网络互相连接形成的,每个大型独立网络通常会有自己的 ASN。
因此,平台查到一个 IP 后,可能会知道:这个 IP 属于哪个网络组织 ;它更像家庭宽带、移动网络,还是数据中心; 这个 IP 所属网络是否经常被代理、爬虫或自动化程序使用。
这就是为什么两个都显示美国的 IP,一个属于普通家庭宽带运营商,另一个属于大型云计算数据中心,但是平台对它们的信任程度可能完全不同。
三、网站能从请求里看到什么?
浏览器向网站发送 HTTP 请求时,请求中会附带一些信息,帮助服务器理解你的环境和需求,这些信息常被放在 HTTP 请求头中。
例如,请求可能表达:我使用的浏览器类型;我的语言偏好;我可以接收哪些内容格式;我从哪个页面跳转过来 我是否带有登录 Cookie。
一个简化后的请求可能类似:
GET /articles HTTP/1.1
Host: example.com
User-Agent: Chrome
Accept-Language: zh-CN
Cookie: session=xxxxx网站可能从中知道:浏览器和系统的大概类型(例如 Chrome、Safari、Firefox,Windows、macOS、Android 或 iOS);语言偏好(例如简体中文、英语、日语);来源页面(例如你是从 Google 搜索进入,还是从另一个网站点击链接进入);Cookie 和登录状态(比如你是否已经登录,以及服务器给你分配了哪个会话)。不过,现代浏览器为了减少隐私泄露,可能会缩减或模糊部分信息,所以网站得到的不一定是非常精确的设备型号和系统版本。
四、Cookie 和本地存储怎样识别你?
Cookie 是网站保存在浏览器中的一小段数据,网站第一次被访问时,可能给浏览器一个随机编号:“以后你再来时,把这个编号带给我。”浏览器下次访问时,会把 Cookie 一起发送给网站。这样即使你的 IP 发生变化,网站仍可能认出这是同一个浏览器。Cookie 经常用于:保持登录状态;记住语言和设置;统计用户访问;风控和安全验证。所以网站识别你,并不只依赖 IP。例如你昨天用家庭宽带登录账号,今天切换到手机流量。虽然 IP 变了,但浏览器仍带着原来的登录 Cookie,网站通常知道这仍是同一个账号和浏览器。
浏览器还提供 Local Storage、Session Storage、IndexedDB 等本地存储方式,它们和 Cookie 有相似之处,都是网站保存在浏览器里的数据,但用途和发送方式不同。Cookie 通常会随相关网络请求自动发送给服务器;Local Storage 等数据不会自动随每次请求发送,但网站的JavaScript可以读取后再使用。因此,单纯换 IP,并不会自动清除 Cookie、本地存储和登录状态。
五、网站还能读取哪些浏览器和设备环境?
网页中的 JavaScript 可以读取许多浏览器环境信息,例如:屏幕分辨率和可用区域;浏览器窗口大小;系统时区;浏览器语言;是否支持触摸;设备内存和处理器线程数的大概值;显卡渲染特征;浏览器支持的功能;安装或可用字体的部分特征;音频和图形渲染结果。单独看其中一个信息,通常无法确定你是谁。比如屏幕分辨率是 1920×1080 的人很多,使用 Chrome 的人也很多。但如果把许多特征组合起来,就可能形成一个相对独特的环境特征,这就是浏览器指纹。例如,一个环境可能表现为:美国出口 IP+中国时区+浏览器首选语言是简体中文+macOS 系统+特定屏幕尺寸+特定显卡渲染结果+曾经保存过某个站点数据。平台会分析这些信息是否自然、是否稳定,以及前后是否发生异常变化。
但需要注意,浏览器指纹通常不是一个永久且绝对唯一的身份证。浏览器更新、系统变化、窗口变化、隐私保护机制,都可能让指纹发生变化。
六、TLS 指纹和 WebRTC 是什么?
访问 HTTPS 网站时,浏览器在正式传输 HTTP 内容前,会进行 TLS 握手。在握手过程中,客户端会表达自己支持哪些加密算法、TLS 版本和扩展功能。这些选项的组合和排列方式,在不同浏览器、应用程序和网络工具之间可能不同。网站可以根据这种握手特征生成所谓的 TLS 指纹。TLS 指纹可能帮助网站判断请求是否像正常 Chrome 发出的;是否来自某种脚本或爬虫工具;浏览器声明的身份和底层握手特征是否一致。例如,一个请求头声称自己是最新版 Chrome,但 TLS 握手方式却明显像某个自动化程序,平台就可能认为环境存在异常。
WebRTC 是浏览器中用于实时音视频、语音通话和点对点通信的一套技术。在某些网络和浏览器环境下,WebRTC 可能暴露额外的网络地址信息,这就是常说的“WebRTC 泄露”。不过现代浏览器已经增加了许多隐私保护措施——例如,局域网地址有时会被隐藏或替换为随机名称,具体能看到什么取决于浏览器、系统、权限和网络配置。
七、网站能知道你使用了哪个 DNS 吗?
普通情况下,网站收到的 HTTP 或 HTTPS 请求里,并不会直接写着“这个用户使用的是哪台 DNS 服务器”。因此,网站通常不能只看一次普通网页请求,就直接知道你的电脑把 DNS 设置成了运营商 DNS、Google DNS,还是 Cloudflare DNS。但网站可以通过一种间接方式进行判断,假设一个网站让你的浏览器访问一个临时生成的特殊域名,例如:abc123.test.example.com 。这个域名以前没有被查询过,所以浏览器、操作系统和递归 DNS 中通常都没有缓存。为了找到它对应的 IP,你的设备必须向递归 DNS 发起查询。
递归 DNS随后会去询问这个域名的权威 DNS。如果这个权威 DNS 也由网站控制,网站就可以在权威 DNS 的记录中看到:“是哪台递归 DNS 来查询了这个特殊域名?”过程大致是:
浏览器访问特殊域名
→ 设备询问递归 DNS
→ 递归 DNS 询问网站控制的权威 DNS
→ 权威 DNS 记录这次查询需要注意,权威 DNS 看到的通常是递归 DNS 服务器的地址,不一定是用户设备的真实公网 IP。比如你的设备使用运营商提供的递归 DNS,那么权威 DNS 看到的可能是运营商 DNS 服务器;如果使用公共 DNS,看到的可能是公共 DNS 服务的某个解析节点。
八、平台怎样综合这些信息做风控?
成熟的平台通常不会因为某一个信号就立即判断异常,而是综合分析,常见信号可以分成四类:1.网络环境:包括出口 IP、国家和城市、ASN、运营商、IP 类型、代理特征、历史滥用记录、连接速度和网络变化频率。2.设备与浏览器环境:包括浏览器、系统、时区、语言、屏幕尺寸、字体、图形渲染、TLS 指纹和其他浏览器特征。3.账号状态:包括 Cookie、登录令牌、账号注册地区、绑定手机号、支付方式、历史登录设备和以往使用地点。4.行为特征:包括登录时间、点击速度、访问频率、操作顺序、内容偏好、是否短时间大量请求,以及行为是否像真人。
第七课:代理、VPN 和 VPS 到底有什么区别?
前面我们已经知道,正常访问网站时,数据大致会从你的设备出发,经过路由器和运营商网络,最后到达目标网站。但是如果不让设备直接访问网站,而是在中间加入另一台服务器,网络路径会发生什么变化?在开始之前,先解释两个接下来会反复出现的词:**网络流量:**设备在网络中发送和接收的数据的总称,包括网页请求、图片、视频、DNS 查询等。**中转:**数据不直接发给目标网站,而是先交给另一台服务器,再由它继续发送。正常访问的路径是:你的设备 → 目标网站。然而加入中转服务器后,路径变成:你的设备 → 中转服务器 → 目标网站。代理和 VPN 都会在中间加入服务器,但它们工作的方式不同。VPS 则不是一种转发方式,而是一台可以被你使用的远程服务器。
一、代理是什么?
这里所说的“代理”,指的是替用户访问外部网站的代理服务,它的工作方式是:你的设备不直接把请求发给目标网站,而是先把请求交给代理服务器,代理服务器收到后,再替你访问网站,并把网站返回的内容转交给你。对于目标网站来说,真正连接它的是代理服务器,因此网站通常看到的是代理服务器的出口 IP,而不是你原本家庭宽带或手机网络的出口 IP。代理通常只处理被指定给它的流量,而不会天然接管整台设备的全部网络流量——你如果只在浏览器里设置代理,那么通常只有这个浏览器的流量经过代理,其他软件仍然直接访问互联网;你也可以在操作系统中设置代理,让更多支持系统代理的软件使用它;但某些软件可能不遵循系统代理设置,仍然直接连接网站。
代理不一定会加密,因为它的核心功能是转发流量。你的设备与代理服务器之间是否加密,要看使用的代理类型和具体配置——如果你访问的是 HTTPS 网站,浏览器和网站之间的网页内容通常仍然受到 HTTPS 保护。
二、VPN 是什么?
VPN 的全称是 Virtual Private Network,中文叫“虚拟专用网络”。它原本的作用,是让一台不在内部网络里的设备,通过互联网安全地接入另一个网络,比如员工在家里,通过 VPN 接入公司的内部系统。现在日常所说的消费级 VPN,通常是指设备先连接一台 VPN 服务器,然后让网络流量通过这台服务器访问互联网。在解释 VPN 之前,要先理解“隧道”。这里的隧道不是真实存在的物理管道,而是一种网络上的逻辑通道。设备会把准备发送的数据进行封装和加密,再发给 VPN 服务器。普通中间网络只能看到设备正在与 VPN 服务器通信,难以直接读取隧道中的具体内容。
路径大致是:你的设备→ 加密的 VPN 隧道→ VPN 服务器→ 目标网站。VPN 服务器收到数据后,再把它转发给目标网站,所以目标网站通常看到的是 VPN 服务器的 IP。VPN 常见两种工作方式:全部流量经过 VPN:设备的大部分网络访问都进入 VPN 通道。部分流量经过 VPN:只有指定网站、指定程序或指定网络经过 VPN,其他流量仍直接访问。这种做法叫分流。因此,不能简单地说“代理只管一个程序,VPN一定管全部程序”。更准确的说法是代理通常由具体应用或系统代理设置决定;VPN通常从设备的网络路由层面处理更大范围的流量,但也可以配置成只处理一部分流量。
概括一下:代理是在帮应用转发请求;VPN 是在设备与 VPN 服务器之间建立一个虚拟网络连接。
三、VPN 的加密发生在哪里?
VPN 的加密主要发生在**你的设备与 VPN 服务器之间。**设备先把数据加密,再通过运营商网络发送给 VPN 服务器。VPN 服务器收到后,解除 VPN 这一层保护,然后继续把数据发送给目标网站。如果目标网站本身使用 HTTPS,还会同时存在 HTTPS 的加密。具体网页数据发送核心流程:HTTP 原始内容 → 浏览器用 TLS 加密 → VPN 软件再加密 → VPN 服务器解除 VPN 加密 → 目标网站解除 TLS 加密 → 读取 HTTP 内容。假设你通过 VPN 访问一个 HTTPS 网站:
- 运营商通常能看到你连接了某台 VPN 服务器,但难以直接看到隧道里的具体网页内容(因为有VPN加密,先连接VPN再发送请求);
- VPN 服务的运营者可能知道你连接了哪些网站或服务器,但正常情况下不能直接读取 HTTPS 加密的网页正文(因为有TLS加密);
- 目标网站看到的是 VPN 服务器的出口 IP;
- 但是目标网站仍然可以通过 Cookie、账号和浏览器环境认出你。
所以 VPN 不等于完全匿名。它主要改变网络路径并保护设备到 VPN 服务器这一段通信。
四、VPS 是什么?
VPS 的全称是 Virtual Private Server,中文通常叫“虚拟专用服务器”,大白话说,VPS 就是**你租用的一台远程电脑。**云服务商会有性能很强的物理服务器,通过虚拟化技术,可以把一台物理服务器分成多台相对独立的虚拟服务器。每台虚拟服务器可以拥有自己的操作系统、CPU 和内存配额、存储空间以及网络地址。你购买 VPS 后,通常会得到:一台远程服务器;一个操作系统;一定数量的 CPU(Central Processing Unit,中央处理器,电脑真正负责执行指令和进行计算的部分,VPS中常见1 vCPU、2 vCPU、4 vCPU就是指虚拟CPU,影响电脑处理能力和处理速度);
一定数量的内存(RAM,**随机存取存储器,负责临时保存当前正在运行的程序和正在使用的数据,当内存快用完时,系统可能会尝试把部分暂时不用的数据放到硬盘上的交换空间中,这通常叫 Swap);**一定数量的硬盘(硬盘负责长期保存内容,即使设备关机或重启,数据通常仍然存在。HDD 是传统机械硬盘,内部有机械结构,容量通常较大、价格较低,但速度较慢。SSD 是固态硬盘,没有传统机械转盘,读写速度和响应速度通常更快。现在电脑和 VPS 中更常见的是 SSD,部分服务商还会提供性能更高的 NVMe SSD;一个可以连接它的 IP;用来登录服务器的账号或密钥。你可以远程登录这台 VPS,在上面部署网站、运行程序、存储文件,也可以安装代理或 VPN 服务。
五、VPS 怎样成为代理或 VPN 服务器?
假设你购买了一台美国 VPS,如果仅仅只是购买,你本地浏览器的访问路径仍然是:你的设备 → 本地运营商 → 目标网站。但如果你在 VPS 上安装代理程序,并在本地浏览器中配置这个代理,路径就会变成:你的设备→ VPS 上运行的代理服务→ 目标网站。网站看到的通常就是这台 VPS 的 IP。如果你在 VPS 上安装 VPN 服务,再让设备通过 VPN 软件连接它,路径则可能变成:你的设备→ 加密隧道→ VPS 上运行的 VPN 服务→ 目标网站。
同一台 VPS 可以被用来搭代理,也可以被用来搭 VPN,甚至可以同时运行其他服务。但需要注意:VPS 的 IP 通常属于云服务商或专门放置服务器的数据中心,而不是普通家庭宽带网络。网站可以通过 IP 所属网络判断它更像服务器 IP,而不是家庭用户 IP。
六、代理、VPN 和 VPS 的核心区别
| 对比项 | 代理 | VPN | VPS |
|---|---|---|---|
| 本质 | 转发网络请求的服务 | 建立网络通道并转发流量的系统 | 一台租用的远程服务器 |
| 是否是一台机器 | 不是,本质是服务 | 不是,本质是一套网络服务 | 是远程计算资源 |
| 是否改变出口 IP | 经过代理的流量会改变 | 经过 VPN 的流量会改变 | 本身不会 |
| 影响流量范围 | 由应用或系统代理设置决定 | 可覆盖更多设备流量,也可分流 | 取决于你在上面部署什么 |
| 是否一定加密 | 不一定 | 设备到 VPN 服务器的链路由具体 VPN 协议决定 | 本身不代表加密 |
| 能否相互组合 | 可以运行在服务器上 | 可以运行在服务器上 | 可以承载代理或 VPN |
七、商业 VPN、VPS 自建 VPN和VPS 自建代理怎么选?
前面已经讲清楚,代理、VPN 和 VPS 并不是同一种东西。但在实际使用中,我们通常会面对三种方案:第一种是直接购买商业 VPN;第二种是租用 VPS 后自己搭建 VPN;第三种是租用 VPS 后自己搭建代理。它们最终都可能改变目标网站看到的出口 IP,但使用方式、影响范围、维护成本和适用场景并不相同。
1.购买商业 VPN
商业 VPN 是由服务商统一提供服务器、客户端和网络配置。用户通常只需要安装软件、登录账号、选择地区并连接,连接后,设备的相关流量会先经过 VPN 服务器,再访问目标网站,网站通常看到的是 VPN 服务器的出口 IP。这种方案最大的优点是方便——服务商负责维护服务器、更新软件和处理故障,用户不需要掌握 Linux、服务器配置和防火墙知识。商业 VPN 通常还提供多个国家和地区的服务器,适合经常切换地区、同时在手机和电脑上使用的人。
但它也有几个缺点。首先,商业 VPN 的服务器通常由很多用户共享,同一个出口 IP 可能同时被大量用户使用。如果其中一些用户进行过异常操作,这个 IP 可能更容易遇到验证码、限速或网站限制。其次,虽然 VPN 可以保护设备到 VPN 服务器之间的数据,但 VPN 服务商处在你的网络出口位置,仍可能知道你的来源 IP、连接时间、流量大小以及访问的目标服务器。因此,商业 VPN 更适合日常上网、多设备使用、临时切换地区,以及不希望自己维护服务器的人。
2.使用 VPS 自建 VPN
VPS 自建 VPN,是先租用一台远程服务器,再在服务器上安装 VPN 服务,你的设备连接这台服务器后,网络流量通过它访问互联网。与商业 VPN 相比,自建 VPN 的服务器通常主要由你自己使用,因此出口 IP 相对固定,也不会频繁与大量陌生用户共享。这种方案适合长期使用同一个地区和同一个出口 IP。例如,你长期使用一台位于美国的 VPS,那么目标网站通常会持续看到这台 VPS 的 IP。它的优点是控制权更高。你可以决定服务器所在地区、使用什么 VPN 软件、哪些设备可以连接,以及哪些流量经过 VPN。但代价是需要自己维护,你需要负责安装软件、配置密钥、防火墙、系统更新和故障处理,如果服务器宕机、IP 被限制或者线路质量变差,也需要自己解决。
VPS 的 IP 通常属于数据中心或云服务商,它虽然可能是独立、固定的 IP,但并不等于住宅 IP,也不一定比商业 VPN 的 IP 更受网站信任。因此,VPS 自建 VPN 更适合需要固定出口、希望掌握服务器控制权,并且愿意承担维护成本的人。如果从技术层面上来说,原本可能还需要好几个小时配置,现在可以直接让Codex一键配置。
3.使用 VPS 自建代理
VPS 自建代理,同样需要先租一台服务器,但在服务器上运行的是代理服务,而不是 VPN 服务。你的浏览器、代码程序或者其他指定软件,会把请求交给代理服务器,再由代理服务器访问目标网站。它与自建 VPN 最大的区别,在于流量控制方式。自建 VPN 通常从设备网络层面处理更多流量,而自建代理通常由具体程序决定是否使用。例如,你可以只让 Chrome 使用代理,而让其他软件继续通过原来的家庭网络访问互联网。这种方案更加灵活,也很适合程序开发、API 调用、爬虫测试或只需要某个浏览器使用固定出口的场景。但它也更容易出现配置不完整的问题。例如,浏览器走了代理,其他软件没有走;网页流量走了代理,但部分 DNS 查询仍然走本地网络。
另外,代理的核心是转发流量,并不天然代表加密。是否加密,要看代理使用的具体方式和配置。因此,VPS 自建代理更适合明确知道哪些程序需要中转、哪些程序不需要中转的人。
4.三种方案怎么选?
| 使用需求 | 更适合的方案 |
|---|---|
| 希望安装后直接使用 | 商业 VPN |
| 手机、电脑和平板都要使用 | 商业 VPN |
| 经常切换多个国家或地区 | 商业 VPN |
| 长期使用一个固定地区 | VPS 自建 VPN |
| 希望获得相对固定、独立的出口 IP | VPS 自建 VPN |
| 只让浏览器或某个软件使用中转 | VPS 自建代理 |
| 需要给代码、API 或测试程序单独设置出口 | VPS 自建代理 |
| 不会维护服务器 | 商业 VPN |
| 想学习 Linux、服务器和网络配置 | VPS 自建 VPN 或代理 |
**追求方便和多地区,选择商业 VPN。****追求固定出口(稳定性)和更高控制权,选择 VPS 自建 VPN。****只需要让特定程序使用中转,选择 VPS 自建代理。**还要注意,三种方案解决的主要都是“流量从哪里中转、网站看到哪个出口 IP”的问题。它们不会自动改变浏览器 Cookie、账号记录、系统时区、语言、设备环境和使用行为。因此,无论选择哪一种方案,都不能简单理解成“换了 IP,整套网络身份就完全变了”。所以大家被Claude封号也就解释得通了。
第八课:机房 IP、住宅 IP、ISP IP、移动 IP到底有什么区别?
同样是一个美国 IP,网站对它的判断可能完全不同,有的 IP 来自 AWS、Google Cloud 或某个 VPS 机房;有的来自普通家庭宽带;有的来自手机 4G、5G 网络;还有一些商家称为“ISP IP”“静态住宅 IP”“原生 IP”。先记住最重要的分类关系:
按网络来源分类:
机房 IP / 住宅 IP / 移动 IP / ISP 类 IP
按是否变化分类:
动态 IP / 静态 IP
按使用人数分类:
独享 IP / 共享 IP
按代理切换方式分类:
固定 IP / 粘性 IP / 轮换 IP一、机房 IP是什么?
机房 IP,也常被叫作数据中心 IP,英文是 Datacenter IP。它是分配给数据中心、云服务器、VPS、托管服务器等计算基础设施使用的 IP。比如你购买一台 VPS,服务商给你一个公网 IPv4,这个 IP 通常属于该云服务商、服务器托管商或数据中心所在的网络,因此一般会被识别为机房 IP。常见来源包括:云服务器、VPS、独立服务器、数据中心;云计算平台;托管机房。
数据中心 / 机房
├── 放置大量物理服务器
├── 物理服务器整台出租 → 独立服务器
├── 物理服务器切分成虚拟资源 → 云服务器、VPS
└── 由云厂商统一管理 → 云计算平台数据中心 / 机房网站怎么知道你的是不是机房 IP?网站不只看 IP 的数字,还要查看这个 IP 属于哪个网络组织——如果一个 IP 的 ASN 属于云服务商、服务器托管商或数据中心,平台就可能判断出这个请求更像是从服务器或代理节点发出的,而不是普通家庭宽带用户。机房 IP通常价格较低、速度快、线路稳定,而且容易获得固定 IP。你租一台 VPS 后,这个 IP往往可以长期保持不变,机房还通常拥有较好的网络带宽和持续在线能力。因此,它很适合自建 VPN 或代理、部署网站和 API、远程办公。
但它最明显的缺点是网站通常比较容易识别出它来自数据中心。一些面向普通消费者的平台,可能会对机房 IP进行更严格的检查。尤其是银行、支付、票务、流媒体、社交平台等,对服务器网络、共享 VPN 节点或高风险 IP可能更敏感。不过,不能简单认为机房 IP一定不好。一个长期独享、没有滥用记录、使用行为正常的机房 IP(自己独享VPS分配的IP),会比一个被大量用户使用、历史记录混乱的住宅代理 IP更稳定。
二、住宅 IP是什么?
住宅 IP,英文叫 Residential IP。它一般指由家庭宽带运营商分配给普通家庭用户网络的 IP。比如一个普通家庭安装宽带,路由器通过运营商网络获得一个地址,这个家庭访问网站时,网站看到的公网出口 IP,通常就属于住宅网络。为什么住宅 IP通常更像普通用户?因为大多数普通人日常上网,本来就是通过家庭宽带访问互联网,当网站看到一个 IP来自本地家庭宽带运营商时,这种网络来源与普通消费者的使用方式比较一致。相反,如果一个普通个人账号突然从云服务器 ASN 登录,平台可能会认为这个网络环境更像服务器、自动化工具或代理节点。
但“更像普通用户”不等于“绝对可信”。住宅 IP同样可能存在:被大量代理用户共享;被爬虫或批量注册使用;曾经产生垃圾邮件或异常登录;地理定位不准确;短时间内频繁切换;同一 IP出现大量账号。住宅 IP通常是动态的吗?家庭宽带的 IP经常是动态分配的,这意味着运营商可能在你重新拨号、重启光猫或经过一段时间后,为你分配另一个公网 IP。但“住宅”与“动态”是两个不同概念——住宅 IP说的是网络来源;动态 IP说的是地址会不会变化。现实中,普通家宽更常见动态 IP,而 VPS更常见静态 IP。住宅代理的 IP从哪里来?市面上的住宅代理服务,需要获得真实住宅网络的出口资源。常见形式包括:第一种是服务商与网络提供方合作,合法获得住宅或消费者网络资源。
第二种是用户主动安装带有带宽共享功能的软件,并明确同意把部分网络资源提供给代理网络。第三种则可能来源不透明,例如某些软件把用户设备悄悄变成代理节点,这种方式存在明显的隐私、安全和合规风险。所以购买住宅代理时,不仅要看 IP效果,还要关注 IP资源是怎样获得的,来源不透明的廉价住宅代理,风险可能远高于普通机房代理。
三、移动 IP是什么?
移动 IP通常指来自手机运营商网络的公网出口 IP,例如 4G、5G 蜂窝移动网络。当你的手机关闭 Wi-Fi,使用手机流量访问网站时,数据会经过基站和移动运营商网络,再从运营商的公网出口访问网站。大致路径是:
手机
→ 4G/5G 基站
→ 移动运营商网络
→ 运营商公网出口
→ 网站移动运营商的公网 IPv4资源也很有限,因此通常会使用大规模 CGNAT,这意味着许多手机用户可能共享同一个公网出口 IP,运营商通过内部地址、端口和连接记录,区分不同用户的流量。所以网站看到某个移动 IP时,可能知道它属于某家移动运营商,但很难仅凭该 IP对应到某一台具体手机。移动 IP还可能经常变化。例如:手机重新连接网络;飞行模式打开后再关闭;网络会话重新建立。不过,也不是每次切换基站都一定会更换公网 IP,具体取决于运营商网络。
为什么移动 IP有时信任度较高?因为手机网络本来就有大量真实用户,而且多个用户共享同一公网 IP很常见,如果平台因为一个移动出口中的某个用户出现异常,就直接封禁整个 IP,可能误伤大量正常用户,因此部分平台对普通移动网络中的 IP共享现象会有更高容忍度。但这并不意味着移动 IP不会被风控。如果同一出口、同一设备或同一账号表现出明显异常行为,平台仍然可以结合 Cookie、设备信息、账号历史和行为特征判断风险。
移动代理是什么?移动代理是把移动运营商的4G或5G出口提供给其他用户使用(可能是电脑或手机)——通过插入 SIM 卡的手机、路由器或专门的蜂窝设备建立移动网络,再把这个网络出口作为代理节点,网站最终看到的通常是移动运营商 IP。这种服务通常价格较高,因为需要 SIM 卡、流量套餐、蜂窝设备和运营维护。
四、ISP IP是什么?
ISP 的全称是 Internet Service Provider,也就是互联网服务提供商。从宽泛意义上说,家庭宽带 IP和移动运营商 IP本来就都是 ISP提供的 IP。但在代理市场里,“ISP 代理”或“静态 ISP IP”通常有更具体的商业含义:IP 的登记或网络归属看起来属于互联网运营商,但服务器实际运行在数据中心或托管机房中。也就是说,它试图结合两种特点:网络归属更像运营商;使用方式更像机房服务器;IP可以长期固定;服务器可以全天在线;延迟和稳定性通常比轮换住宅代理更好。
因此,市场上常说的 ISP IP,也经常被叫作:静态住宅代理;静态住宅 IP;ISP 代理;ISP residential proxy。但这些名称并没有完全统一的严格标准,不同服务商可能用同一个词描述不同产品。ISP IP和真实住宅 IP有什么区别?真实住宅 IP通常来自实际家庭宽带连接,市场上的静态 ISP IP可能只是地址资源属于或显示为某个运营商,服务器却实际放在数据中心,并没有真实家庭用户在这个网络后面上网。ISP代理通常比轮换住宅代理稳定,也更适合长期固定出口;但网站是否把它识别为住宅网络,取决于 ASN、IP数据库、路由信息和平台自己的识别系统。因此,不能只看商家写“ISP”或“静态住宅”,就直接认定平台一定会把它当成真实家宽。
五、动态、静态、独享和共享分别是什么意思?
动态 IP与静态 IP
动态 IP指地址可能被重新分配和改变,家庭宽带和手机网络经常使用动态 IP。今天看到一个地址,重新拨号或经过一段时间后,可能变成另一个地址。静态 IP指地址长期固定,不会轻易改变,VPS、服务器、企业专线和某些付费家宽套餐经常提供静态 IP。
独享 IP与共享 IP
独享 IP表示在服务商层面,这个 IP主要分配给一个客户使用。共享 IP表示多个用户同时或轮流使用同一个出口 IP。商业 VPN经常使用共享 IP,很多用户连接同一个节点后,从同一个公网 IP访问互联网。共享 IP的优点是成本低,而且单个用户混在大量用户中。缺点是其他人的行为可能影响这个 IP的声誉。独享 IP的优点是你对使用历史更可控。缺点是成本较高,而且“独享”不等于“匿名”。因为长期只有你使用,平台反而更容易把这个 IP与某个账号或环境建立稳定关联。
固定、粘性和轮换 IP
固定 IP:长期使用同一个地址,除非你主动更换或服务终止。粘性 IP:在一段时间或一个会话内保持同一个地址,超过时间或重新连接后可能更换。英文常叫 Sticky Session。轮换 IP:每隔一段时间、每次连接或每次请求,自动切换到不同地址。英文常叫 Rotating IP。长期登录同一个账号时,频繁轮换就不太自然;大量公开网页抓取时,轮换 IP则可能更符合技术需求,但仍需遵守网站条款和法律规则。
六、原生 IP和广播 IP是什么意思?
原生 IP
商家说“原生 IP”时,通常想表达IP登记的国家或地区、实际路由出口所在地,以及主要 IP数据库中的定位结果大致一致。比如一个 IP的登记信息、网络路由和常用数据库都显示美国,商家可能把它称为“美国原生 IP”。不过,“原生”没有全球统一的技术认证。不同商家可能用它表示:IP首次分配就在当地;WHOIS 注册地区在当地;多个定位数据库显示当地;流媒体平台识别为当地;IP所属 ASN是当地公司;实际服务器物理位置在当地。
广播 IP
中文 VPS 市场中的广播 IP,这里的“广播”是在说一种 IP地址跨地区发布或路由的现象。例如,一段 IP地址原本登记在某个地区,但服务商通过网络路由技术,让它从另一个国家或城市的数据中心对外提供服务。商家可能称它为“广播 IP”或“广播到某地的 IP”。结果可能是IP注册信息显示地区 A,但是实际服务器位于地区 B。因此,市场意义上的“广播 IP”不等于不能用,但它可能存在平台定位不一致、DNS和 IP数据库判断不同、地区识别漂移等问题
七、不同场景应该怎么选?
日常访问和多设备使用
如果只是正常浏览网页、查资料、多设备使用,正规商业 VPN通常更方便。它一般提供多个地区和成熟客户端,但出口多为共享的机房 IP,是否适合某个平台,要看节点质量、IP历史和平台政策。
长期固定工作出口
如果需要一个固定地区、固定 IP,并且愿意维护服务器,可以考虑 VPS 自建 VPN。优点是 IP相对稳定、使用历史更可控;缺点是它通常属于机房网络。
只让某个程序走特定出口
如果只有浏览器、代码程序或 API工具需要中转,可以使用代理。出口可以是机房 IP、住宅 IP、ISP IP或移动 IP,代理只是传输方式,不决定 IP类型。
远程办公和服务器白名单
如果公司的系统只允许某个固定 IP访问,更适合使用固定机房 IP或静态 ISP类 IP。这里最重要的是稳定和独享,而不是一定要住宅。
普通个人账号长期使用
更重要的是网络环境稳定、地区变化合理、设备和行为一致。住宅或 ISP类 IP可能更接近普通用户网络,但不应该频繁更换。一个稳定使用的普通机房 IP,有时也比不断轮换的住宅 IP更自然。
大量公开数据访问
轮换住宅或移动代理可以提供大量不同出口。
| 类型 | 典型来源 |
|---|---|
| 机房 IP | VPS、云服务器、数据中心 |
| 住宅 IP | 普通家庭宽带 |
| 移动 IP | 4G、5G 运营商 |
| ISP 类 IP | 运营商地址资源、机房托管 |
| 商业 VPN IP | VPN 服务商服务器 |
| VPS 自建出口 | 自己租用的 VPS |
第九课:怎样判断一个 IP 的质量?
同一种类型IP,质量可能差很多。比如两个都是美国住宅 IP,一个可能长期稳定、定位一致、历史正常;另一个可能被多人反复使用、经常切换地区,还留下过大量异常记录。所以判断 IP 的质量的时候不能只问:“这是住宅 IP 还是机房 IP?”还要继续问:“它属于谁、在哪里、以前被怎么使用、现在有多少人共用、网络表现怎么样、是否适合我的用途?”遵循一个原则:**IP 质量不是一个绝对分数,而是这个 IP 是否适合某个具体用途。**一个很适合部署网站的机房 IP,不一定适合某些只服务普通消费者的平台;一个住宅 IP 看起来像普通用户网络,但速度和稳定性可能不适合运行服务器。
一、先看 IP 的真实归属
拿到一个 IP 后,第一步是确认它到底属于谁,这里主要看三个信息:IP 所属组织、运营商名称和 ASN。运营商、云服务商、大学、大型企业和数据中心,通常会用 ASN 标识自己的网络。如果商家说这是住宅 IP,但查询结果显示它属于某家云计算公司或服务器托管商,那就要谨慎。它更可能是机房 IP,或者至少不像商家宣传得那么明确。不过,只看 ASN 也不能得出全部结论。有些运营商既经营家庭宽带,也经营企业专线和数据中心业务;有些 IP 地址可能被转租、重新分配,或者实际使用方式已经变化。因此,ASN 是重要证据,但不是唯一证据。判断归属时要看的是:商家宣传的类型,是否和实际网络归属大致一致。
二、再看地理位置是否一致
IP 地址本身没有直接写着国家和城市。我们平时看到的 IP 定位,是数据库根据注册地址、运营商信息、网络路由和历史数据推测出来的。所以 IP 定位不像 GPS 那样精确,同一个 IP,在不同数据库里可能显示:数据库 A:美国洛杉矶;数据库 B:美国圣何塞;数据库 C:美国加利福尼亚州,但城市未知;。这不一定意味着 IP 正在移动,也可能只是数据库更新速度和判断方式不同。判断地理位置时,可以分三层看:第一层是国家是否一致。如果主要数据库都显示同一个国家,通常问题不大。第二层是州、省或大区是否一致。城市定位有误差很常见,但如果连国家和大区都频繁冲突,就要注意。
第三层是实际网络表现是否符合位置。例如一个号称美国洛杉矶的 IP,你从美国西海岸访问延迟很低,这比较合理;如果它的网络路线明显先绕到欧洲或亚洲,再回到美国,就可能存在广播、路由绕行或定位不一致。
三、看 IP 的历史和信誉
IP 不是第一次被你使用时才出现,它在到你手里之前,可能已经被很多人使用过,如果以前有人用这个 IP 发送垃圾邮件、批量注册账号、进行攻击、频繁爬取网站,相关平台或安全公司可能已经记录了它。这就是常说的 IP 历史或 IP 信誉。市场上经常说“干净 IP”“污染 IP”,这两个不是严格技术术语,可以这样理解:
干净 IP:近期没有明显异常记录,未被大量网站限制。 污染 IP:曾被滥用,容易遇到验证码、限流、拒绝访问或安全验证。
但要注意,“干净”不是绝对的。一个 IP 可能没有进入邮件垃圾黑名单,但已经被某个社交平台限制;也可能能正常访问网站,却无法使用某个流媒体服务。不同平台有自己的内部数据库,外部工具不可能完全知道。为什么新买的 VPS IP 也可能有历史问题?因为服务商会循环使用 IP,上一个客户停止使用后,这个 IP 可能被重新分配给你,如果上一个用户曾经滥用,它留下的记录不会因为换了客户就立刻消失。因此,刚拿到一个 IP 时,不要默认它是“全新 IP”,它大概率是已经被用过的。
四、看它是独享还是共享
独享 IP,是服务商把这个地址主要分配给你使用。 共享 IP,是许多用户同时或轮流通过同一个地址访问互联网。
商业 VPN 节点常常是共享 IP,几十、几百甚至更多用户可能从同一个出口访问网站。共享 IP 不一定差。它有几个优点:成本更低;单个用户不容易只凭 IP 被单独识别;普通移动网络本身也经常存在多人共享出口。但共享 IP 的主要问题是你无法控制其他用户做什么,如果其他人频繁注册账号、发送垃圾请求或者触发平台限制,你也可能受到影响。独享 IP 的好处是:使用历史更可控;不容易被陌生用户连累;适合固定白名单;更容易保持稳定。 但“独享”也不等于一定高质量,如果一个独享 IP 如果本身历史很差、线路不稳定,仍然不好用。
另外,商家说“独享”时要注意具体含义。有时只是独享一个代理端口,不一定真正独享公网 IP。多个客户仍然可能通过不同端口,共用同一个出口 IP。所以购买相关产品的时候最好确认是独享账号、独享代理端口,还是独享公网 IP。
五、看网络性能:延迟、丢包、抖动、带宽
IP 的归属和信誉正常,还要看实际网络质量。
1.延迟
延迟是数据从你的设备到服务器,再返回所需要的时间,通常以毫秒表示。延迟越低,操作响应通常越快。例如打开网页、远程操作 VPS、进行实时通话时,低延迟会更舒服。延迟主要受到物理距离、网络路线、中间节点和拥堵情况影响。但延迟不是越低越代表 IP“更干净”。它只是反映网络速度和路线质量,不直接反映平台信誉。
2.丢包
丢包是指发送出去的数据包,有一部分没有成功到达。轻微丢包可能导致网页加载变慢、视频卡顿、远程连接不稳定;丢包严重时,连接可能频繁断开。如果使用 TCP,丢失的数据通常会被重传,但重传会增加等待时间。所以一个测速看起来很快,但经常丢包的节点,实际使用体验可能很差。
3.抖动
抖动是延迟的波动程度。比如连续发送几个数据包,延迟分别是:30 毫秒、32 毫秒、31 毫秒、29 毫秒,这说明比较稳定。但如果是:30 毫秒、160 毫秒、45 毫秒、300 毫秒,说明抖动很大。抖动对语音、视频通话、在线游戏和远程桌面影响尤其明显。因为这些场景不仅要求平均延迟低,还要求数据持续稳定到达。
4.带宽
带宽表示单位时间内最多能够传输多少数据。例如 100 Mbps、1 Gbps,描述的是网络传输能力。带宽大,通常更适合下载文件、观看高清视频和多人同时使用。但要区分带宽和流量:带宽是水管粗细;流量是一段时间内总共用了多少水。一台 VPS 可能写着 1 Gbps 带宽,但每月只允许使用 1 TB 流量。也可能写着无限流量,但速度只有 10 Mbps。
5.线路
线路是你的本地运营商到目标服务器之间的实际网络路径。即使两台 VPS 都在美国洛杉矶,它们的线路也可能差很多。一台从你的本地网络过去比较直接,另一台可能绕路、拥堵或丢包。因此选择代理或 VPS 时,“国家和城市”只是一部分,还要实际测试从你的网络到它的线路。
面向中国大陆的去程、回程与线路优化
如果主要在中国大陆使用海外 VPS、代理或自建 VPN,仅仅知道服务器位于美国、日本、新加坡或中国香港还不够,还需要关注它和中国大陆运营商之间的网络路线。假设用户位于中国大陆,连接一台美国 VPS,数据通常会经历两个方向。去程是数据从用户设备发送到海外 VPS,也就是:
用户设备
→ 中国大陆运营商
→ 国际网络
→ 海外机房
→ VPS回程是 VPS 返回数据给用户,也就是:
VPS
→ 海外机房网络
→ 国际网络
→ 中国大陆运营商
→ 用户设备去程和回程不一定使用相同路线——数据出去时可能经过一组运营商和路由节点,回来时可能经过另一组节点,这叫非对称路由。因此,即使两台 VPS 都位于美国洛杉矶,它们的实际体验也可能完全不同。一台可能较早进入中国大陆运营商网络,路径比较直接;另一台则可能经过其他国家或地区绕行,高峰期还可能出现明显拥堵和丢包。所谓“回国线路优化”或“中国大陆方向优化”,通常是指服务商针对海外服务器与中国大陆之间的通信,选择更直接、容量更充足或高峰期更稳定的网络路径。还需要区分中国电信、中国联通和中国移动。三个运营商拥有不同的骨干网络和国际互联资源,所以同一台海外 VPS,在不同运营商网络下的表现可能不同。
一条对中国电信表现良好的线路,对中国移动不一定同样稳定。因此,商家常会使用“电信优化”“联通优化”“移动优化”或“三网优化”等描述。市场上还会出现 CN2、联通 9929、CMI 等线路名称——CN2通常与中国电信方向的优化网络有关;联通 9929通常用于描述中国联通方向的高质量国际网络;CMI则与中国移动国际网络有关。但这些名称不能只看商品宣传。服务商所说的“接入某条线路”,可能只发生在去程、回程或其中一小段,不代表整条路径都使用这条网络。
因此,判断线路质量时,不能只看“CN2”“三网优化”“精品线路”这些标签,还要结合自己的宽带运营商进行实际测试。测试时应重点关注:平均延迟;丢包率;延迟波动;实际上传和下载速度;晚间高峰期表现;长时间连接是否稳定;去程和回程是否存在明显绕路。所以,服务器所在地只是判断网络体验的第一步,真正决定中国大陆用户使用体验的,是本地运营商、国际出口、海外机房以及去程和回程路由共同形成的完整线路。
六、看 IP 是否稳定
这里的稳定不仅是“网速快”,还包括:
- IP 会不会突然变化;
- 连接会不会频繁断开;
- 高峰期速度是否明显下降。
不同类型 IP 的稳定方式不同——VPS 机房 IP 通常容易长期固定,服务器也能持续在线;普通住宅代理可能依赖家庭设备,节点可能因为断网、关机或重新拨号而消失;移动 IP 本来就可能因为运营商网络分配而变化,因此不能简单用“是否永远固定”判断它的质量。所以判断稳定性时,要结合产品类型。如果商家卖的是固定 ISP IP,却频繁自动换地址,那就是明显不符合宣传。如果商家卖的是轮换住宅代理,IP 变化反而是产品设计的一部分。
七、看网络环境是否一致
平台判断风险时,通常不会只看 IP,而会把 IP 与其他环境信息一起看。例如:
- IP 显示在哪个国家;
- 系统时区是什么;
- 浏览器语言是什么;
- Cookie 和账号历史是否连续。
这里所说的“一致”,不是要求所有信息必须完全相同,而是看整体是否合理。比如一个中国人在美国使用中文浏览器,这很正常;一个美国 IP 使用中文语言,也不代表异常。真正容易引起注意的是剧烈、频繁、不合常理的变化。例如同一账号十分钟内从美国、德国、日本连续登录,或者长期稳定的环境突然同时更换设备、IP、时区和浏览器。
八、拿到一个 IP 后,怎样实际检查?
可以按照下面的顺序检查:第一步:确认当前出口 IP。第二步:检查归属和 ASN。第三步:对比多个地理数据库。第四步:检查公开历史记录。第五步:测试网络性能。第六步:观察一段时间。第七步:根据用途做决定
第十课:代理协议、代理模式和代理配置是什么?
前面已经知道,代理的基本作用是:**你的设备不直接访问目标网站,而是先把请求交给代理服务器,再由代理服务器替你访问。**但实际使用代理时,经常会看到一堆新词,比如 HTTP代理、SOCKS5、系统代理、全局模式、规则模式、代理地址、代理端口,这一课就把这些概念按顺序串起来。
一、一个代理服务由哪些部分组成?
先看最基础的结构:你的应用程序→ 本机的代理设置或代理软件→ 代理服务器→ 目标网站。这里通常涉及五个要素。
1.代理客户端
代理客户端是你设备上负责使用代理的一方。它可以是一款代理软件,也可以是浏览器、操作系统或代码程序里的代理设置。例如,你在 Chrome 里填写代理地址和端口,那么 Chrome 就承担了代理客户端的角色。
2.代理服务器
代理服务器是真正接收你的请求,并替你访问目标网站的服务器,它可能运行在一台 VPS上、云服务器上、家庭宽带设备上,网站通常看到的是代理服务器的出口 IP。
3.代理地址
代理地址会告诉你的设备代理服务器在哪里,它可以是一个 IP,例如203.0.113.10;也可以是一个域名,例如 proxy.example.com。
4.代理端口
一台服务器上可能同时运行多个服务,所以还要用端口确定具体连接哪个代理服务。例如:203.0.113.10:1080,其中 203.0.113.10是服务器地址,1080 是代理服务监听的端口。
5.认证信息
有些代理不允许任何人直接使用,需要用户名和密码。所以一份完整的代理配置可能包含:代理协议、服务器地址、端口、用户名、密码
二、什么是代理协议?
代理协议解决的是**应用程序应该用什么规则,把请求交给代理服务器?**这里要区分两个容易混淆的概念:网站协议是浏览器和目标网站之间使用的规则,例如 HTTP、HTTPS。代理协议是你的应用程序和代理服务器之间使用的规则,例如 HTTP 代理、SOCKS5 代理。它们可能同时存在。比如你通过 SOCKS5 代理访问一个 HTTPS 网站:
浏览器
→ 使用 SOCKS5 规则连接代理服务器
→ 代理服务器连接 HTTPS 网站在这里,SOCKS5 是你和代理服务器之间的代理规则,而HTTPS 是浏览器和目标网站之间的网页通信规则。所以 SOCKS5 和 HTTPS 不是互相替代的关系。
三、HTTP 代理是什么?
HTTP 代理是专门按照 HTTP 相关规则接收和转发请求的代理。假设你使用 HTTP 代理访问普通 HTTP 网站,浏览器会把网页请求交给代理服务器,代理服务器再替你请求目标网站。代理服务器可能看到你请求的完整网页地址和内容,因为普通 HTTP 本身不加密。HTTP 代理并不是只能访问HTTP网站,还能访问 HTTPS 网站。浏览器通过 HTTP 代理访问 HTTPS 网站时,通常会先对代理服务器说:请帮我建立一条到目标网站 443 端口的连接。这个过程常使用一种叫 CONNECT 的方法。CONNECT 可以理解为:浏览器让代理服务器建立一条中转通道。通道建立后,浏览器再通过这条通道,与目标网站完成 TLS 握手和 HTTPS 通信。
在正常情况下,HTTP 代理主要负责转发加密数据,不能直接读取 HTTPS 网页正文。
四、SOCKS5 代理是什么?
SOCKS5 是一种比 HTTP 代理更通用的代理协议,它会按照你提供的目标地址和端口,帮你建立网络连接并转发数据。所以 SOCKS5 不只可以服务浏览器,也可以被其他软件使用,例如聊天软件、下载工具、开发程序或其他支持 SOCKS5 的应用。路径大致是:应用程序→ SOCKS5 代理服务器→ 目标服务器。为什么 SOCKS5 更通用?因为它不是专门围绕网页格式设计的。应用程序只需要告诉 SOCKS5 代理:要连接哪个目标 IP 或域名、要连接哪个端口、使用哪种传输方式,代理服务器就负责帮它建立连接。SOCKS5 常见支持 TCP 连接,也可以设计为转发 UDP 数据,但是否真正支持 UDP,取决于代理服务器和客户端的具体实现。
SOCKS5 本身会加密吗?不会,SOCKS5 的核心是转发,不是加密。如果你通过 SOCKS5 访问 HTTPS 网站,网页内容仍然有 HTTPS 加密;但你的设备到 SOCKS5 代理服务器这一段,并不会仅仅因为使用 SOCKS5 就自动获得额外加密。
五、应用代理、系统代理和设备级接管
代理协议决定怎么把请求交给代理,但还要决定哪些程序使用代理。
1.应用代理
应用代理是在某个具体软件中配置代理。例如,只在浏览器里设置 HTTP 或 SOCKS5 代理。这时可能是:
Chrome → 代理服务器 → 网站
微信 → 原始网络 → 微信服务器只有配置了代理的 Chrome 使用代理,其他软件不受影响。这种方式控制比较明确,但需要软件本身支持代理设置。
2.系统代理
系统代理是由 Windows、macOS 等操作系统提供的统一代理设置。打开系统代理后,支持系统代理的软件会读取这些设置,并把请求交给代理。但并不是所有软件都会遵循系统代理,有的软件自己管理网络连接,有的软件只支持特定协议,还有的软件会直接连接目标服务器。因此:设置了系统代理,不等于整台电脑所有流量都一定经过代理。
3.设备级流量接管
有些代理软件为了接管更多程序的流量,会在系统中创建一个虚拟网络接口。可以把它理解成操作系统里模拟出来的一张网卡。软件让系统先把流量交给这张虚拟网卡,再决定如何转发。这类方式经常被称为 TUN 模式。TUN 不是一种代理服务器协议,而是一种在本机接管网络流量的方法。它可以让原本不支持系统代理的软件,也有机会被代理软件接管。路径变成:各个应用程序→ 系统虚拟网卡→ 代理软件→ 代理服务器→ 目标网站。但即使使用 TUN 模式,也要看软件的规则和配置,并不能仅凭名称保证绝对没有直连流量。
六、全局模式、规则模式和分流是什么?
代理软件接管流量后,还要决定哪些流量走代理,哪些流量直接访问,这个决定过程叫分流。
1.全局模式
全局模式通常表示:被代理软件接管到的流量,原则上全部交给代理服务器。但这里要特别注意:“全局模式”通常只是指所有被软件接管的流量都走代理,不一定等于设备中每一个数据包都被成功接管,如果某个程序完全绕过代理软件,它仍可能直连。
2.规则模式
规则模式是根据预先设置的规则判断如何处理流量。例如:
指定网站 → 代理
本地网站 → 直接访问
局域网设备 → 直接访问
广告或恶意域名 → 拒绝连接规则可以根据域名、IP、应用程序等条件进行判断,这种方式的优点是效率更高——例如访问本地服务时不必绕到海外代理服务器,访问指定网站时才走代理。缺点是规则需要维护——如果规则过期或匹配错误,某些网站可能走错路线。
3.直连和拒绝
代理软件中还经常看到两个名词:直连表示不经过代理服务器,直接用当前网络访问。拒绝表示不允许建立连接,常用于阻止广告、恶意网站或某些不希望联网的程序。
七、代理中的 DNS 怎样处理?
当你输入域名时,必须先通过 DNS 查到 IP,使用代理后,就会出现一个新问题:域名到底由你的本地设备解析,还是由代理服务器解析?本地解析是指你的设备先通过本地 DNS 查出目标 IP,然后把这个 IP 交给代理服务器。这种方式下,DNS 查询通常发生在你本地网络中。代理端解析是指你的设备直接把域名交给代理服务器,由代理服务器所在地的 DNS 系统完成查询。这种方式有时更适合依赖地区返回不同服务器地址的网站。例如,同一个域名在中国和美国查询时,可能返回不同的 CDN 节点,使用代理端解析,可以让查询结果更接近代理服务器所在地区。关于SOCKS5 中的本地和远程解析,有些软件会区分两种写法或设置:
- SOCKS5:可能由本地设备先解析域名;
- SOCKS5 hostname 或远程 DNS:把域名交给代理服务器解析。
不同软件的名称不完全相同,因此不能只看“用了 SOCKS5”,还要确认域名解析发生在哪里。如果网页流量经过代理,但 DNS 查询仍然走本地网络,不意味着代理就失效了,但只能说明 DNS 和网页流量走的是不同路径。
八、显式代理和透明代理是什么?
显式代理是指应用程序明确知道自己正在使用代理。例如你在浏览器里手动填写:代理地址、端口、协议、用户名和密码,然后浏览器就会主动按照代理协议连接代理服务器。透明代理是指应用程序本身没有明确配置代理,但流量在经过某个设备或软件时,被自动转发到了代理服务。例如,公司网关可能统一处理内部设备的流量;本机代理软件也可能通过虚拟网络接口拦截和转发应用流量。对应用程序(Chrome、微信等)来说,它可能以为自己正在直接访问网站,但实际上流量中间被转发了。这里的“透明”是指应用程序可能不知道代理存在,但也不代表网站一定无法检测代理、通信一定加密。
九、怎样判断代理是否真的生效?
第一步是检查出口 IP。使用代理前后,目标网站看到的公网 IP 应该发生预期变化。第二步是分别测试不同程序。例如浏览器 IP 已经变化,不代表其他软件也走了代理。第三步是检查 DNS 解析路径。确认域名是由本地网络解析,还是由代理端解析,这是否符合你的需求。第四步是测试断开代理后的行为。代理断开时,程序是停止联网,还是自动恢复原始网络直连?如果自动直连,原始出口 IP 就会重新出现。第五步是观察 IPv4 和 IPv6。有时 IPv4 流量经过代理,但 IPv6 流量仍然直接访问,导致网站看到不同的网络出口。
第十一课:节点、订阅、机场和代理软件分别是什么?
一、代理软件是什么?
代理软件是安装在电脑或手机上的客户端程序,它主要负责四件事:第一,读取代理服务器的连接信息。 第二,接收浏览器、App 或操作系统交来的流量。 第三,根据规则决定流量走代理、直连还是拒绝。 第四,把需要代理的流量发送给远端代理服务器。假设你选择了一个美国节点,完整路径可能是:Chrome→ 电脑上的代理软件→ 美国代理服务器→ 目标网站。目标网站看到的通常是美国代理服务器的 IP,而不是你电脑上代理软件的地址。代理软件启动后,通常会在你的电脑内部创建一个代理入口,例如:127.0.0.1:7890,127.0.0.1表示当前这台设备自己,7890是代理软件监听的端口,意思是代理软件正在你自己电脑的 7890 端口等待其他程序把流量交给它。
例如:Chrome→ 127.0.0.1:7890→ 本地代理软件→ 远程代理节点→ 网站。这里的127.0.0.1:7890不是美国服务器,也不是你的最终出口 IP,它只是电脑内部把流量交给代理软件的本地入口。代理软件可能同时创建多个本地端口。例如一个端口接收 HTTP 代理流量,另一个端口接收 SOCKS5 流量。
二、节点是什么?
“节点”在代理软件中,通常指一份可以连接到某台远程代理服务器的配置。一份节点配置通常包含:
- 使用什么代理协议(代理连接规则);
- 服务器地址(某个 IP 或域名);
- 服务器端口(某个数字);
- 用户名、密码、密钥或其他认证信息(证明你有权使用该服务器);
- 加密或连接相关参数;
- 显示名称和地区标签。
当你在代理软件中点击这个节点时,软件就知道应该把流量发送到哪台远程服务器,以及怎样连接它。节点不等于一个 IP。一个节点通常对应一组连接配置,但不一定永久对应一个固定 IP。例如,节点地址可能是一个域名。这个域名背后可能解析到不同服务器 IP。服务商更换服务器后,节点名称不变,但实际出口可能已经变化。反过来,多个节点名称也可能最终使用同一个出口 IP。例如软件中显示:
- 美国高速 01;
- 美国高速 02;
- 美国流媒体 01。
它们可能是三台不同服务器,也可能只是三个不同入口,最后汇聚到同一个出口。所以节点名称是服务商给用户看的标签,不一定能准确代表底层服务器数量和出口 IP 数量。
三、配置文件是什么?
代理软件需要知道节点在哪里、如何连接,以及哪些流量应该走哪个节点。这些信息通常保存在配置文件里。配置文件可以理解成代理软件的“说明书”,它可能包含:节点列表;节点协议和认证信息;本地监听端口;DNS 设置;分流规则;哪些域名走代理;哪些域名直连;哪些连接需要拒绝。例如,配置文件可能告诉软件:
本地网站 → 直接访问
指定海外网站 → 美国节点
局域网地址 → 直接访问
广告域名 → 拒绝配置文件可以由用户自己编写,也可以由代理服务商通过订阅提供。配置文件也不是代理服务器本身,它只是告诉代理软件“应该怎样工作”。类比一下:
- 代理服务器是实际运输车辆;
- 节点是某辆车的联系方式和使用方式;
- 配置文件是完整的车辆清单和调度规则;
- 代理软件是负责执行调度的程序。
四、订阅是什么?
代理领域里的“订阅”,通常不是单纯指按月付费,而是指一个用于获取代理配置的网络地址。这个地址通常被称为订阅链接。代理软件访问订阅链接后,服务商会返回一份配置数据,其中可能包含多个节点、节点名称和部分规则。过程是:代理软件访问订阅链接→ 服务商返回节点配置→ 代理软件生成节点列表→ 用户选择节点。例如,你购买一个代理服务后,服务商可能给你一个订阅链接。你把它导入代理软件,软件中就会出现:美国节点、日本节点、新加坡节点、中国香港节点。以后服务商新增、删除或修改节点时,你在代理软件里点击“更新订阅”,软件就会重新读取订阅内容。订阅链接不是代理节点,订阅链接只是用来下载配置的地址。你正常访问网站时,流量不会一直经过订阅链接。真正转发流量的是订阅中记录的代理服务器。
两条路径要区分:
更新配置:
代理软件 → 订阅服务器 → 获取节点列表
实际上网:
应用程序 → 代理软件 → 所选代理节点 → 网站为什么订阅链接不能公开?订阅链接通常包含一个能够识别账号或套餐的随机标识。拿到这个链接的人,可能可以导入你的全部节点并消耗你的流量额度。因此,订阅链接应当被当作密码一样保护。如果订阅链接泄露,通常应该在服务商后台重置订阅地址,或者重新生成访问标识。更新订阅后,可能发生这些变化:增加新节点;删除失效节点;修改服务器地址;修改端口和认证信息;整节点名称;更新流量信息;更新服务商提供的规则。但你自己在本地添加的规则或配置,是否会被覆盖,要看代理软件和订阅格式。
五、“机场”是什么?
“机场”不是正式的网络技术术语,而是中文互联网中对一类代理服务商的俗称。这类服务商通常会:
- 维护多台代理服务器;
- 提供不同国家或地区的节点;
- 按月、按季度或按流量出售套餐;
- 给用户提供订阅链接;
- 提供账号后台和流量统计;
- 负责节点维护和更新。
用户购买套餐后,通常不是直接获得一台完整 VPS,而是获得使用服务商代理网络的权限。“机场”的基本业务关系可以理解为:
服务商维护代理服务器
→ 把服务器整理成节点
→ 通过订阅发给用户
→ 用户在代理软件中连接因此,机场不是代理软件。代理软件安装在你的设备上,负责读取和使用节点;机场则是提供远程节点和订阅的服务商。也不是所有商业 VPN 都叫机场。商业 VPN 通常提供自己的官方 App 和 VPN 服务;机场常见的形式是提供订阅,让用户使用第三方代理客户端导入。
六、节点中的“直连、中转和专线”是什么意思?
服务商介绍节点时,常出现“直连节点”“中转节点”“专线节点”等说法。这些名称并没有完全统一的市场标准,所以要先理解基本路径。
1.直连节点
直连节点通常表示,你的设备直接连接最终的代理服务器。
你的设备
→ 海外代理服务器
→ 目标网站这种结构比较简单,但体验很依赖你本地运营商到海外服务器的国际线路。如果国际线路高峰期拥堵,节点就可能出现延迟升高、丢包或速度下降。这里的“直连”不是说完全不经过任何路由器,而是说中间没有服务商额外安排的一台代理中转服务器。
2.中转节点
中转节点会先让你的设备连接一台距离较近或线路较好的中转服务器,再由中转服务器连接海外出口。
你的设备
→ 中转服务器
→ 海外出口服务器
→ 目标网站中转服务器的作用,是改善你的设备到海外出口之间的网络路径。例如,本地直接连接美国服务器质量很差,但连接国内某台入口服务器比较稳定。服务商可能先把流量收进这个入口,再通过自己的网络线路送往美国出口。这时,入口服务器和出口服务器不是同一台机器,目标网站最终看到的通常是海外出口服务器的 IP,而不是中转入口的 IP。
3.专线节点
“专线”通常表示服务商在部分网络路径中使用了相对独立、受管理或质量更稳定的连接,而不是完全依赖普通公网随机路由。(因为入口服务器收到你的流量后,再把流量送进服务商控制的专线,传到海外出口,所以是需要中转的)
七、套餐中的流量和倍率是什么?
服务商出售的套餐通常会限制每月可用流量。例如一个套餐包含每月 100 GB 流量,表示你的上传和下载数据累计达到套餐规则中的 100 GB 后,可能会被暂停、限速或要求购买额外流量。这里的流量一般包括上传和下载,但具体计算方式要看服务商规则。什么是倍率?倍率表示使用这个节点时,套餐流量按照什么比例扣除。例如你的实际使用量是 1 GB:
- 0.5 倍节点,可能扣除 0.5 GB;
- 1 倍节点,扣除 1 GB;
- 2 倍节点,扣除 2 GB。
高倍率节点通常可能对应成本更高的线路、特殊地区或更昂贵的出口资源,但高倍率不等于速度一定更快。倍率只是服务商的计费规则,不是网络性能指标。
八、把整个过程完整串起来
假设你购买了一个代理服务套餐,并使用某款代理软件。第一步,服务商给你一个订阅链接。第二步,你把订阅链接导入代理软件。第三步,代理软件访问订阅地址,下载节点列表和相关配置。第四步,你在软件里选择“美国节点”。第五步,代理软件在本机创建代理入口,例如127.0.0.1:7890,并通过系统代理或虚拟网络接口接收流量。第六步,浏览器把需要访问网站的流量交给本地代理软件。第七步,代理软件按照节点配置,连接远程美国代理服务器。第八步,美国代理服务器替你访问目标网站。第九步,目标网站看到的通常是美国代理服务器的出口 IP。
第十二课:怎样看懂 SOCKS5、VLESS、Trojan 等节点名称?
前面已经讲过代理软件、节点和订阅。到了这一课,你会在节点名称里看到 VLESS、Trojan、TLS、WebSocket、TCP 等一长串英文。它们不是同一种东西,而是在网络链路里各做一件事。本课不研究协议内部的报文和握手,只解决一个小白真正需要的问题:看到一条节点名称时,知道每个词是干什么的。
一、先看整条路,不要急着背协议
假设你用 Chrome,通过一个美国节点访问 YouTube,整条路是:
Chrome
→ 本地代理软件
→ 美国代理服务器
→ YouTube这条路可以分成三部分。第一部分是 Chrome 怎样把流量交给本地代理软件,常见方式有 HTTP 代理、SOCKS5、系统代理和 TUN。第二部分是本地代理软件怎样连接美国代理服务器,这时才会用到 Shadowsocks、VMess、VLESS、Trojan 或 Hysteria 2。第三部分是美国代理服务器替你连接 YouTube。
节点名称里的不同词,可以先放进下面四个岗位:
| 岗位 | 大白话 | 常见名称 |
|---|---|---|
| 远程代理规则 | 本地代理软件和远程服务器按什么规则沟通 | Shadowsocks、VMess、VLESS、Trojan、Hysteria 2 |
| 数据承载方式 | 代理数据是直接传,还是先装进另一种格式 | RAW、WebSocket、gRPC |
| 节点安全保护 | 本地代理软件到远程服务器这一段怎样加密和验明身份 | TLS、REALITY、协议自身加密 |
| 基础运输 | 数据最底层靠什么方式在网络中移动 | TCP、UDP、QUIC |
UUID、密码和密钥则像通行证,用来证明你有权使用这个节点。IP、域名和端口负责告诉软件远程服务器在哪里。先把每个词放回自己的岗位,后面就不会把它们全都混成“代理协议”。
二、SOCKS5 是入口,不等于 VLESS 等节点规则
本地代理软件启动后,可以在你的电脑上开一个 SOCKS5 入口,例如 127.0.0.1:1080。127.0.0.1 代表当前这台设备,1080 是代理软件等待接收流量的端口。Chrome 把请求交给这个入口时,数据还没有离开电脑:
Chrome
→ 本机 SOCKS5 入口
→ 本地代理软件本地代理软件收到请求后,再按照你选择的节点配置连接远程服务器。例如你选择的是 VLESS 节点,完整路径就是:
Chrome
→ 本地 SOCKS5 入口
→ 本地代理软件
→ VLESS 连接
→ 远程代理服务器
→ YouTube在这条链路里,SOCKS5 负责“Chrome 怎样把请求交给本地代理软件”,VLESS 负责“本地代理软件怎样把请求送到远程代理服务器”。它们位于不同路段,不是二选一的关系。
SOCKS5 也能直接运行在远程服务器上。当 Chrome 直接连接一台公网 SOCKS5 服务器时,SOCKS5 本身就承担远程代理规则。判断它在本地还是远程,直接看服务器地址:127.0.0.1 或 ::1 指当前设备,局域网 IP 指局域网内的设备,公网 IP 或公网域名指互联网中的远程服务器。
SOCKS5 的主要工作是接收目标地址和端口,再替应用转发 TCP 或 UDP 数据。它的用户名和密码用于检查使用权限,不负责给整条连接加密。因此,把没有额外加密保护的远程 SOCKS5 直接暴露在公网,不能当作安全加密隧道使用。
SOCKS5 遇到域名时,谁来查 DNS?
假设 Chrome 要访问 youtube.com。真正建立网络连接前,必须先把 youtube.com 转成服务器 IP。这里有两种清楚的情况。
第一种是 Chrome、操作系统或本机代理软件先查出 YouTube 的 IP,再把这个 IP 交给 SOCKS5。SOCKS5 收到的已经是 IP,因此域名解析发生在把 IP 交给它之前。
本机先查询 youtube.com
→ 得到目标 IP
→ 把 IP 交给 SOCKS5
→ SOCKS5 连接该 IP第二种是 Chrome 不提前查询 IP,直接把 youtube.com 交给 SOCKS5。此时应用这一侧没有完成解析,域名会交给后面的代理链路处理。
Chrome 把 youtube.com 交给 SOCKS5
→ 代理链路按照 DNS 配置处理域名
→ 得到目标 IP
→ 建立目标连接如果 SOCKS5 服务器本身就在远程,域名由远程 SOCKS5 服务器处理。如果 SOCKS5 入口是本机的 127.0.0.1,本地代理软件收到域名后,可以在本机解析,也可以继续把域名交给远程节点;具体结果由代理软件的 DNS 规则决定。所以不要只看“用了 SOCKS5”,还要看应用交给 SOCKS5 的是域名还是 IP,以及本地代理软件怎样处理收到的域名。
系统代理和 TUN 也位于应用进入本地代理软件这一段。系统代理是操作系统告诉应用“代理入口在哪里”,TUN 是代理软件创建虚拟网卡来接收符合路由规则的流量。它们不决定远程节点使用 VLESS、Trojan 还是其他规则。
三、五种常见远程代理规则
1. Shadowsocks:本地和远程之间的加密转发规则
Shadowsocks 简称 SS。它不是一个 IP,也不是一台特定服务器,而是本地 Shadowsocks 程序和远程 Shadowsocks 服务器共同遵守的一套加密转发规则。它告诉双方目标地址怎样传递、数据怎样加密,以及远程服务器收到数据后怎样解密和转发。
在经典 Shadowsocks 架构中,本地程序会向浏览器提供一个 SOCKS5 入口。浏览器先把请求交给本地程序,本地程序再使用 Shadowsocks 规则加密数据并发送给远程服务器:
Chrome
→ 本地 SOCKS5 入口
→ Shadowsocks 本地程序
→ Shadowsocks 加密连接
→ Shadowsocks 远程服务器
→ YouTube因此,SOCKS5 和 Shadowsocks 不是同一个东西。SOCKS5 负责浏览器到本地程序这一小段,Shadowsocks 负责本地程序到远程服务器这一段。两端必须使用相同的加密方式和密钥,否则无法互相解密,也就不能建立正常的代理连接。
Shadowsocks 自己已经包含代理规则、认证和数据加密,所以不需要再套一层 VLESS 或 VMess。它仍然依靠 TCP 或 UDP 把加密后的数据真正送出去。它也不等于网站 HTTPS——Shadowsocks 保护本地程序到远程服务器,网站 HTTPS 保护浏览器到目标网站。
2. VMess:自己包含认证和数据保护的代理规则
VMess 是 V2Ray 体系中的加密通信协议。你可以把它理解成一套内容较完整的远程代理规则:它会说明用户是谁、用户要访问哪个目标,以及代理数据怎样保护和传输。配置里的 UUID 可以理解成一串很长的用户编号,服务器用它识别有权使用节点的用户。
VMess 还可以搭配 WebSocket、gRPC 和 TLS。此时 VMess 负责代理规则和用户识别,WebSocket 或 gRPC 负责承载数据,TLS 提供额外的连接保护。它们并不是几种同类协议在互相竞争,而是在同一条连接里分工合作。
3. VLESS:更轻量的代理规则
VLESS 也是本地代理软件与远程服务器之间的代理规则。它负责识别用户、携带目标地址和传递代理数据,用户身份使用 UUID 等标识。和 VMess 相比,VLESS 把更多安全工作交给单独的安全配置,因此节点名称中经常同时出现 TLS 或 REALITY。
只看到“VLESS”这个词,还不能判断节点采用了哪一种安全保护。必须继续查看完整配置中是否使用 TLS、REALITY 或 VLESS Encryption。对小白来说,不需要记这些配置字段,只需要记住:VLESS 是代理规则,TLS、REALITY 等词才告诉你这条节点连接怎样获得安全保护。
常见名称包括 VLESS + TCP + TLS、VLESS + WebSocket + TLS 和 VLESS + TCP + REALITY。三条配置都使用 VLESS,区别在于数据怎样承载,以及节点连接怎样保护。
4. Trojan:在 TLS 保护中传送代理请求
本课说的原始 Trojan 协议,会先让本地 Trojan 客户端和远程 Trojan 服务器建立 TLS 安全连接,再通过密码验证用户,并传送目标地址和代理数据。你可以把它理解成:先建好一条加锁通道,再在通道里提交代理请求。
Chrome
→ 本地代理软件
→ TLS 保护的 Trojan 连接
→ Trojan 服务器
→ 目标网站Trojan 使用 TLS,但它不是普通网站 HTTPS。Trojan 这一层 TLS 的双方是本地代理软件和 Trojan 服务器;网站 HTTPS 的双方是浏览器和目标网站。两者用了同一种安全技术,但保护的是不同路段。
5. Hysteria 2:使用 QUIC 运输的代理方案
Hysteria 2 是建立在 QUIC 之上的 TCP、UDP 代理协议,QUIC 又运行在 UDP 之上。它们是上下层关系,不是三个并排的代理协议:
Hysteria 2
→ QUIC
→ UDP
→ IPUDP 本身不负责排序和重传,QUIC 在 UDP 之上增加了安全连接、数据流、丢包恢复和拥塞控制。因此,“Hysteria 2 使用 UDP”不等于“数据丢了也不处理”,而是会让QUIC处理。Hysteria 2 的设计重点是高延迟和丢包环境中的传输,实际速度仍然由线路质量、服务器负载和配置共同决定。
四、RAW、WebSocket 和 gRPC:数据用什么形式承载
这三个词不负责验证节点账号,也不负责决定出口 IP。它们只说明代理数据用什么形式装进连接。
RAW 表示代理数据不再套 WebSocket 或 gRPC,而是较直接地进入底层连接。一些代理软件界面仍把 RAW 显示成 TCP,所以 VLESS + TCP + TLS 在当前 Xray 术语中可以读成 VLESS + RAW + TLS,底层运输仍然是 TCP。
WebSocket 是一种持续双向通信格式。在 VLESS + WebSocket + TLS 中,VLESS 数据先装进 WebSocket 数据帧,再由 TLS 保护,最后通过 TCP 传输。WebSocket 负责包装和承载,不负责 VLESS 用户认证,也不等于加密。
gRPC 是另一种承载数据的通信框架。Xray 的 gRPC 传输使用 HTTP/2 承载代理数据,底层使用 TCP。VLESS + gRPC + TLS 可以理解成:VLESS 负责代理规则,gRPC 负责装载数据,TLS 负责安全,TCP 负责基础运输。
用快递类比,VLESS 等远程代理规则像快递单的填写规则,RAW、WebSocket 和 gRPC 像不同的装箱方式。装箱方式变了,包裹要送给谁、用户有没有使用权限,并不会因此改变。
五、TLS、REALITY 和协议自身加密:节点怎样上锁
TLS 是通用的安全机制,负责加密、防止数据被悄悄修改,并验证连接对象的身份。在节点配置中,TLS 保护本地代理软件到远程代理服务器这一段;在网站 HTTPS 中,TLS 保护浏览器到目标网站这一段。
REALITY 是 Xray 体系中的节点安全机制。对小白来说,可以先把它放在与 TLS 相同的“安全保护岗位”理解,但 REALITY 和标准网站 HTTPS 不是同一种具体连接。VLESS + TCP + REALITY 的意思是:用 VLESS 传递代理请求,用 REALITY 保护节点连接,底层使用 TCP。
协议自身加密是指加密能力直接写进远程代理协议中,例如 Shadowsocks 的数据加密和 VMess 的协议级保护。无论安全能力放在哪一层,它保护的都是本地代理软件到远程服务器这一段,不会替代浏览器和网站之间的 HTTPS。
UUID、密码和密钥首先回答“你有没有权限使用节点”,TLS、REALITY 和协议加密回答“连接内容怎样保护”。认证和加密是两件事,不能因为配置里有密码,就认定整条通信已经加密。
六、为什么节点加密和网站 HTTPS 会同时存在?
假设你使用 VLESS + TCP + TLS 访问 https://youtube.com。此时有两把不同的锁:
外层锁:本地代理软件 ⇄ VLESS 服务器
由节点 TLS 保护
内层锁:Chrome ⇄ YouTube
由网站 HTTPS 保护可以把它想成双层包裹。Chrome 先把网页内容放进 YouTube 的 HTTPS 信封,本地代理软件再把这个已经上锁的信封放进节点 TLS 箱子。远程代理服务器能打开外层箱子,但里面仍然是 YouTube 的 HTTPS 密文;它把这份密文转发给 YouTube,最后由 YouTube 打开内层信封。
在浏览器正常验证网站证书、设备没有安装并信任代理控制的检查证书时,远程代理服务器不能直接读取网站 HTTPS 里的账号密码、Cookie 和网页正文。如果访问的是普通 HTTP 网站,就没有网站 HTTPS 这层内锁,远程代理服务器解除节点保护后能看到 HTTP 明文。
七、TCP、UDP 和 QUIC:最底层怎样运输
前面的课程已经讲过 TCP 和 UDP,这里只看它们在节点名称里的位置。
| 名称 | 大白话理解 | 在本课中的位置 |
|---|---|---|
| TCP | 会确认、排序和重传的可靠运输 | WebSocket、gRPC、原始 Trojan 等连接的基础 |
| UDP | 更轻量的数据报运输,本身不负责排序和重传 | QUIC 的基础,也能直接承载 UDP 代理数据 |
| QUIC | 建立在 UDP 上,同时增加安全连接和可靠数据流 | Hysteria 2 使用的传输体系 |
所以 VLESS + WebSocket + TLS 虽然名字里没有写 TCP,在 Xray 的这类 WebSocket 节点中,底层仍然使用 TCP。Hysteria 2 使用 QUIC,QUIC 的底层则是 UDP。
八、用固定方法读懂常见节点名称
以后看到节点名称,不要把整串英文当成一个单词。先找远程代理规则,再找承载方式、安全保护和基础运输。
| 节点名称 | 远程代理规则 | 数据怎样承载 | 节点怎样保护 | 基础运输 |
|---|---|---|---|---|
| VLESS + TCP + TLS | VLESS | RAW,界面写作 TCP | TLS | TCP |
| VLESS + WebSocket + TLS | VLESS | WebSocket | TLS | TCP |
| VLESS + gRPC + TLS | VLESS | gRPC / HTTP/2 | TLS | TCP |
| VLESS + TCP + REALITY | VLESS | RAW,界面写作 TCP | REALITY | TCP |
| Trojan | Trojan | Trojan 自己的数据格式 | TLS | TCP |
| Shadowsocks | Shadowsocks | Shadowsocks 自己的数据格式 | Shadowsocks 自身加密 | TCP / UDP |
| Hysteria 2 | Hysteria 2 | QUIC 数据流和数据报 | QUIC 中的安全机制 | UDP |
九、小白现阶段真正需要记住什么?
第一,SOCKS5、HTTP 代理、系统代理和 TUN,主要解决流量怎样进入本地代理软件。 第二,Shadowsocks、VMess、VLESS、Trojan 和 Hysteria 2,主要解决本地代理软件怎样连接远程服务器。 第三,RAW、WebSocket 和 gRPC 说明代理数据怎样承载。 第四,TLS、REALITY 和协议自身加密说明节点连接怎样保护。 第五,TCP、UDP 和 QUIC 说明数据最底层怎样运输。 第六,网站 HTTPS 是浏览器和目标网站之间的另一层保护,不等于节点 TLS。
选节点时,不要用“名字越长越高级”来判断。节点能否使用,首先取决于本地软件和服务器配置是否完全匹配;实际体验还取决于线路质量、服务器负载和出口 IP。协议名称只说明连接方法,不能单独代表速度、稳定性和 IP 质量。
第十三课:代理软件怎样接管流量并完成分流?
上一课已经讲清楚,本地代理软件会按照 VLESS、Trojan、Shadowsocks 等规则连接远程服务器。但连接上节点以后,还有两个问题没有真正解决:电脑上的网络请求怎样进入代理软件?进入以后,代理软件又怎样决定它应该走代理、直接连接还是拒绝?
这两个问题正是很多混乱的来源。有人打开了“全局模式”,却发现某个 App 仍然使用本地网络;有人打开 TUN 后,以为全部流量都会强制走同一个节点;还有人设置了分流规则,却不知道软件为什么没有按照自己的想法执行。这一课就把代理软件在本机做的事情完整串起来。
一、代理软件要连续完成两项工作
第一项工作叫接管流量。这里的“接管”不是控制整台电脑,而是让某个网络请求先进入代理软件,由代理软件获得处理这项请求的机会。
第二项工作叫选择出口。请求进入代理软件后,软件再按照当前模式和分流规则,决定它走远程代理节点、走本地网络直连,还是直接拒绝连接。
整套过程是:
应用发出网络请求
→ 系统代理或 TUN 把请求交给代理软件
→ 代理软件检查当前模式和分流规则
→ 选择代理、直连或拒绝
→ 通过对应出口访问目标服务器这两项工作必须分开理解。系统代理和 TUN 解决的是“流量怎样进来”,全局模式和规则模式解决的是“进来以后怎样走”。如果流量根本没有进入代理软件,后面的全局模式和分流规则就没有机会处理它。
二、Clash Verge 和 Mihomo 分别是什么?
先把名字讲清楚。Clash Verge 原本是一款代理客户端,但原项目已经在 2023 年停止维护并归档。Clash Verge Rev 是后来继续维护这套软件的新项目,官方把它称为 Clash Verge 的延续版本。它们不是两个需要同时安装的软件,而是前后两代项目:原版已经停止更新,现在继续更新的是 Clash Verge Rev。
Clash Verge Rev 安装到电脑后,应用名称仍会显示成“Clash Verge”,所以你在 Mac 的应用程序列表和窗口顶部看到的是 Clash Verge,不会一直看到 Rev。你当前安装的 2.4.4 版本,程序标识为 io.github.clash-verge-rev.clash-verge-rev,因此它实际属于 Clash Verge Rev。为了和你电脑里的显示保持一致,后文把这款软件简称为 Clash Verge;只有区分原版历史时,才写完整名称 Clash Verge Rev。
在 Clash Verge 中,你能点击的首页、节点列表、订阅管理和设置页面,属于软件的操作界面。它负责把复杂配置做成按钮和菜单,让用户不必直接修改每一行配置。
软件内部真正处理网络连接的程序叫代理核心。代理核心可以理解成代理软件的发动机:它读取节点和规则,接收流量,连接远程服务器,再把返回的数据交还给应用。
Mihomo 就是一种代理核心。Clash Verge Rev 官方版本内置 Mihomo,因此点击 Clash Verge 里的系统代理、TUN、全局模式或规则模式,界面会把你的选择交给 Mihomo,真正的网络处理再由 Mihomo 完成。
可以这样记:Clash Verge 是你看得见的控制台,Mihomo 是后台工作的网络发动机,订阅和配置文件则是发动机要执行的说明书。Clash Verge 和 Clash Verge Rev 是前后两代客户端项目,Clash Verge 和 Mihomo 才是“操作界面与代理核心”的关系,不要把这两组关系混在一起。
三、系统代理怎样把流量交给代理软件?
代理软件打开系统代理时,会把本机代理地址和端口写入操作系统的网络设置。支持系统代理的应用读取这项设置后,不再直接连接目标网站,而是先连接本机代理入口。
例如,代理软件在本机 7897 端口接收请求,路径就是:
浏览器
→ macOS 系统代理设置
→ 本机 7897 端口
→ Mihomo
→ 按规则选择出口本机端口只是应用把流量交给 Mihomo 的入口,不是远程节点,也不是最终出口 IP。请求进入 Mihomo 后,Mihomo 才会按照节点配置连接远程服务器。
系统代理有一个明确边界:只有读取并遵守系统代理设置的应用,才会主动使用这个入口。一个应用使用自己的网络设置、不读取系统代理时,它的连接不会因为系统代理开关而自动进入 Mihomo。这就是浏览器出口已经变化,另一个软件仍然直连的根本原因。
四、TUN 为什么能接住更多程序的流量?
TUN 是代理软件创建的虚拟网卡。虚拟网卡不是一块真实硬件,而是操作系统里由软件模拟出来的网络入口。应用仍然按照普通方式联网,操作系统根据路由表把符合条件的数据交给 TUN,Mihomo 再从 TUN 中接收并处理这些数据。
应用程序
→ 操作系统查看路由表
→ TUN 虚拟网卡法律科技
→ Mihomo
→ 按规则选择出口在 Mihomo 中打开 auto-route 后,Mihomo 会自动增加相应路由,让系统流量进入 TUN。这里的 auto-route 就是“自动设置路由”的开关。macOS 中的 TUN 网卡名称以 utun 开头,所以在 Mac 的网络信息里看到 utun0、utun1 等名称时,它们表示系统中的虚拟网络接口,不是新的 Wi-Fi。
TUN 能接住比系统代理更多的程序,因为应用不需要主动支持 HTTP 代理或 SOCKS5。只要该连接匹配系统写入的 TUN 路由,它就会进入虚拟网卡。
但“TUN 已打开”仍然不能简化成“每一个数据包都必定进入 Mihomo”。当配置明确排除某个网段、某个网络接口或某类流量时,被排除的连接不会进入 TUN;当 IPv6 没有启用或没有加入对应路由时,IPv6 连接也不会按照同一条 TUN 路线处理。判断结果必须查看实际路由和连接记录,不能只看开关颜色。
五、系统代理和 TUN 可以同时打开吗?
可以。它们不是两台远程代理服务器,而是流量进入同一个代理核心的两种入口。
支持系统代理的应用会按照系统设置连接本机代理端口;其余符合 TUN 路由的流量会进入虚拟网卡。两种入口最后都交给 Mihomo,再由同一套模式和规则选择出口。正常配置下,请求不会因为两个开关同时打开就被远程代理两次。
如果只打开系统代理,优点是影响范围清楚,缺点是无法接住不遵守系统代理的应用。如果打开 TUN,代理软件能处理更多应用和更多类型的连接,但配置、DNS 和路由之间的关系也更复杂。
六、全局、规则和直连模式到底改变了什么?
Mihomo 提供三种运行模式:全局模式、规则模式和直连模式。这三个模式只处理已经进入 Mihomo 的流量,不负责把流量接进来。
全局模式会把进入 Mihomo 的请求交给名为 GLOBAL 的策略组。策略组可以理解成一个出口选择菜单,里面可以放一个节点,也可以放多个节点和自动选择方式。你在 GLOBAL 策略组中选择哪个出口,进入 Mihomo 的流量就使用哪个出口。
规则模式会让 Mihomo 按照规则列表逐项检查请求。规则可以根据域名、目标 IP、应用进程、目标端口和传输方式作出判断,再把请求交给指定出口。
直连模式会让进入 Mihomo 的请求直接使用本地网络,不经过远程代理节点。它不等于关闭 Mihomo,只是把 Mihomo 收到的流量统一交给直连出口。
因此,“全局模式”不等于“整台电脑全部流量已经被接管”。准确说法是:**所有已经进入 Mihomo 的流量,都交给 GLOBAL 策略组处理。**没有进入 Mihomo 的流量,不受这个模式控制。
七、DIRECT、REJECT 和 PROXY 分别是什么意思?
在分流规则中,最常见的三个结果是 DIRECT、REJECT 和代理策略组。
DIRECT 表示直接连接。请求仍由 Mihomo 处理,但 Mihomo 会通过本地真实网络访问目标,不经过远程代理服务器,所以网站看到的是本地网络的出口 IP。
REJECT 表示拒绝连接。Mihomo 不再替应用访问目标,可用于拦截广告域名、恶意地址或不允许联网的目标。
PROXY 在很多配置里是代理策略组的名字,表示把请求交给这个组中当前选中的节点。PROXY 不是所有配置都必须使用的固定名称,服务商也可以把策略组命名为“节点选择”“国外网站”或其他名称。判断一条规则走哪个节点,要继续查看它指向的策略组以及组内当前选择。
三者可以简单理解为:
DIRECT → 用本地网络访问
REJECT → 不允许访问
PROXY 或其他策略组 → 使用组内选中的代理出口八、分流规则是怎样一步一步匹配的?
Mihomo 会按照规则在配置文件中的顺序,从上往下检查。上面的规则优先级高于下面的规则;请求匹配到一条可执行规则后,就按照这条规则选择出口,不再继续寻找普通的后续规则。
例如下面是一组用于理解顺序的简化规则,不是要求直接复制的完整配置:
apple.com 及其子域名 → DIRECT
anthropic.com 及其子域名 → DMIT 节点组
已知广告域名 → REJECT
前面都没匹配到的请求 → PROXY最后一条“前面都没匹配到的请求”在 Mihomo 中叫 MATCH。MATCH 不设置具体条件,会接住此前没有命中规则的请求,因此应当放在规则列表靠后的位置。如果把 MATCH 放在最前面,所有请求都会先命中它,后面的精细规则就没有执行机会。
规则不只可以写单个域名,还可以引用规则集。规则集就是把大量同类域名或 IP 整理成一份清单,例如中国大陆网站清单、广告清单或某项服务的域名清单。订阅提供商更新规则集后,代理软件可以使用新的清单进行判断。
九、DNS 为什么会影响分流?
前面已经讲过,DNS 负责把域名转换成 IP。对于分流来说,域名比一串 IP 更容易判断:看到 anthropic.com,软件可以直接匹配对应域名规则;如果应用提前把域名解析完,只交给代理软件一个 IP,代理软件就要改用 IP 规则,或者尝试恢复这个 IP 对应的域名信息。
Mihomo 提供一种叫 Fake-IP 的 DNS 处理方式。这里的 Fake 不是伪造你的公网出口,而是“临时占位”的意思。当应用查询某个域名时,Mihomo 的 DNS 模块先返回一个只在本机代理流程中使用的占位 IP,同时保存“这个占位 IP 对应哪个域名”。应用随后连接该占位 IP 时,Mihomo 就能还原原始域名,再用域名规则进行分流。
应用查询 anthropic.com
→ Mihomo 返回一个本机使用的占位 IP
→ Mihomo 保存占位 IP 与 anthropic.com 的对应关系
→ 应用连接占位 IP
→ Mihomo 还原 anthropic.com
→ 按域名规则选择出口这个占位 IP 不是 Anthropic 服务器的真实 IP,也不是代理节点的出口 IP。它只在 Mihomo 接管的本机网络流程中承担“记住域名”的作用。代理软件关闭后,外部网站不会把这个占位 IP 当成你的公网地址。
在 TUN 配置中还会看到 DNS 劫持。这里的“劫持”不是攻击,而是把符合条件的 DNS 请求转交给 Mihomo 自己的 DNS 模块处理,避免应用绕开代理软件使用另一条 DNS 路线。Mihomo 官方文档同时明确:macOS 和 Windows 无法自动劫持发往局域网 DNS 服务器的请求,因此不能只凭“DNS 劫持已开启”认定所有 DNS 请求都进入了 Mihomo。
十、为什么部分网站或软件没有被代理管住?
遇到这种问题时,不要先怀疑节点协议。按照“有没有接住,再看怎样分流”的顺序检查,原因会落在下面几类。
第一,应用不读取系统代理,同时 TUN 没有开启。这时应用直接使用本地网络,Mihomo 的规则看不到这项请求。
第二,TUN 已开启,但该连接被路由排除。被排除的目标网段、网络接口或设备不会进入 TUN。
第三,IPv4 进入代理,IPv6 没有进入同一条路线。应用选择 IPv6 连接时,网站看到的就是 IPv6 所使用的出口。
第四,请求已经进入 Mihomo,但命中了 DIRECT。此时代理软件确实处理了请求,只是规则明确要求它使用本地出口。
第五,规则顺序错误。上方的宽泛规则先匹配成功后,下方更具体的规则不会接手这项请求。
第六,应用保留了切换前已经建立的连接。切换模式或节点不会改写一条已经建立完成的网络连接;关闭并重新打开该应用或等待它建立新连接后,新规则才会处理新连接。
第七,策略组中选中的不是你以为的节点。规则只负责把请求送到策略组,最终出口由策略组当前选择决定。一个自动选择或故障切换组中包含多个节点时,实际出口会由该策略组的工作方式决定。
第八,代理节点不支持应用使用的传输类型。例如应用发出 UDP 请求,而节点没有启用 UDP 支持时,Mihomo 不会把这项 UDP 请求强行变成可用的节点连接。此时要查看后续规则和策略组配置,确认它改走了其他出口还是连接失败。
十一、怎样亲手验证流量究竟走了哪里?
最可靠的方法不是盯着开关猜,而是进行对照测试,并查看代理软件的连接记录。连接记录就是代理核心已经处理过的网络连接清单,其中会显示目标域名或 IP、命中的规则、使用的策略组和最终节点。
第一步,彻底关闭系统代理和 TUN,打开出口 IP 查询页面,记下本地 IPv4 和 IPv6。这是没有代理时的对照结果。
第二步,只打开系统代理,不打开 TUN。重新建立浏览器连接并查询出口,再测试一个你怀疑不遵守系统代理的应用。如果浏览器出口变化而另一个应用保持本地出口,就证明两者对系统代理的处理不同。
第三步,关闭系统代理,只打开 TUN。再次测试同一组应用,同时查看 Mihomo 的连接记录。出现在连接记录中的请求已经进入 Mihomo;没有记录的请求没有通过这次 Mihomo 处理。
第四步,保持接管方式不变,依次切换直连模式、全局模式和规则模式。直连模式下应看到本地出口;全局模式下,进入 Mihomo 的流量应使用 GLOBAL 组当前选择;规则模式下,不同目标应按照命中的规则使用对应出口。
第五步,在规则模式中分别访问一个设为 DIRECT 的网站和一个设为代理的网站。不要只比较网页能否打开,还要在连接记录里确认它们命中了哪条规则、交给了哪个策略组,并分别核对出口 IP。
第六步,断开远程节点后重新建立连接。如果对应策略组只包含这个节点,请求会失败;如果策略组还包含其他节点或 DIRECT,软件会按照该策略组的规则选择其中可用的出口。这个测试能告诉你节点故障时是停止联网、切换备用节点,还是恢复本地直连。
十二、日常使用应该怎样选择?
如果只需要让浏览器和明确支持系统代理的软件使用节点,系统代理更简单,影响范围也更容易判断。
如果需要接管不读取系统代理的 App、命令行程序、游戏或其他网络连接,就使用 TUN,并同时检查 IPv4、IPv6、DNS 和路由配置。TUN 不是“更高级的全局模式”,它只是把更多流量送进代理核心。
日常分流适合使用规则模式:本地服务和指定网站走 DIRECT,需要固定海外出口的网站走指定代理组,广告或恶意域名走 REJECT,最后再用 MATCH 处理没有分类的请求。
全局模式适合临时排查。当某个网站在规则模式下打不开、切换全局模式后能够正常访问时,问题位于规则、DNS 或策略组选择,而不是“代理软件完全没有接住流量”。直连模式则适合在不退出代理软件的情况下,临时让已接管流量统一使用本地网络。
十三、本课总结
代理软件的工作可以压缩成两句话:先通过系统代理或 TUN 接住流量,再通过运行模式和分流规则选择出口。
系统代理依赖应用主动读取代理设置;TUN 依赖操作系统路由把流量送进虚拟网卡。全局、规则和直连模式只处理已经进入 Mihomo 的请求,不负责扩大接管范围。
在规则模式中,Mihomo 从上到下匹配规则。DIRECT 使用本地出口,REJECT 拒绝连接,代理策略组使用组内当前选择的节点,MATCH 接住前面没有匹配到的请求。DNS 和 Fake-IP 则帮助 Mihomo保留域名信息,让域名分流更加明确。
以后发现“部分软件没有被代理”时,固定按照这个顺序检查:请求有没有进入 Mihomo;进入后命中了哪条规则;规则交给哪个策略组;策略组最终选择哪个出口。按照这四步检查,比反复切换节点和重装软件更容易找到真正原因。