跳到正文
不翻车专注 VPN 软件评测

VPN 服务器能看到你什么?拿自己服务器的日志实测

不翻车编辑部 · 更新于

实验服务器的 Xray 访问日志:每行一条连接,有时间、来源 IP(已打码)、目标网站和端口、用户名

先说结论:VPN 服务器能看到你什么时间、从哪个 IP 地址连进来、去了哪些网站和端口、用了多少流量;HTTPS 网页里你看了什么、填了什么,它看不到;可要是网站用的是 HTTP 明文,连你提交的账号密码都一字不差。2026 年 10 月 18 日,我们在一台测试服务器上另起了一个 Xray(26.3.27),打开访问日志和调试日志,同时抓包,测试端用 sing-box 1.14 连过去,依次访问了维基百科、一个 HTTP 明文测试页、一个提交假账号的测试网站、YouTube 首页,再换三种方式查 DNS。下面的日志和抓包都是这次的原文,来源 IP 用色块盖住了,服务器 IP 只留前两段。

这篇有视频版:YouTube 上看《翻墙上过的网站,VPN服务器全记着?拿自己服务器的日志给你看》。

能看到,不等于一定会记。日志是服务端的一个开关,文末讲普通用户怎么判断。

为什么服务器一定看得到你去了哪

你的设备到 VPN 服务器之间是加密隧道,路上的运营商、公司网管看不到里面(网管能看到什么,见公司 WiFi 网管能看到你开 VPN 吗)。可到了服务器这头,隧道就解开了:它要替你去连网站,必须知道目标是谁。好比包裹外面套了密封袋,转运站得拆开袋子看收件地址才能转寄。袋子里的东西如果还锁在盒子里(HTTPS),转运站打不开;如果是一张明信片(HTTP),拆袋就全看见了。

所以不管哪家、什么协议,Shadowsocks、VLESS 还是别的,“去哪个网站”这一层,服务器都看得到。

实验怎么做的

  • 服务端:Xray 26.3.27,测试服务器上用 systemd 临时起的独立进程,协议 Shadowsocks(aes-256-gcm),开了嗅探(sniffing)。
  • 日志:访问日志 + 调试日志(loglevel: debug),统计接口按用户记流量(和 3x-ui 的做法一样)。
  • 抓包:服务器上 tcpdump,只抓实验进程自己发出的连接(用独立的防火墙表按进程用户打标记),不碰机器上的其他服务。
  • 测试端:sing-box 1.14 命令行,本地开代理端口,curl 和无头浏览器走这个端口,不改系统代理。
  • 做完以后进程、防火墙表、配置和日志文件全部删除。

访问日志:一次连接一行

访问日志:时间、来源 IP(已打码)、目标网站和端口、用户名 user-62

拿第一行说:

字段 例子 说明
时间 07:30:17.369669 精确到微秒(服务器时间,UTC)
来源 from ███:60434 你的 IP 地址和端口,图里已打码
目标 tcp:en.wikipedia.org:443 你要去的网站和端口
用户 email: user-62 你在服务器上的用户名,每一行都能对到账号

打开 YouTube 首页这一下,4 秒钟里日志多了 22 行:www.youtube.com、图片服务器 i.ytimg.com、视频服务器 googlevideo.com、广告服务器 doubleclick.net,还有浏览器自己的后台连接 update.googleapis.com。视频还没点开,服务器已经知道你打开了 YouTube。

打开 YouTube 首页 4 秒,访问日志多了 22 行,有 YouTube、图片、视频、广告服务器和浏览器后台连接

(实验服务器是数据中心 IP,YouTube 弹了“确认不是机器人”,视频没有播放,所以这里不谈播放时的流量。)

客户端只发 IP,能藏住域名吗

