# 对 ping0.cc 利用 WebRTC 静默上报用户真实 IP 的分析

**URL:** https://idcflare.com/t/topic/75070
**Category:** 情报
**Tags:** 服务器, 网络安全
**Created:** [2026 年4 月 3 日 12:11 UTC](https://idcflare.com/t/topic/75070 "2026-04-03T12:11:39Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### 作者： ![GuangChen233](https://idcflare.com/user_avatar/idcflare.com/guangchen233/32/36715_2.png) [@GuangChen233](https://idcflare.com/u/GuangChen233)
#### 发布日期： [2026 年4 月 3 日 12:11 UTC](https://idcflare.com/t/topic/75070/1 "2026-04-03T12:11:39Z")

</div>

> [!Warning]  
> 观前提醒：  
> 本篇仅分析了一个接口，不知道接口有什么作用，更不知道这个接口如何影响封控值和共享人数，仅作为风险提醒与数据参考。  
> **不要访问本文的任何明文链接。**

最近刷到了ICMP不可达喵的帖子 [历时两个月的ping0实验终于有了结果](https://linux.do/t/topic/942959)，正好没什么意思，简单做一个小分析。

首先使用 Reqable 工具抓包，先找可疑请求（即请求体中含有 IP 的请求）。

结果非常 Amazing 啊，发现一请求如下（省略请求头）：

> POST `https://ping0.cc/ip/peer` HTTP/2
> 
> ```json
> {
> "ip": "xxx.xxx.xxx.xxx", # IP 地址
> "size": "879-769" # 浏览器窗口大小
> }
> 
> ```
> 
> * * *
> 
> 返回: HTTP/2 204

看了下启动器，是由 `https://cdn.ping0.cc/js/check.js` 启动的。

下载下来，发现经过 `jsjiami.com.v7` 混淆，一般吧，在 AI 时代没啥好说的。

这个方法原文如下：

```js
'peer'() {
    const _0x240196 = _0x35e62e,
        _0x4a0fc3 = {
            'qnArj': function (_0x1b0c8c, _0x599205) {
                return _0x1b0c8c === _0x599205;
            },
            'CfeTI': _0x240196(0x2a1, '&]9^'),
            'uxcbk': function (_0x47aa75, _0xb926d0) {
                return _0x47aa75 === _0xb926d0;
            },
            'saKfi': _0x240196(0x1bf, 'l5GL'),
            'KxNbH': function (_0x3ad146, _0x30d0ae) {
                return _0x3ad146 + _0x30d0ae;
            },
            'Ahaer': _0x240196(0x208, 'EHcf'),
            'FCfGW': _0x240196(0x23f, 'p7Wb'),
            'gpjRN': function (_0x1758b5, _0x5b3737) {
                return _0x1758b5 === _0x5b3737;
            },
            'DrvIp': _0x240196(0x2a8, 'H@6r')
        },
        _0x213f70 = window[_0x4a0fc3[_0x240196(0x2b7, 'H)5x')]];
    if (_0x4a0fc3[_0x240196(0x1ef, '2RVF')](_0x213f70, undefined)) {
        this[_0x240196(0x1c9, 'nGax')] = window[_0x240196(0x1a3, '[1jt')];
        return;
    }
    const _0x475906 = new _0x213f70({
        'iceServers': [{
            'urls': _0x4a0fc3[_0x240196(0x2b6, 'fr9d')]
        }]
    });
    _0x475906[_0x240196(0x239, 'M0YP')] = _0x365e93 => {
        const _0x507ee3 = _0x240196;
        if (_0x365e93[_0x507ee3(0x1ad, 'YS0[')]) {
            if (_0x4a0fc3[_0x507ee3(0x1f1, '4Qn*')](_0x4a0fc3[_0x507ee3(0x2a7, 'tqEz')], _0x4a0fc3[_0x507ee3(0x29a, 'J^P0')])) {
                const _0x22ec76 = _0x365e93[_0x507ee3(0x1c7, 'nGax')][_0x507ee3(0x2b1, 'H)5x')][_0x507ee3(0x1ff, 'ni%P')](' ')[0x4];
                if (_0x4a0fc3[_0x507ee3(0x252, '3LK)')](_0x22ec76[_0x507ee3(0x1a5, '[1jt')](_0x4a0fc3[_0x507ee3(0x248, '#IR7')]), -0x1) && !this[_0x507ee3(0x2a3, '$aHF')](_0x22ec76)) {
                    const _0x13b720 = _0x4a0fc3[_0x507ee3(0x1e0, '*qsc')](_0x4a0fc3[_0x507ee3(0x28c, 'l5GL')](window[_0x507ee3(0x1e1, '[1jt')], '-'), window[_0x507ee3(0x2b3, 'iMDv')]);
                    axios[_0x507ee3(0x1d3, '4Qn*')](_0x4a0fc3[_0x507ee3(0x23e, 'ZAzr')], {
                        'ip': _0x22ec76,
                        'size': _0x13b720
                    });
                }
            } else _0x2588e5[_0x507ee3(0x213, 'SZ(Q')](_0x390073);
        }
    }, _0x475906[_0x240196(0x1b6, 'f01U')]({
        'offerToReceiveAudio': !![]
    })[_0x240196(0x1b2, 'H)5x')](_0x2c7a44 => _0x475906[_0x240196(0x24b, 'J^P0')](_0x2c7a44));
}

```

反混淆清理一下，变成这样：

```js
peer() {
    const RTCPeerConnection = window.RTCPeerConnection;

    if (RTCPeerConnection === undefined) {
        this.newaddr = window.ip;
        return;
    }

    const pc = new RTCPeerConnection({
        iceServers: [{ urls: 'stun:stun.l.google.com:19302' }]
    });

    pc.onicecandidate = (event) => {
        if (event.candidate) {
            // 死代码分支（混淆器添加的永真条件）
            if (true) {
                // 从 candidate 字符串中提取第5个字段（IP地址）
                const ip = event.candidate.candidate.split(' ')[4];

                // 检查：包含点号（IPv4）且不是保留地址
                if (ip.indexOf('.') !== -1 && !this.isreserve(ip)) {
                    // 构造 size 参数
                    const size = window.innerWidth + '-' + window.innerHeight;

                    // POST 上报
                    axios.post('/ip/peer', { ip: ip, size: size });
                }
            }
        }
    };

    // 触发 ICE 候选收集
    pc.createOffer({ offerToReceiveAudio: true })
        .then(offer => pc.setLocalDescription(offer));
}

```

是不是一眼就知道这段代码在干嘛了，利用 WebRTC 技术绕过代理，获取用户的真实公网 IP 地址，并结合浏览器的窗口尺寸信息，将其发送到后端服务器。

那么这段逻辑在什么时候会触发呢？

_**Vue的 `created()` hook**_

只要你打开就静默发生捏。

你要是让我评价这段行为在干嘛，我只能说你都收集浏览器大小了作为指纹了，那还说啥了，难道收集浏览器大小是为了帮你检查一下 WebRTC 有没有 leak？

* * *

本篇内容仅供参考，可以自己读一下源码，不长。

本篇内容的任何观点仅代表作者个人看法，并非客观事实，仅供参考。

---

<div class="post-metadata">

### 作者： ![yqyan](https://idcflare.com/user_avatar/idcflare.com/yqyan/32/3375_2.png) [@yqyan](https://idcflare.com/u/yqyan)
#### 发布日期： [2026 年4 月 3 日 12:28 UTC](https://idcflare.com/t/topic/75070/2 "2026-04-03T12:28:09Z")

</div>

感谢分享 🙏

> [@呼吁大家还是别用ping0了](https://idcflare.com/t/topic/65009/1):
>
> 纯娱乐库
> 
> ![image](https://idcflare.com/uploads/default/original/3X/e/8/e8057654f960d52ff30f6bc16b455d7a591bd5d9.png)

---

<div class="post-metadata">

### 作者： ![Hang](https://idcflare.com/user_avatar/idcflare.com/hang/32/2385_2.png) [@Hang](https://idcflare.com/u/Hang)
#### 发布日期： [2026 年4 月 3 日 13:42 UTC](https://idcflare.com/t/topic/75070/3 "2026-04-03T13:42:18Z")

</div>

支持大佬

---

<div class="post-metadata">

### 作者： ![xiaobaiyey](https://idcflare.com/user_avatar/idcflare.com/xiaobaiyey/32/52181_2.png) [@xiaobaiyey](https://idcflare.com/u/xiaobaiyey)
#### 发布日期： [2026 年4 月 3 日 15:17 UTC](https://idcflare.com/t/topic/75070/4 "2026-04-03T15:17:44Z")

</div>

关掉webrtc就好了

---

<div class="post-metadata">

### 作者： ![ptoken](https://idcflare.com/user_avatar/idcflare.com/ptoken/32/33874_2.png) [@ptoken](https://idcflare.com/u/ptoken)
#### 发布日期： [2026 年4 月 3 日 16:14 UTC](https://idcflare.com/t/topic/75070/5 "2026-04-03T16:14:41Z")

</div>

还是佬的表情包好玩

---

<div class="post-metadata">

### 作者： ![tug](https://idcflare.com/letter_avatar/tug/32/6_22734026db12803ebb3e059622ac3534.png) [@tug](https://idcflare.com/u/tug)
#### 发布日期： [2026 年4 月 3 日 19:13 UTC](https://idcflare.com/t/topic/75070/6 "2026-04-03T19:13:39Z")

</div>

这个应该和ping0的工作原理有关，用于确定查询的代理IP在境内的真实访问终端数量  
虽然ping0确实不咋地，但是有一说一如果真的只收集这么点指纹想不到它能怎么样

---

<div class="post-metadata">

### 作者： ![yqyan](https://idcflare.com/user_avatar/idcflare.com/yqyan/32/3375_2.png) [@yqyan](https://idcflare.com/u/yqyan)
#### 发布日期： [2026 年4 月 3 日 21:05 UTC](https://idcflare.com/t/topic/75070/7 "2026-04-03T21:05:29Z")

</div>

不是我的，是慕鸢的 😀

---

<div class="post-metadata">

### 作者： ![wpcn](https://idcflare.com/letter_avatar/wpcn/32/6_22734026db12803ebb3e059622ac3534.png) [@wpcn](https://idcflare.com/u/wpcn)
#### 发布日期： [2026 年4 月 3 日 23:35 UTC](https://idcflare.com/t/topic/75070/8 "2026-04-03T23:35:34Z")

</div>

![image](https://idcflare.com/uploads/default/original/3X/e/8/e8057654f960d52ff30f6bc16b455d7a591bd5d9.png)

---

<div class="post-metadata">

### 作者： ![goodgoodxuexi](https://idcflare.com/user_avatar/idcflare.com/goodgoodxuexi/32/35840_2.png) [@goodgoodxuexi](https://idcflare.com/u/goodgoodxuexi)
#### 发布日期： [2026 年4 月 3 日 23:40 UTC](https://idcflare.com/t/topic/75070/9 "2026-04-03T23:40:41Z")

</div>

大佬牛逼

---

<div class="post-metadata">

### 作者： ![SONY](https://idcflare.com/user_avatar/idcflare.com/sony/32/2299_2.png) [@SONY](https://idcflare.com/u/SONY)
#### 发布日期： [2026 年4 月 3 日 23:49 UTC](https://idcflare.com/t/topic/75070/10 "2026-04-03T23:49:37Z")

</div>

牛 谢谢大佬

---

<div class="post-metadata">

### 作者： ![GuangChen233](https://idcflare.com/user_avatar/idcflare.com/guangchen233/32/36715_2.png) [@GuangChen233](https://idcflare.com/u/GuangChen233)
#### 发布日期： [2026 年4 月 4 日 00:08 UTC](https://idcflare.com/t/topic/75070/11 "2026-04-04T00:08:01Z")

</div>

是这样 可能用于判断共享人数或者风控值导致越查越黑 侵犯隐私还是注意一点

---

<div class="post-metadata">

### 作者： ![nero](https://idcflare.com/user_avatar/idcflare.com/nero/32/714_2.png) [@nero](https://idcflare.com/u/nero)
#### 发布日期： [2026 年4 月 4 日 00:51 UTC](https://idcflare.com/t/topic/75070/12 "2026-04-04T00:51:57Z")

</div>

感谢分享 🫰

---

<div class="post-metadata">

### 作者： ![Waa](https://idcflare.com/letter_avatar/waa/32/6_22734026db12803ebb3e059622ac3534.png) [@Waa](https://idcflare.com/u/Waa)
#### 发布日期： [2026 年4 月 8 日 10:02 UTC](https://idcflare.com/t/topic/75070/13 "2026-04-08T10:02:48Z")

</div>

> [@tug](#):
>
> 和ping0的工作原理有关，用于确定查询的代理IP在境内的真实访问终端数量  
> 虽然ping0确实不咋地，但是有一说一如果真的只收集这么点指纹想不到它能怎么样

谢谢大佬分享

---

<div class="post-metadata">

### 作者： ![BBS](https://idcflare.com/user_avatar/idcflare.com/bbs/32/8893_2.png) [@BBS](https://idcflare.com/u/BBS)
#### 发布日期： [2026 年4 月 9 日 05:27 UTC](https://idcflare.com/t/topic/75070/14 "2026-04-09T05:27:40Z")

</div>

[https://web.archive.org/web/20260409052619/https://cdn.ping0.cc/js/check.js](https://web.archive.org/web/20260409052619/https://cdn.ping0.cc/js/check.js)

已严肃存档

---

<div class="post-metadata">

### 作者： ![BBS](https://idcflare.com/user_avatar/idcflare.com/bbs/32/8893_2.png) [@BBS](https://idcflare.com/u/BBS)
#### 发布日期： [2026 年4 月 9 日 05:46 UTC](https://idcflare.com/t/topic/75070/15 "2026-04-09T05:46:20Z")

</div>

能盒人)

---

<div class="post-metadata">

### 作者： ![pingqing](https://idcflare.com/letter_avatar/pingqing/32/6_22734026db12803ebb3e059622ac3534.png) [@pingqing](https://idcflare.com/u/pingqing)
#### 发布日期： [2026 年4 月 9 日 05:53 UTC](https://idcflare.com/t/topic/75070/16 "2026-04-09T05:53:09Z")

</div>

> [@SONY](#):
>
> 牛

牛 ，厉害了

---

<div class="post-metadata">

### 作者： ![Catchable6](https://idcflare.com/user_avatar/idcflare.com/catchable6/32/821_2.png) [@Catchable6](https://idcflare.com/u/Catchable6)
#### 发布日期： [2026 年4 月 9 日 06:56 UTC](https://idcflare.com/t/topic/75070/17 "2026-04-09T06:56:15Z")

</div>

那些IP数据库、风险值查询网站，能不查就不查。就用一家大型主流的就行了。

---

<div class="post-metadata">

### 作者： ![Lyunx.io](https://idcflare.com/user_avatar/idcflare.com/lyunx.io/32/40724_2.png) [@Lyunx.io](https://idcflare.com/u/Lyunx.io)
#### 发布日期： [2026 年4 月 11 日 14:36 UTC](https://idcflare.com/t/topic/75070/18 "2026-04-11T14:36:52Z")

</div>

Ping0真是劣迹斑斑，国人商家做个数据库都能玩出花来

---

<div class="post-metadata">

### 作者： ![coti](https://idcflare.com/user_avatar/idcflare.com/coti/32/17321_2.png) [@coti](https://idcflare.com/u/coti)
#### 发布日期： [2026 年4 月 15 日 06:55 UTC](https://idcflare.com/t/topic/75070/19 "2026-04-15T06:55:45Z")

</div>

ping0.0。。

---

<div class="post-metadata">

### 作者： ![chancat](https://idcflare.com/user_avatar/idcflare.com/chancat/32/29942_2.png) [@chancat](https://idcflare.com/u/chancat)
#### 发布日期： [2026 年6 月 30 日 07:13 UTC](https://idcflare.com/t/topic/75070/20 "2026-06-30T07:13:35Z")

</div>

还好俺禁用webrtc
