跳到主要内容
IPOK

双栈出口检测——你的 IPv4 和 IPv6 是否都在暴露?

很多人以为挂了代理就匿名了,却忽略一件事:你的设备往往同时有 IPv4 和 IPv6 两条出口。如果你的代理 / VPN 只代理了其中一种协议(很常见),另一种会直接走你的真实线路出去——风控网站只要同时拿到这两个地址,就能把「代理 IP」和「真实 IP」关联起来,把你去匿名。

IPOK 的双栈检测原理:我们有两个单栈子域,ip4.ipok.io(只有 A 记录 → 强制走 IPv4)和 ip6.ipok.io(只有 AAAA → 强制走 IPv6)。你的浏览器分别连这两个端点,服务端把「连接所用的真实 IP」原样回显——于是你一眼看到自己的 v4 出口和 v6 出口。两条都出现 = 双栈在线,要当心另一栈泄露。

和某些工具不同:IPOK 只连自己的端点回显你看到的 IP,不用 WebRTC 穿透你代理背后的真身,服务端不记录、也不把你的 v4/v6 配对建档。下面直接看你的双栈出口。

你的公网出口 IP
8 源交叉验证方法论公开免费 · 免登录不偷你的 IP

为什么浏览器经常优先走 IPv6——而你的代理可能没跟上

现代浏览器在双栈环境下不是随机选协议,而是遵循 RFC 8305(Happy Eyeballs v2):拿到域名的 AAAA(IPv6)与 A(IPv4)记录后,会先按 RFC 6724 排序,再略微偏向 IPv6。具体时序是——如果先收到 A 记录,客户端会再等约 50ms 看 AAAA 会不会到(Resolution Delay);连接发起后若 250ms 内没握手成功才回退到另一栈。换句话说,只要你本机有可用的 IPv6 出口,绝大多数请求会优先从 IPv6 出去。

这就埋下一个隐患:很多代理 / VPN 客户端只把 IPv4 流量塞进了隧道,IPv6 仍走本机原生线路直连。于是你以为「全程走代理」,实际上目标网站收到的连接来自你真实的 IPv6 地址——代理那个 IPv4 反而没怎么被用上。这类泄露不会有任何报错或提示,页面照常打开,你完全察觉不到。

反过来的情况也存在:有些机场 / 节点只有 IPv6 出口,而你访问的站点只解析 A 记录,流量又回退到本机 IPv4。判断到底哪一栈在「裸奔」,唯一可靠的办法是分别强制走 v4 和 v6 各连一次,看回显的真实出口 IP 是不是都属于代理。本页下方的检测器就是这么做的:它连 ip4.ipok.io(只有 A 记录)和 ip6.ipok.io(只有 AAAA 记录)两个单栈端点,把两条栈各自的真实出口同时摆出来给你对比。

风控如何把你的 IPv4 与 IPv6 关联起来去匿名

对反欺诈和风控系统来说,一个泄露的 IPv6 远不只是「多一个地址」那么简单。最典型的攻击是关联(correlation):当同一个浏览器会话里,代理的 IPv4 和你真实的 IPv6 在同一次页面加载中先后出现,风控就能把这两个地址绑成同一个实体。下次你换了代理 IPv4,但那个真实 IPv6(或它所在的 /64 前缀)没变,账号照样被认出来——代理在这种场景下基本失效。

IPv6 的地址结构让关联更省事。运营商通常给每个家庭宽带分配一整个 /64 甚至 /56 前缀,前缀在较长时间内稳定。即便你启用了隐私扩展让接口标识符(后 64 位)随机变化,前缀这一半往往纹丝不动,足以把同一条宽带下的所有设备归到一起。更糟的是部分老旧 CPE / 光猫仍用 Modified EUI-64:直接把网卡 MAC 嵌进地址(中间塞 FF:FE),等于把硬件指纹写在了地址里,跨网络都能追踪。

所以「我挂了代理」和「我匿名了」是两回事。真正决定匿名性的,是有没有任何一条栈、任何一个本机原生地址,在你不知情时被目标网站拿到。先确认自己是否在泄露,再谈隐藏——顺序反了等于白忙。

IPv6 隐私扩展能解决泄露吗——它管的不是同一件事

很多人看到「IPv6 隐私扩展(RFC 4941 / RFC 8981)」就以为开了它 IPv6 就安全了,这是个常见误区。隐私扩展解决的是「同一台设备在不同网络间是否能被同一接口标识符追踪」——它让系统周期性生成随机的临时地址(默认 preferred 约 1 天、valid 约 2 天)对外发起连接,避免把 MAC 永久写进地址。它压根没解决「你的真实 IPv6 在该走代理时却直连出去」这个问题。