不能。我们让 curl 在本地解析域名、只把 IP 地址交给代理(socks5:// 而不是 socks5h://),访问日志里目标成了 172.182.252.133:443,可调试日志紧跟着一行 sniffed domain: github.com:

调试日志:客户端只发来 IP 172.182.252.133,服务端嗅探出域名 github.com

原因是 HTTPS 连接的第一个包(Client Hello,客户端问候)里有个 SNI 字段,用明文写着网站名。抓包里能看到 httpbin.org 这几个字母就夹在十六进制中间:

HTTPS 第一个包的十六进制,右侧能读出明文的 httpbin.org

服务端开了嗅探就能读出来。Xray、sing-box 都有这个功能,本来是给分流规则用的。

HTTPS:只知道网站,不知道内容

我们往测试网站 httpbin.org 提交了一个假账号:user=xiaoming&pass=123456,先走 HTTPS。

服务器访问日志里就一行 tcp:httpbin.org:443。抓包里提交的内容是一串加密后的字节,在整个 443 端口的抓包里搜 xiaoming,0 次:

HTTPS 提交假账号后,抓包里是加密后的字节,搜不到用户名

维基百科那一页也一样:日志里有 en.wikipedia.org,没有我们看的词条 /wiki/Domain_Name_System。HTTPS 下,服务器知道你上了哪个网站,不知道你在网站里看了什么、填了什么。

HTTP 明文:账号密码一字不差

同样的假账号换成 HTTP 再提交一次,抓包里请求原样摆着:提交到哪个网址、用的什么软件,最后一行就是用户名和密码。

HTTP 提交的请求明文:POST /post、Host: httpbin.org、User-Agent,最后一行 user=xiaoming&pass=123456

HTTP 明文测试页 neverssl.com 也一样,访问路径 GET /online/、网页标题、返回的网页正文,服务器全都看得到。

neverssl.com:专门不用加密的测试网页,经实验服务器打开

现在大多数网站都是 HTTPS,浏览器遇到 HTTP 网站会在地址栏标“不安全”。看到这三个字,就别在上面输账号密码。

DNS:三种查法,服务器各看到什么

三种方式查的都是同一个域名:

查法 服务器访问日志 抓包
明文 DNS,走代理(发给 8.8.8.8) udp:8.8.8.8:53 查的域名是明文:A? www.reddit.com.
加密 DNS,走代理(Google 的 DNS JSON 接口) tcp:dns.google:443 只有加密字节,看不到查了什么
DNS 不走代理,直接发给 8.8.8.8 没有 没有

服务器抓包里的 DNS 查询,要查的域名 www.reddit.com 是明文

不过前两种查完了,你还是要去连那个网站,域名照样出现在访问日志里。第三种服务器是不知道了,可查询直接走了你本地的网络,运营商看得到,这就是 DNS 泄漏,测法和改法见 Clash DNS 泄漏十几组设置实测。对 VPN 服务器来说,DNS 怎么配差别不大;DNS 配置影响的是国内那一头。

流量:统计接口精确到字节

Xray 自带统计接口,按用户记上传和下载。这一轮实验不到两分钟,接口记下上传 133,468 字节(约 130 KB)、下载 7,075,427 字节(约 6.7 MB):

Xray 统计接口:user-62 上传 133468 字节、下载 7075427 字节

自建节点常用的 3x-ui 面板,默认就打开了这个统计。v3.10.2 的默认 Xray 配置模板 internal/web/service/config.json 里写着 statsUserDownlink、statsUserUplink 为 true:

3x-ui v3.10.2 默认配置模板:statsUserDownlink 和 statsUserUplink 为 true

所以面板上每个用户用了多少流量一目了然(截图来自我们的 3x-ui 给家人共用 那篇):

3x-ui 面板客户端列表:每个用户一行流量,my-phone 已用 433.21 MB

3x-ui 中文文档还写着:能查看某个客户端最近使用的 IP,并按客户端跟踪在线状态和最后在线时间。

3x-ui 文档:可以查看某个客户端最近使用的 IP,跟踪在线状态和最后在线时间

有意思的是,同一份模板里访问日志默认是关着的:"access": "none"。

3x-ui v3.10.2 默认配置模板:log 里 access 为 none,访问日志默认关闭

“无日志”只能靠条款和审计

Xray 文档写得很直接:访问日志填 none 就是关闭。我们这次打开了,所以记下了上面这么多;关掉,访问日志一行都不留。

Xray 文档日志配置:access 填特殊值 none,即关闭访问日志

问题是,你没法从外面看到别人服务器的配置。不管哪家说自己“无日志”,普通用户能核实的是这三样:

  1. 隐私政策里,连接时间、来源 IP、访问记录、流量这几项,有没有一条一条写清楚不记。
  2. 有没有独立的审计报告:谁审的、审了哪些服务器、审的是哪段时间。
  3. 承诺是哪家公司作出的。

具体怎么读,见 VPN 宣称“无日志”或“通过审计”,普通用户能核实什么。服务器之外,App 本身也可能带着统计和广告组件,可以看 写着“不会收集任何数据”的 VPN 安装包里装着什么。

普通用户能做什么

  • 认准 HTTPS。 地址栏标着“不安全”的网站,不输账号密码。
  • 国内网站本来就不经过节点。 规则模式下,国内网站和 App 直连,节点能看到的主要是你访问的海外网站。想确认分流对不对,用本站的分流检测。
  • 敏感的事,别指望任何一台服务器什么都不记。
  • 自建节点,日志开关在你自己手里。 3x-ui 默认不开访问日志;面板的流量和 IP 记录还在,按需要清理。

常见问题

VPN 服务器能看到我的微信聊天吗?

看不到内容,微信有自己的加密。规则模式下微信一般还是直连,根本不经过节点。

能看到我在 YouTube 看了哪个视频吗?

看不到具体是哪个视频。能看到你连了 YouTube 和它的视频服务器、用了多少流量。

开浏览器的无痕模式有用吗?

对服务器没用。无痕是不在你自己电脑上留浏览记录,服务器那头照样一行一行记。

换个协议,比如 VLESS、Trojan,服务器就看不到了吗?

不会。协议管的是你到服务器这一段怎么加密、怎么伪装;到了服务器都要解开,再替你去连网站。

HTTPS 网站的网址后半截,服务器能看到吗?

看不到。我们访问的维基百科页面,日志和抓包里都只有 en.wikipedia.org,没有后面的 /wiki/... 路径。

原始记录

测试日期 2026-10-18(时间为服务器时间,UTC),服务端 Xray 26.3.27,测试端 sing-box 1.14。

时间 测试 访问日志里的目标 抓包能看到
07:30:17 HTTPS 维基百科词条 en.wikipedia.org:443 SNI,内容加密
07:30:20 HTTP 明文测试页 neverssl.com:80 路径、标题、正文
07:30:30 HTTP 提交假账号 httpbin.org:80 用户名和密码明文
07:30:34 HTTPS 提交假账号 httpbin.org:443 SNI,内容加密,搜不到用户名
07:30:37 YouTube 首页(curl) www.youtube.com:443 SNI
07:30:40 明文 DNS 走代理 udp:8.8.8.8:53 查询的域名
07:30:43 加密 DNS 走代理 dns.google:443 看不到查询内容
07:30:46 本地解析,只发 IP 172.182.252.133:443,调试日志嗅探出 github.com SNI
07:30:46 DNS 不走代理 无 无
07:31:06 无头浏览器打开 YouTube 视频页 4 秒 22 行 —
07:31:46 读统计接口 上传 133,468 字节,下载 7,075,427 字节 —

资料: