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

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

简单而简单 – 你不能。 有太多types的VPN,太多的提供商,总的来说太多的variables在这里能够可靠地说出是否有人正在使用VPN。

您无法可靠地检测到用户是否正在使用VPN。 有许多不同的VPN解决scheme,无论您的检测方法是什么,新的VPN解决scheme都可能出现并破坏您的检测方法。

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

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

我怀疑它,看起来就像有人使用NAT一样。

现在有几种解决scheme可以做到这一点。

付费解决scheme:
阻止 – 付费的API检测,可以购买原料
maxmind – 通过API进行代理检测

免费解决scheme
WITCH – 通过MSS值检测OpenVPN(从kasperd的说法)
getIPIntel – 机器学习代理/ VPN检测,通过API