换句话说,隐私扩展让你的 IPv6 地址不那么容易被长期画像,但只要它还是你真实线路的出口,目标网站当下这一次就拿到了你真实的地理位置、ISP 和 /64 前缀,并能和代理 IPv4 关联。隐私扩展是「换车牌」,代理泄露是「车还是从你家车库开出去的」——前者拦不住后者。

对在意匿名性的人,务实的做法有两层:① 让代理 / VPN 同时把 v4 和 v6 都纳入隧道,或干脆在系统 / 路由器层面关闭 IPv6,让本机只剩一条受控出口;② 关掉后用检测器复查——本页若把 IPv6 出口标成「不可达」,说明该栈确实没在外漏。隐私扩展可以留着开,但它不是泄露的解药。

在 IPOK 上怎么读懂你的双栈检测结果

打开本页下方的检测器,它会分别向 ip4.ipok.io 和 ip6.ipok.io 发起连接,把两条栈各自的真实出口 IP 回显出来。判读很直接:如果你正挂着代理,两个出口理应都属于代理的网段;只要其中一条冒出一个不属于代理的真实地址(常见是 IPv6 那条直接显示你家宽带的 v6),那一栈就在泄露。如果某一栈显示「不可达 / 无结果」,说明你本机当前没有该协议的出口,这反而是好事——少一条栈就少一个泄露面。

和某些会顺手收集访客的工具不同,IPOK 只回显「连接到它自己端点时实际用的那个 IP」:它不用 WebRTC 去穿透你代理背后的真身,服务端也不把你的 v4/v6 配对落库建档。作为独立开发者做的工具,这里的查询是无状态的——查的是 IP,不是你。所以你可以放心地把代理后的双栈状态在这里测一遍。

拿到结果后建议顺手再跑本站的 WebRTC 泄露和 DNS 泄露检测:双栈泄露、WebRTC 泄露、DNS 泄露是代理用户三条最常见的「侧漏」通道,三项一起过一遍,才算把这一次连接的匿名性真正确认清楚。

常见问题

什么是双栈(dual-stack)?

指设备同时具备 IPv4 与 IPv6 两套网络出口。现代家庭宽带与移动网络大多是双栈。

代理用户为什么要查双栈?

如果你的代理 / VPN 只代理了 IPv4 而 IPv6 直连(或反之),未被代理的那一栈会暴露你的真实 IP,风控可把它和代理 IP 关联起来去匿名。

怎么知道我的 IPv6 泄露了?

在 IPOK 首屏看你的出口 IP:若主 IP 是代理的 IPv4,但下方「另一条栈」显示出一个不属于代理的 IPv6,就说明 IPv6 在泄露。

怎么关掉 IPv6 防止泄露?

可在系统网络设置或路由器关闭 IPv6,或改用同时代理 v4+v6 的工具。关掉后本页 IPv6 出口会显示不可达。

我开了代理,本页 IPv6 那栏却显示我家宽带的地址,这正常吗?

不正常,这正是典型的 IPv6 泄露:你的代理只代理了 IPv4,IPv6 走本机原生线路直连出去了。目标网站这一次拿到的是你真实的 IPv6,可与代理 IPv4 关联去匿名。建议让代理同时纳管 v4+v6,或在系统/路由器关闭 IPv6 后再来复查。

为什么我的浏览器总优先用 IPv6 而不是代理的 IPv4?

这是 RFC 8305(Happy Eyeballs v2)的默认行为:双栈下浏览器会略微偏向 IPv6,先收到 A 记录也会等约 50ms 看 AAAA。只要本机有可用 IPv6 出口,大多数请求就从 IPv6 走,因此只代理 IPv4 的方案很容易漏。

关闭 IPv6 会不会影响我正常上网?

绝大多数网站和服务都仍支持 IPv4,关闭 IPv6 通常不影响日常访问,只是个别纯 IPv6 资源会连不上。对需要稳定匿名的场景,关掉 IPv6 让本机只剩一条受控出口,是最省心的做法;不想关就改用同时代理 v4 与 v6 的工具。

IPOK 测双栈会不会把我的两个真实地址配对存下来?

不会。本站只回显你连接它单栈端点(ip4/ip6.ipok.io)时实际使用的那个 IP,不用 WebRTC 穿透代理,服务端也不做 v4/v6 配对、不落库、不埋点。查询是无状态的,测完即走。

相关检测