0x00 前言
在当今高度互联的数字时代,随着万物互联的深入推进,理解支撑现代社会运行的数字基础设施——包括互联网主干网络与本地局域网络——的底层运作机制变得至关重要。在此背景下,本文将深入探讨一款极具实用价值的网络诊断工具:RIPE Atlas。作为与 GlobalPing 齐名的网络性能监测工具,该老牌测量平台通过部署遍布全球的探测节点,使用户能够实时评估网络的连通性、延迟及稳定性。其独特的分布式架构与开放的数据接口,为研究人员提供了网络拓扑分析的利器。
鉴于当前中文互联网缺乏系统性介绍 RIPE Atlas 的技术文档,本文章(或者后续系列文章)将填补这一空白,尽量将基础操作指南、软件节点托管及各种平台集成方案等流程讲清楚,希望对你有所帮助。
0x01 基础概念
什么是 RIPE Atlas?
引用官网的话来说就是:「RIPE Atlas 是一个全球性的探针网络,用于测量互联网的连通性和可达性,提供了对互联网实时状态的前所未有的了解。」
RIPE Atlas 收集的绝大多数数据均为开源性质,用户无需部署自有探针或注册 RIPE NCC 账户,即可通过官方平台直接访问、下载或调用这些数据。值得注意的是,系统本身已预设并持续运行着大量自动化测量任务,其中部分关键测量已连续执行多年,从而为用户提供跨越时间维度的网络性能基准参考。
测量、积分、探测节点……这些都是什么?
由于相关资料较为匮乏,以下术语翻译采用了与英文原文最接近的直译方式(因此这些翻译可能显得有些生硬):
- 测量(Measurement):RIPE NCC 用户可创建属于自己的测量任务,这些任务既可以是一次性执行,也可设置为定期运行。
- 积分(Credit):为防止资源滥用并鼓励节点托管者,RIPE Atlas 设计了积分机制。托管探测节点的用户可获得积分,而发起测量任务则会消耗相应积分。
- 探测节点(Probe):探测节点由用户部署,目前分为软件型和硬件型两种类型。本文仅以软件型为例(因未申请到硬件设备)。
我该如何开始?
很简单,如果你想要运行属于自己的测量,你需要一个 RIPE NCC 账户。你可以前往 RIPE NCC Access 完成你的账号注册工作,这里不再赘述。
注册完成并登录(可能需要验证 Passkey),你就可以导航到 RIPE Atlas 主界面了:

0x02 青年人的第一个测量
这里我们将以一次 IPv6 Ping 测量为例,带你熟悉基本的测量方法。
首先我们导航到 Measurement Form,这是官方的一个测量准备表格,通过点触和输入即可完成一次测量的构建:

接下来我们选择是否为「一次性测量」,如果是一次性测量还可以指定「开始时间」,如果不是一次性测量则需要指定「开始时间」和「结束时间」:

同时在上图中我们还能看到具体的积分明细,具体如何赚取积分将在下文详细介绍。万事俱备,我们点击「Create this Measurement」创建这次测量吧~
Measurement(s) created! 99190688
很好,我们现在可以点击这个链接跳转到我们的测量并等待结果:

在上方导航栏的 Reports 中,我们还可以点击按钮下载测试结果,这将很有助于我们和其他系统(各类可观测性系统的地图)结合起来共同分析。
关于积分:24 小时的 IPv6 双节点 Ping 测试大约会消耗 2160 积分
0x03 让我们使用自动化吧
提到自动化,我们就得使用 API 等类似的方式与程序交互,我们可以通过这个方法获取属于你的 API Token:
- 访问 https://atlas.ripe.net/keys/ 并点击 Create an API key
- 填写表单时,请注意下图中指出的常见问题(图源):

