
我们去年(6周前)就介绍过GlobalPing。他们是这样描述自己的:
Globalping 是一个平台,允许任何人对分布在全球各地的探测器运行 ping、traceroute、dig 和 mtr 等网络命令。我们的目标是为所有人提供免费且简单的 API,以便他们构建有趣的网络工具和服务。
这是一个由志愿者在全球各地运行的分布式探测器集合,您可以通过其 API 使用这些探测器来分析和排查网络互联问题。该项目由@jimaek负责,您可能在jsdelivr 项目中见过他。
请注意,您无需使用 GlobalPing 硬件即可参与。您可以在 Docker 容器中运行探测程序——请参阅此处的说明。
信封里装的是什么?
我的 GlobalPing 探测器装在一个带衬垫的信封里,从波兰克拉科夫寄到了。以下是里面的物品:

其中包括:
- GlobalPing 设备,包括已安装的 MicroSD 卡。
- 一款5V/2A的MicroUSB适配器——包装上写着“树莓派Zero电源适配器”。
- 一张预装了操作系统的MicroSD卡。我用的是一张Kingson CANVAS Select Plus 32GB的卡。我很难想象他们需要32GB的存储空间,但估计现在这种卡最常见,所以买这种卡比买8GB的卡便宜。
- 一个欧标电源插头和一个美标插头转换器
- 一根短网线
- 指示
- 贴纸!
注意:我的MicroSD卡在打开包装时就弹出来了。特此提醒——请确保您的卡已完全插入,否则您的设备将无法安装操作系统。
探头是一个密封的金属外壳,一侧贴有 GlobalPing 的标签。外壳尺寸约为 5.5 厘米 x 4.5 厘米 x 3 厘米高(1-3/4 英寸 x 2-1/8 英寸 x 1-1/4 英寸)。我用的是手边现有的布质卷尺,所以这些尺寸只是目测的大概值。
机身顶部有一个可用于更新的 USB 接口。点击此处了解更多信息。机身上没有开关或按钮,只有电源接口、网络接口、MicroSD 卡槽和 USB 接口。


完全没必要拆开它,所以我就拆开了。这是一块小板子,上面装了一颗 NEO 512M 芯片。照片拍得不太好,抱歉——我的手机放大不了这么远。GlobalPing 公司把他们的探针描述为“金属外壳的 ARM 架构迷你电脑”。我在网上搜索的时候,在好几个板子上都看到过 Neo 512 这个模块。


我或许能从另一侧获取更多信息,但底部有个散热片,从侧视图来看,上面涂了导热硅脂。我不想动它,所以就到此为止了。

这个机箱设计得非常好。主板可以轻松地装卸,而且组装好之后也不会发出任何晃动声。
电源插头丑得像块砖头,换上美规适配器就更丑了。当然,我们不能指望开源软件项目能有苹果级别的定制设计!反正它最后也只能挂在电源插座上,看不见。

设置
设置很简单:插上电源线和网线即可。说明书上说完全启动大约需要3分钟。

