WebRTC 真实IP泄露防范

这篇具有很好参考价值的文章主要介绍了WebRTC 真实IP泄露防范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WebRTC 真实IP泄露防范

1.1. 前言

很多人可能误以为使用代理就可以完全隐藏我们的真实IP地址,但实际并不总是这样。事实上,有大量文章指出,WebRTC存在安全风险,而WebRTC安全风险的可怕之处在于,即使你使用VPN代理上网,仍然可能会暴露自己的真实IP地址。

虽然这听起来有点让人担忧,但我们不应该失去对代理技术的信心。代理依然是一种非常有用的工具,可以保护我们的在线隐私和安全。只是我们需要意识到代理并不是百分之百可靠的,因此我们需要采取其他额外的措施来保护自己的隐私和安全。

1.2. 获取真实IP地址演示

有如下3个网站推荐使用:

  • https://ip8.com/webrtc-test
  • https://www.hackjie.com/tracking
  • https://dnsleaktest.org/dns-leak-test

我平时比较喜欢使用FireFox和Chrome,通过对这俩的测试,发现使用Firefox默认不会获取到真实IP,但Chrome就算挂了代理,仍然能获取到真实IP地址。

webrtc获取ip,webrtc,tcp/ip,firefox

1.3. WebRTC介绍

WebRTC(Web Real-Time Communications)是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC 包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。

1.4. WebRTC 泄漏真实IP原理

WebRTC 允许浏览器之间直接建立点对点连接,从而实现实时通信,例如视频、语音和数据传输。在建立 WebRTC 连接时,浏览器会向对方发送自己的 IP 地址,以便双方建立连接。攻击者可以通过 JavaScript 或其他技术来访问 WebRTC 中的 API,以获取用户的 IP 地址,从而进行跟踪、监视或攻击。

具体来说,攻击者可以利用浏览器的 WebRTC API,通过请求媒体设备的权限,获取用户的 IP 地址。攻击者可以通过编写恶意 JavaScript 代码来执行这些请求,这些代码可能会被插入到网站中,以执行跨站点脚本攻击(XSS)等攻击。

此外,WebRTC 的 STUN/TURN 服务器也可以泄漏用户的 IP 地址。STUN/TURN 服务器是 WebRTC 中用于 NAT 穿透和中继的关键组件。如果这些服务器存在漏洞或者未正确配置,攻击者可以通过它们来获取用户的真实 IP 地址,从而进行攻击。

1.5. 防范措施

安装WebRTC Leak Shield扩展

  • Chrome
  • FireFox

1.6. 溯源利用

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>WebRTC泄露检测</title>
  </head>
  <body>
    <script>
      function findIP(onNewIP) {
        var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
        var pc = new myPeerConnection({iceServers: [{urls: "stun:stun.l.google.com:19302"}]}),
        noop = function() {},
        localIPs = {},
        ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
        key;

        function ipIterate(ip) {
          if (!localIPs[ip]) onNewIP(ip);
          localIPs[ip] = true;
        }

        pc.createDataChannel("");

        pc.createOffer(function(sdp) {
          sdp.sdp.split('\n').forEach(function(line) {
            if (line.indexOf('candidate') < 0) return;
            line.match(ipRegex).forEach(ipIterate);
          });
          pc.setLocalDescription(sdp, noop, noop);
        }, noop);

        pc.onicecandidate = function(ice) {
          if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
          ice.candidate.candidate.match(ipRegex).forEach(ipIterate);
        };
      }

      function show(ip) {
        alert(ip);
      }

      findIP(show);

</script>
  </body>
</html>

上述的代码访问后直接弹出IP,可对其进行定向二次开发,达到溯源反制的目的。文章来源地址https://www.toymoban.com/news/detail-671649.html

