检测VPN连接

5

通过Javascript可以检查用户是否连接到VPN并获取内部IP地址吗?


如果你是指在网页浏览器中使用JavaScript,那么我会非常怀疑;这取决于VPN的性质,浏览器本身可能并不知道。 - Pointy
1
http://stackoverflow.com/questions/13462925/how-to-test-if-an-employee-is-connected-via-vpn-with-client-side-javascript - Avinash Babu
2个回答

2
你无法仅使用浏览器上的JavaScript检查VPN使用情况或获取用户的IP地址。
最好的方法是寻找VPN IP黑名单并将其集成到服务器配置中,这些将阻止大多数免费VPN和一些付费VPN,但付费VPN将始终扩大其IP地址库。 还有一件事要补充,这将花费你金钱,并且你将限制一些出于隐私原因只能通过VPN服务访问你的网站的用户。
WebRTC泄漏并不适用于所有浏览器,它已经有扩展来防止它,这只是一个泄漏,而WebRTC技术本身尚未在IE上实现!希望这可以帮到你。

0
也许你可以查看这个仓库 https://github.com/diafygi/webrtc-ips。 它不会被浏览器插件阻挡。但是用户可以禁用webrtc。
编辑:
来自:http://thehackernews.com/2015/02/webrtc-leaks-vpn-ip-address.html WebRTC漏洞的工作原理如何?
WebRTC允许向STUN(用于NAT的会话遍历实用程序)服务器发送请求,该服务器返回用户使用的“隐藏”家庭IP地址以及本地网络地址。
这些请求的结果可以通过JavaScript访问,但由于它们是在常规的XML / HTTP请求过程之外进行的,因此在开发者控制台中是不可见的。这意味着这个漏洞只需要浏览器支持WebRTC和JavaScript即可。

请问您能否详细解释一下(扩展您的回答),为什么您认为webrtc可能是一个选项?在我看来,我想到了VPN路由器...不行,VPN-TAP驱动程序(正确设置)也不行,只有通过VPN隧道连接的浏览器...也许可以。旧的Java小程序“悄悄”获取IP地址的技巧会发生什么...我不知道。 - GitaarLAB
1
我的英语不好,你可以看看这两个链接:http://thehackernews.com/2015/02/webrtc-leaks-vpn-ip-address.html 和 https://torrentfreak.com/huge-security-flaw-leaks-vpn-users-real-ip-addresses-150130/。 - at15
我冒昧在你的答案中添加了这个(因为这里提到的PoC代码http://www.reddit.com/r/VPN/comments/2cfg84/all_vpn_anonymity_destroyed_in_3_min_with/已经下线,而且我不知道它是如何工作的)。另外,我真的希望这个WebRTC能够尽快修复,因为目前似乎只能禁用webrtc和/或javascript来防止这种攻击。 - GitaarLAB
我看不出这个答案的相关性,基于泄漏做出这样的举动会让你的网站声誉扫地。 - HassenPy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接