我想知道这台设备在网络中的位置,于是我启动了它,抓取了它的 MAC 地址,然后使用我的 DHCP 服务器为其分配了一个静态 IP 地址。幸运的是,这台设备的客户端 ID 为“globalping-probe-1234”,所以很容易找到。这里的 1234 是 MAC 地址的后四位。
分配完 IP 地址后,我拔掉设备的电源又重新插上,以便识别它。
之后,我按照说明登录了它。你可以无需密码通过 SSH 连接到logs@IP_ADDRESS 。以下是登录后的信息:
$ ssh [email protected] 无法确定主机“192.168.XX (192.168.XX)”的真实性。 ED25519 密钥指纹为 SHA256:0aM7QP6qbVaJV/4i4oGhf2v6GS18vu9YMArjBlRMkcI。 这个密钥没有其他名称。 您确定要继续连接吗(是/否/[指纹])? 是 警告:已将“192.168.XX”(ED25519)永久添加到已知主机列表中。 无法切换到主目录 /home/logs:没有该文件或目录 正在更新 /etc/ssl/certs 中的证书... 新增 0 项,移除 0 项;完成。 正在运行 /etc/ca-certificates/update.d 中的钩子... 完毕。 正在检查最新版本 当前版本 0.10.1 最新版本 0.10.1 [2023-01-01 19:21:44] [信息] [687] [常规] 以生产模式启动探针版本 0.10.1 [2023-01-01 19:21:45] [调试] [687] [常规] 已建立与 API 的连接 [2023-01-01 19:21:45] [INFO] [687] [api:connect] 已连接(美国,波特兰,北美)(纬度:45.XXXX,经度:-122.XXXX)
当我查看 GlobalPing 的 API 页面时,我看到列出了两个针对俄勒冈州波特兰市的不同探测器:
[0.10.1] [就绪] 美国俄勒冈州波特兰市,邮编 7922 -- Comcast Cable Communications, LLC [0.10.1] [就绪] 美国俄勒冈州波特兰市,邮编 54600 -- Peg Tech
我想我应该是第一个,因为我用的是康卡斯特(Comcast)的服务,而其他康卡斯特用户都没有用“Peg Tech”(我之前从没听说过这家公司,而且它的历史相当……丰富多彩)。7922 和 54600 是 ASN(应用服务编号)。如果我的设备有个唯一的标识符就好了,这样我就可以验证它是否正常工作。如果波特兰有很多用户,那很可能很多人都用的是康卡斯特的服务。
这个盒子密封得很好。以下是本地 nmap 扫描结果:
root@rundeck:~# nmap -p1-65535 192.168.XX Nmap 7.80 (https://nmap.org) 于太平洋标准时间 2023 年 1 月 2 日 09:53 启动 Nmap扫描报告,目标地址为192.168.XX 主机已启动(延迟 0.00089 秒)。 未显示:65534 个关闭端口 港口 国家服务 22/tcp 打开 SSH MAC地址:02:3F:30:36:XX:XX(未知) Nmap扫描完成:扫描了1个IP地址(1个主机在线),耗时3.35秒。
使用 GlobalPing 进行游戏
除了查看日志之外,你实际上无法在设备上进行任何操作,但你可以使用API 。我登录后发现,全球共有 579 个探测器可用。
前十次我尝试使用“波特兰”的位置 ping google.com 时,它都使用了我邻居的 ISP,他的 ISP 是“Peg Tech”(WordPress 会篡改 JSON,抱歉):
PING google.com (142.250.72.206) 56(84) 字节的数据。
来自 sfo03s21-in-f14.1e100.net (142.250.72.206) 的 64 字节:icmp_seq=1 ttl=113 time=1.60 ms
来自 sfo03s21-in-f14.1e100.net (142.250.72.206) 的 64 字节:icmp_seq=2 ttl=113 time=1.58 ms
来自 sfo03s21-in-f14.1e100.net (142.250.72.206) 的 64 字节:icmp_seq=3 ttl=113 time=1.58 ms
--- google.com ping 统计信息 ---
已发送 3 个数据包,已接收 3 个数据包,丢包率为 0%,耗时 402 毫秒
rtt 最小值/平均值/最大值/标准差 = 1.575/1.585/1.602/0.011 毫秒
{
"id": "5oNHmcDO4VGdxJN7",
"type": "ping",
"状态": "已完成",
"createdAt": "2023-01-01T19:42:48.316Z",
“updatedAt”: “2023-01-01T19:42:49.104Z”
“探针计数”:1,
“结果”: [
{
“探测”: {
“大陆”: “NA”,
“地区”: “北美洲”,
“国家”: “美国”,
"状态": "或",
“城市”: “波特兰”,
"asn": 54600,
经度:-122.6684,
纬度:45.5242,
“网络”: “Peg Tech”
标签:[],
解析器:[
“8.8.8.8,
8.8.4.4
]
},
“结果”: {
"rawOutput": "PING google.com (142.250.72.206) 56(84) 字节的数据。\n来自 sfo03s21-in-f14.1e100.net (142.250.72.206) 的 64 字节:icmp_seq=1 ttl=113 time=1.60 ms\n来自 sfo03s21-in-f14.1e100.net (142.250.72.206) 的 64 字节:icmp_seq=2 ttl=113 time=1.58 ms\n来自 sfo03s21-in-f14.1e100.net (142.250.72.206) 的 64 字节:icmp_seq=3 ttl=113 time=1.58 ms\n\n--- google.com ping 统计信息 ---\n已发送 3 个数据包,已接收 3 个数据包,丢包率 0%,耗时 402 毫秒\nrtt 最小值/平均值/最大值/标准差 = 1.575/1.585/1.602/0.011 毫秒”
"resolvedAddress": "142.250.72.206",
"已解析主机名": "sfo03s21-in-f14.1e100.net",
“时间安排”:[
{
"ttl": 113,
"rtt": 1.6
},
{
"ttl": 113,
"rtt": 1.58
},
{
"ttl": 113,
"rtt": 1.58
}
],
"stats": {
“最小值”:1.575,
“最大值”:1.602,
“平均值”:1.585,
损失:0
}
}
}
]
}将 ASN 设置为 7922 后,我以为流量来自我的设备。但后来我发现流量来自伊利诺伊州,而 Comcast 也在那里运营。所以我添加了一个城市过滤器,一切就恢复正常了。我的设备日志显示:
[2023-01-01 19:38:56] [调试] [687] [常规] 已收到 EYTkITWoJw8Fv6nM 的 ping 请求
请注意,GlobalPing表示“我们的项目正在积极开发中,尚未准备好投入生产使用”,所以我们对这个项目还处于早期阶段。
全球探测网络
首先需要注意的是,这 570 个探测器并非全部都是实际的硬件探测器。GlobalPing 可以在 Docker 容器中运行。据@jimaek称,列出的探测器中只有大约 150 个是 GlobalPing 的硬件探测器。
以下是截至 2023 年 1 月 1 日,根据 API 页面上显示的列表,列出所有拥有 10 个或以上探测器的国家/地区:
- 美国152号公路
- RU 61
- NL 38
- DE 27
- GB 26
- CA 18
- FR 17
- PL 16
- JP 15
- 13
- AU 11
- BR 11
- SG 11
- ES 10
以下是截至 2023 年 1 月 1 日 579 个在线站点的完整区域细分:
- 欧盟288号
- NA 171
- AS 83
- SA 18
- OC 14
- AF 5
美国和欧盟占据榜单主导地位,我并不感到意外。俄罗斯位列第二倒是让我有些惊讶。大洋洲的排名除了一个新西兰人之外,其余都是澳大利亚人;非洲的排名除了一个开普敦之外,其余都是约翰内斯堡人。不过,看到如此多元化的全球排名还是很不错的,我相信随着项目的推进,这些排名数字会不断增长并趋于平衡。