到了这里,关于WebRTC 真实IP泄露防范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django 获取真实ip地址

    2024年02月12日
    浏览(41)
  • nginx配置获取真实ip

    要想在应用中获取到真实IP,取决于各个转发节点的传递配置, 第一、要确定客户端使用哪个请求头传递IP地址 第二、第一转发点, proxy_set_header field value value是变量值,来源于请求方 field是变量名,是要发给下一站的变量 注意这个顺序,set设置要发往下一站的变量,紧接着

    2024年02月11日
    浏览(39)
  • 【vue】前端获取用户真实IP地址 (外网IP地址)

    1. 打开index.html !-- 引入JS -- script src=\\\"http://pv.sohu.com/cityjson?ie=utf-8\\\"/script  2. 获取IP  let IP = returnCitySN[\\\"cip\\\"]; localStorage.setItem(\\\'ip\\\',IP);  完整代码:

    2024年02月16日
    浏览(47)
  • docker 容器获取真实ip地址

    1、调用处 2、Iputils **特别注意:**如果使用到了nginx代理的话,需要在nginx.cofig内加上下面配置 效果: 加油,奥利给

    2024年02月16日
    浏览(35)
  • Java-通过IP获取真实地址

    最近写了一个日志系统,需要通过访问的 IP 地址来获取真实的地址,并且存到数据库中,我也是在网上看了一些文章,遂即整理了一下供大家参考。 这个是获取正确 IP 地址的方法,可以直接使用的。 通过以上方法你可以获取到访问者的 IP 地址,只有获取到了 IP 地址,才能

    2024年02月15日
    浏览(40)
  • PHP获取当前用户的真实IP

    在 PHP 中可通过 $_SERVER 全局变量获取客户端IP,常用的有以下两个变量: $_SERVER[\\\'REMOTE_ADDR\\\'] :浏览当前页面的用户的 IP 地址 $_SERVER[\\\'HTTP_X_FORWARDED_FOR\\\'] :如果用户使用了代理服务器,则获取用户的真实 IP 地址可使用此变量。 以下是获取客户端真实IP的示例代码: 该函数会检测

    2024年02月07日
    浏览(43)
  • Kubernetes Pod 获取真实 IP 地址

    1.1 链路介绍 7 层转发链路 : Client -- Nginx -- K8s Nginx Ingress 4 层转发链路: Client -- 公有云 SLB(或 F5、LVS、Haproxy 等)-- K8s Nginx Ingress 实际业务可能会串联更多层级的转发。例如 WAF、CDN、API Gateway 一般都是 7 层转发,LB、LVS 一般是 4 层 TCP 转发。 1.2 准备 Whoami 探针 whomai 是一个

    2024年02月16日
    浏览(35)
  • nginx 获取客户端真实IP

    网站接入Web应用防火墙WAF(Web Application Firewall)后,访问请求在到达源站服务器之前,需要经过WAF的代理转发。这种情况下,源站服务器可以通过解析回源请求中的X-Forwarded-For记录,获取客户端的真实IP。 WAF在将客户端的访问请求转发到下一环节的服务器时,会在HTTP的请求头

    2023年04月09日
    浏览(42)
  • nginx配置获取客户端的真实ip

    场景描述: 访问路径: A机器 - B机器的 -C虚拟机 : A机器为客户端用户,本地地址为 192.168.0.110 B机器为服务端反向代理服务器 本地地址为192.168.0.128 –(192.168.56.1) C机器为B主机安装的linux虚拟机,并安装了nginx ,本地ip为**(192.168.56.10)** 从侧面反映了反向代理的好处,直

    2024年02月05日
    浏览(38)
  • JavaWeb 获取客户端的真实IP地址

    通常我们在JavaWeb中获取客户端IP地址只需要使用 request.getRemoteAddr(); 方法即可 如果前端使用了Nginx等反向代理的话,我们使用 request.getRemoteAddr(); 方法获取到的IP地址就是 127.0.0.1 因为经过代理以后,在客户端和服务器之间增加了中间层,因此服务器无法直接拿到客户端的 IP 但

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包