一旦你拿到了 API Key,你就可以通过 Measurement Form 构建好你的请求,使用下方 API Spec 部分请求 RIPE Atlas API 了。
一个常见的用途是在 BGP.Tools 上使用,这会为你的组织带来更多网络观测性;另外你可以在 Pysio 网络工具箱 使用,这里非常感谢 @pysio2007 构建了一个用户友好的界面。
0x04 我该从哪获取积分
积分获取途径
RIPE Atlas 的积分可以通过托管探针或由其他用户将积分转移给您来使用。如果你不想托管探针,可以通过联系我获取一定数量的积分(信中注明你的 RIPE NCC 邮箱)。或者你可以使用 Pysio 网络工具箱 共享 API Key。
安装软件探针
软件探针是作为 RIPE Atlas 探针运行的软件包,无需任何专用 RIPE Atlas 硬件。它们旨在安装在由 RIPE Atlas 探针主机维护的基础设施上——例如在虚拟机、家庭路由器、现有服务器等上。不同的平台和操作系统支持程度和易用性不同,我推荐使用 Docker 一把梭。
请注意,所有软件探针都将被标记为公共探针
RIPE Atlas 探针代码可在 GitHub 上找到:https://github.com/RIPE-NCC/ripe-atlas-software-probe,测量代码位于子模块中:https://github.com/RIPE-NCC/ripe-atlas-probe-measurements
使用 Deb 包安装
没写,懒。
使用 Docker Compose 安装
这里是系统要求:
- 1 CPU 核心
- 20MiB 内存
- 100MiB HDD
- 安装了 Docker 的 Linux 主机
- 完整的互联网访问(无需公网)
这里我使用 Jamesits 的 Docker 镜像,这在我的多个节点上证明是最可靠的:
services:
ripe-atlas:
image: jamesits/ripe-atlas:latest
restart: always
environment:
RXTXRPT: "yes"
volumes:
- "./etc/ripe-atlas:/etc/ripe-atlas"
- "./run/ripe-atlas:/run/ripe-atlas"
- "./var/spool/ripe-atlas:/var/spool/ripe-atlas"
cap_drop:
- ALL
cap_add:
- NET_RAW
# required for tini
- KILL
# required for `setpriv` to work
- SETUID
- SETGID
# required for the entrypoint script to auto-fix the permissions of the directories
- CHOWN
- FOWNER
- DAC_OVERRIDE
mem_reservation: 64m
labels:
- "traefik.enable=false"
- "com.centurylinklabs.watchtower.enable=true"
logging:
driver: json-file
options:
max-size: 10m
# If possible, use host networking to avoid double NAT
# network_mode: "host"
networks:
- ripe_atlas
# Maybe needed when your host OS is old enough, see https://github.com/Jamesits/docker-ripe-atlas/issues/19
# security_opt:
# - seccomp:unconfined
networks:
ripe_atlas:
enable_ipv6: true
请注意这里我为了隔离探测节点,将挂载点全部设置在了同目录下,你也可以使用项目默认配置。
在经过简短的 docker compose up -d 后,我们需要获取 Atlas 程序的公钥,这通常是 /etc/ripe-atlas/probe_key.pub,是 ssh-rsa 加密算法。
使用 cat 查看公钥内容并复制,在 软件探针申请表单 中粘贴你的公钥,并设置好城市和 ASN,点击提交:
==这里缺张图
大功告成,你现在可以在探测节点列表里看到你的新节点啦~ 不过你可能需要等待大概十分钟的刷新才能看到节点由 Nerver connected 转变为 Connected。
现在你可以在测量中使用你的探测节点 ID,或者将其发在评论区中与其他人共享~
我需要注意什么
由于 Atlas 是一个全球性的测量项目,你需要考虑各类可能的滥用举报,确保主机商能够正确的应对这些投诉(而不会删你机器造成损失),这里我个人推荐一些比较好托管的主机商:中国移动、中国电信、中国联通、Scaleway、BuyVM(基本饱和)、UCloud 和各种您熟人的服务器提供商。请勿在未经授权的情况下为不知情用户安装 Atlas 赚取那一点点积分,如有需要,找我(
0x05 结语
这篇文章写的比较匆忙,RIPE Atlas 作为互联网基础设施监测的「听诊器」,构建了一个开放共享的全球观测网络。本文虽聚焦基础操作与快速上手,但已能帮助读者掌握从创建测量任务到自动化集成的完整链路。通过部署软件探针获取积分、善用 API 接口对接业务系统,开发者可以将其无缝融入现有的网络监控体系。
对于科研人员而言,连续多年的测量数据集更是一笔不可多得的宝藏,可为网络拓扑研究、服务可用性分析提供科学依据。值得注意的是,本文尚未深入硬件探针部署、高级测量类型等进阶主题,这些内容将在后续文章中逐步展开。我们鼓励每位读者在实践中探索:无论是为社区贡献探测节点,你的一次尝试都可能为全球网络健康监测贡献重要数据。