是否可以检测访问我的网站的访问者是否使用了 VPN?

是否可以检测访问我的网站的访问者是否使用了 VPN?

我在 Linux 机器上运行 Apache 2.2。有没有可靠的方法可以检测我的网站访问者是否通过 VPN 连接?我听说过尝试在远程 IP 地址上打开 TCP 连接,这有时可以识别用户正在使用代理。但同样的方法可以用于 VPN 用户吗?

答案1

简单来说 - 你无法做到。VPN 类型太多,提供商太多,总体而言变量太多,因此无法准确判断某人是否在使用 VPN。

答案2

您无法可靠地检测用户是否在使用 VPN。有许多不同的 VPN 解决方案,并且无论您采用哪种检测方法,都有可能出现新的 VPN 解决方案并破坏您的检测方法。

也就是说,一些 VPN 解决方案可以被检测到。

我要寻找的第一个信号是 PMTU。由于 VPN 添加了额外的标头,因此它们必须降低 MTU 或在 VPN 下使用分段。可以检测到降低的 MTU。但任何类型的隧道都可能导致 MTU 降低,不仅仅是 VPN 解决方案。PPPoE 也会导致 MTU 降低。因此,这种方法最终将需要一长串可能的 MTU 值,以及该 MTU 指示 VPN 的可能性。

答案3

我对此表示怀疑,它看起来就像有人在使用 NAT 一样。

答案4

目前有几种解决方案可以解决这个问题。

付费解决方案:
受阻- 付费 API 检测,有可供购买的原始 feed
最大思维- 通过 API 进行代理检测

免费解决方案:
巫婆- 通过 MSS 值检测 OpenVPN(来自 kasperd 的说法)
获取IPIntel- 通过 API 进行机器学习代理/VPN 检测

相关内容