
项目设计目的:此项目的主要目标是模拟航空 ADS-B(广播式自动相关监视)系统的核心功能组件的部分功能,该系统位于Mini OT Aviation CAT-II Airport Runway Simulation Cyber Range(版本:v_0.2.2)中。该项目并非复制完整的可操作 ADS-B 基础设施,而是侧重于对机场 ADS-B 地面站的天线和控制器的功能进行建模,以支持 OT 培训、实验和安全导向型分析。
本文分为三个主要部分:
-
关于 ADS-B 的背景信息:简要概述 ATC ADS-B 系统以及航空网络靶场系统中模拟的特定功能。
-
地面站 ADS-B 控制器设计:模拟地面站 ADS-B 控制器的架构和通信逻辑,以及与网络靶场中其他组件的交互。
-
ADS-B 信息的用户界面:监控数据的设计和可视化,如塔台 ATC HMI(人机界面)ATC 面板上所示。
重要提示:实际的 ADS-B 比本项目中展示的实现方式复杂得多。在此网络靶场中,我们提取(这不是 1:1 的数字孪生仿真)基本的系统行为、逻辑、人机界面 (HMI) 和网络安全场景,而没有完整航空电子保真度的开销。

# Author: Yuancheng Liu
# Created: 2025/12/20
# Version: v_0.2.3
# Copyright: Copyright (c) National Cybersecurity R&D Laboratory (NCL)
# License: GNU General Public License V3
项目介绍
广播式自动相关监视 (ADS-B) 系统是现代空中交通监视的基石。与传统的二次监视雷达 (SSR) 依赖于地面询问不同,ADS-B 是自动的(无需外部刺激),依赖于高精度全球导航卫星系统 (GNSS) 数据进行定位,并且基于广播。这种架构允许飞机定期将其状态向量(包括身份、高度、速度和精确坐标)传输到地面站和其他附近的飞机,从而创建共享的实时空域战术图。
在Mini OT Aviation CAT-II Airport Runway Simulation Cyber Range System的开发中,模拟 ADS-B 的功能是一项关键要求。如下图所示,网络靶场专门模拟了更广泛的 ADS-B 生态系统的地面站部分(红色矩形突出显示)。

Original image source link : https://www.sportys.com/blog/ads-b-101-what-you-need-know/?srsltid=AfmBOorXll9byFukKBcTwg5EilCH3MslsuXFGzUCiaYz9Hbk3wRUY4Kb
模拟地面站自动接收由网络靶场的飞机模拟器在机场周围空域中广播的 ADS-B 消息。这些数据由地面站控制器解码和处理,以提取任务关键型监视信息/消息。然后,这些数据将通过雷达式空中交通管制 (ATC) 显示在机场塔台 ATC 人机界面 (HMI) 上进行可视化。此设置允许网络靶场用户与真实的空中交通流量进行交互,并分析受控模拟环境中数据交换的完整性。
同时,该项目将机场天气和环境传感器的数据集成到地面站控制器中。控制器汇总此信息并将机场状态和天气数据广播回附近的飞机,从而反映了现代航空通信系统中常见的双向信息交换。
技术实现介绍
地面站 ADS-B 控制器的核心逻辑是使用项目Python Virtual IEC 62541 OPC-UA-TCP PLC Simulator实现的。在此实现中,OPC UA 协议用于模拟 ADS-B 地面站控制器和机场塔台 ATC HMI 之间的通信通道,从而反映了现代机场子系统如何通过标准化工业协议交换操作数据。
对于机场天气数据采集功能,系统通过基于机场配置的地理位置(城市)查询 Google Weather API 来集成实时气象信息。检索到的天气参数(例如风况、能见度和温度)被标准化并保存到地面站控制器中作为传感器输入,从而模拟通常由机场天气雷达和环境监测系统产生的数据流。
塔台 ATC 控制 HMI 是按照Retro-ADSB-Radar项目中介绍的视觉和交互设计实现的。该界面使用组合的基于列表的视图和雷达式空中交通管制 (ATC) 显示来呈现接收到的飞机 ADS-B 消息和广播的机场信息,如下图所示。

这些实现选择确保航空网络靶场不仅模拟 ADS-B 消息交换,还模拟现代机场所依赖的底层工业控制系统 (ICS) 和运营技术 (OT) 通信模式。这种分层设计使该平台非常适合 OT 系统安全培训、系统行为分析和实验。
ADS-B 的背景知识
广播式自动相关监视 (ADS-B) 是现代航空中使用的一项核心监视技术,旨在增强空中交通监控、态势感知和运营效率。有大量的文档和学习资源可公开获取,例如FAA ADS-B 手册和教育材料,以及介绍系统概念和操作使用的入门视频。主要连接图如下所示:

本节不重复这些材料,而是侧重于总结 ADS-B 的关键特性,并清楚地定义航空网络靶场中模拟的 ADS-B 信息和行为的子集。
ADS-B 关键特性概述
ADS-B(广播式自动相关监视)是现代航空技术,飞机使用 GPS 自动广播其精确位置、速度和高度,从而取代或补充空中交通管制 (ATC) 和其他飞机的雷达。它是“自动的”(无需飞行员输入)、“相关的”(依赖于 GPS)、“监视”(跟踪飞机)和“广播”(发送数据)。关键部分是 ADS-B Out(传输)和 ADS-B In(接收驾驶舱中的交通/天气信息),从而在全球范围内提高安全性、容量和效率。
ADS-B 的工作原理:
-
基于 GPS:飞机从卫星导航获取精确位置。
-
广播数据:通过 1090 MHz 或 978 MHz 频率传输位置、高度、速度和 ID。
-
地面和空中接收:地面站和其他飞机接收这些信号。
-
无需询问:与雷达不同,它不需要来自地面的信号来触发响应。
关键组件:
-
ADS-B Out:指飞机将飞机状态数据传输到地面站和其他飞机。ADS-B Out 在许多受控空域中是强制性的,并且构成了现代空中交通监视的支柱。
-
ADS-B In:指飞机接收交通和天气信息,通常显示在驾驶舱、塔台 HMI 中,以提高飞行员和塔台 ATC 人员的态势感知能力。
ADS-B 的优势:
-
更高的安全性:更准确和频繁的位置更新降低了空中相撞的风险。
-
更高的容量:精确的跟踪使飞机能够安全地更靠近地运行,从而提高空域利用率。
-
经济高效:ADS-B 地面基础设施的部署和维护通常比雷达系统便宜。
-
态势感知:飞行员直接在驾驶舱中接收实时交通和天气信息。
标准 ADS-B 消息帧长 112 位,由五个主要部分组成,如下所示:
+----------+----------+-------------+------------------------+-----------+
| DF (5) | CA (3) | ICAO (24) | ME (56) | PI (24) |
+----------+----------+-------------+------------------------+-----------+
在此项目的当前版本 (v_0.2.3) 中,我们尚未实现 ADS-B 消息编码和解码部分,我们将在未来的版本中添加这些功能。
详细的消息信息请参考此链接:https://mode-s.org/1090mhz/content/ads-b/1-basics.html
航空网络靶场中模拟的 ADS-B 数据
在航空网络靶场环境中,仅实现了 ADS-B 数据和行为的选定子集。目标是模拟基本的操作信息流,而不是完全复制经过认证的航空电子系统。
模拟的 ADS-B Out 数据(飞机 → 地面站/其他飞机)
以下飞机状态信息由模拟飞机广播:
| 索引 | ASD-B 值名称 | 数据描述 |
|---|---|---|
| 0 | 当前飞行模式 ID | 飞机标识符和活动飞行模式。 |
| 1 | 当前 ATC 状态 | 飞机的运行状态,例如:着陆、悬停、等待、起飞、滑行、进入区域、加油。 |
| 2 | GNSS 位置信息 | 从模拟卫星导航输入导出的飞机纬度和经度坐标。 |
| 3 | 当前高度 | 飞机相对于平均海平面的垂直位置,通常以英尺表示。 |
| 4 | 飞机航向方向 | 飞机机头指向的方向,以相对于正北的度数表示。 |
| 5 | 对地航向 (COG) | 飞机在地面上的实际移动方向,以相对于正北的度数表示。 |
| 6 | 对地速度 (SOG) | 飞机相对于地面的水平速度,通常以节表示。 |
| 7 | 空速 | 飞机相对于周围气团的速度。 |
| 8 | 燃油状态 | 飞机的剩余燃油量,表示为当前燃油容量和剩余燃油总量百分比 |
模拟的 ADS-B In / 类似 ACARS 的数据(地面站 → 飞机)
地面站汇总机场运营和环境数据,并将其广播给附近的飞机,在概念上类似于 ADS-B In 和 ACARS 信息服务。
机场运营信息
| 索引 | ASD-B 值名称 | 数据描述 |
|---|---|---|
| 0 | 机场标识符 | 唯一的机场代码(例如,ICAO 样式的标识符),用于将广播信息与特定机场和空域相关联。 |
| 1 | 跑道进近 GPS 位置 | 定义跑道进近点或阈值的地理坐标。 |
| 2 | 当前交通和 ATC 运营状态 | 机场交通状况和 ATC 状态的汇总表示。 |
机场天气数据作为地面站广播的一部分提供,以支持飞行安全和运营规划。
机场天气信息
| 索引 | ASD-B 值名称 | 数据描述 |
|---|---|---|
| 0 | 地面风 | 报告为方向(真北度数)和速度(通常以节为单位,有时以米/秒为单位)。 |
| 1 | 水平能见度 | 以米为单位(国际标准),表示物体可识别的最大水平距离。 |
| 2 | 跑道视程 (RVR) | 一种仪器导出的值,表示飞行员可以看到跑道的水平距离,通常在能见度降至 1 英里或 1,500 米以下时报告。 |
| 3 | 天空状况(云) | 包括云量(少量、零散、破碎、阴天)和云底高度(以地面以上 (AGL) 数百英尺为单位)。 |
| 4 | 气温 | 以整数摄氏度报告。 |
| 5 | 高度表设置(压力) | 站点处的当前气压,飞行员用于校准飞机高度表。以百帕 (hPa) 为单位测量。 |
| 6 | 降水 | 雨 (RA)、毛毛雨 (DZ)、雪 (SN)、雪粒 (SG)、冰丸 (PL)、冰晶 (IC) 和冰雹 (GR)。 |
| 7 | 遮蔽物 | 雾 (FG)、薄雾 (BR)、霾 (HZ)、烟 (FU)、火山灰 (VA) 和灰尘 (DU)。 |
地面站 ADS-B 控制器设计
地面站 ADS-B 控制器是航空网络靶场的中央协调组件,负责集成空域和地面飞机监视数据、机场运营状态和环境传感器信息。它连接了物理世界模拟层、ADS-B 通信层和塔台 ATC HMI,从而实现了真实的空地信息交换,同时仍然适用于数字实验和网络安全分析。
下图显示了模拟地面站 ADS-B 系统的端到端工作流程,突出显示了 ADS-B Out(绿色表示飞机监视)和 ADS-B In(橙色表示机场信息广播)数据路径。

网络靶场中的地面站 ADS-B 系统由四个主要模块组成,每个模块代表现实世界机场基础设施中常见的不同功能域。
Google Weather Info Fetcher 模块
此模块定期连接到Google Weather服务,以根据机场配置的地理位置(城市)检索实时气象数据。提取的数据用作网络靶场的外部环境输入,并转发到航空物理世界模拟器以进行传感器级别的抽象。
航空物理世界模拟器
物理世界模拟器模拟机场环境和周围空域,包括:
-
生成 ADS-B Out 消息的模拟飞机
-
用于消息接收和广播的地面 ADS-B 天线
-
机场交通跟踪器
-
风传感器
-
空域天气状况跟踪器
-
天气雷达和天气计量装置
该模块将外部天气数据和飞机状态变化转换为类似传感器的读数,从而为 ADS-B 控制器提供真实的输入,而无需依赖物理硬件。
地面站 ADS-B 控制器 (PLC)
地面站 ADS-B 控制器代表系统的 OT 控制逻辑层。它使用 Python IEC 62541 OPC-UA-TCP Virtual PLC Simulator 框架实现:https://www.linkedin.com/pulse/python-virtual-plc-simulator-iec-62541-opc-ua-tcp-protocol-liu-pm1pc,该控制器执行以下核心功能:
-
从物理世界模拟器接收飞机 ADS-B 衍生信息
-
收集和处理天气传感器和雷达数据
-
将操作和环境数据转换为 ADS-B / ACARS 风格的信息
-
将所有数据同步到结构化的 OPC UA 地址空间
-
将实时信息发布到塔台 ATC HMI
-
将机场 ADS-B 信息发送回 ADS-B 天线以进行广播
机场塔台 HMI ADS-B 显示面板
机场塔台 ATC HMI 通过 OPC UA 从 ADS-B 控制器检索所有 ADS-B 和天气信息。在解码和格式化数据后,HMI 在三个主要显示面板上呈现信息:
-
雷达显示面板 – 可视化当前受控空域内的所有相关 GNSS 位置的飞机。
-
飞机 ADS-B 信息面板 – 显示向机场地面站报告的每架飞机的详细 ADS-B 数据。
-
机场天气 ADS-B 面板 – 显示机场 B 级空域内的天气和环境条件。
地面站 ADS-B 系统工作流程
详细的系统工作流程在下图中用不同的步骤标记:

地面站 ADS-B 输出工作流程
模拟的 ADS-B 输出工作流程 (Aircraft → Ground Station → ATC HMI) 侧重于从飞机流向地面站并转发到 ATC HMI 的飞机监视数据。该过程包括以下步骤:
-
步骤 01 – 生成飞机 ADS-B 信息:航空物理世界模拟器根据每架模拟飞机的当前运行状态(位置、高度、速度、航向、燃料状态和 ATC 状态)生成 ADS-B 输出信息,如模拟的 ADS-B 输出数据模型中所定义。
-
步骤 02 – ADS-B 数据转换和预处理:生成的 ADS-B 消息由模拟的 ADS-B 天线接收,并由机场交通跟踪器进行预处理。这些消息被转换为简化的 ACARS 风格的消息格式,并使用 UDP 传输到 ADS-B 控制器,模拟轻量级航空数据链路。
-
步骤 03 – 数据存储和 OPC UA 同步:ADS-B 控制器将其内部存储器寄存器中存储转换后的飞机数据,并将其与统一架构地址空间同步,使其他程序可以访问该数据。
-
步骤 04 – 在 ATC HMI 上显示 ADS-B 信息:塔台 ATC HMI 使用 OPC-UA 客户端连接到控制器,将飞机 ADS-B 信息解码为人类可读的形式,并在雷达显示器和飞机信息面板上将其可视化。
地面站 ADS-B 输入工作流程
模拟的 ADS-B 输入工作流程 (Weather & Airport Information → Aircraft) 模拟如何收集、处理机场运行和环境信息并将其广播到受控空域内运行的飞机。该过程包括以下步骤:
-
步骤 05 – 获取实时天气信息:天气信息获取器根据机场配置的位置从 Google Weather 服务检索实时气象数据,并通过 UDP 将其转发到物理世界模拟器。
-
步骤 06 – 将天气数据分配给模拟传感器:物理世界模拟器处理接收到的天气数据,并将其映射到各个 ADS-B 相关参数(风、能见度、云况、温度、降水)。这些值被分配给模拟的天气传感器和雷达单元,以模拟真实的传感器读数。
-
步骤 07 – 将天气数据存储在 ADS-B 控制器中:ADS-B 控制器读取天气传感器输出,将其转换为 OPC UA 兼容的数据结构,并将其存储在 PLC 存储器中,同时同步统一架构地址空间。
-
步骤 08 – 在 ATC HMI 上显示天气信息:塔台 ATC HMI 通过 OPC UA 检索机场天气 ADS-B 数据,并在专用天气信息面板上显示,从而为操作员提供实时态势感知。
-
步骤 09 – 数据组合和 ACARS 消息生成:ADS-B 控制器聚合存储的机场运行数据和天气 ADS-B 信息,将其转换为统一的 ACARS 风格的机场 ADS-B 消息,并准备好用于广播的数据。
-
步骤 10 – 将机场 ADS-B 信息发送到天线:统一的机场 ADS-B 信息从控制器通过 UDP 发送到模拟的 ADS-B 天线。
-
步骤 11 – 将机场 ADS-B 信息广播到飞机:物理世界模拟器执行 ADS-B 广播程序,模拟飞机接收机场 ADS-B 信息,然后将其显示在其机载 ADS-B 可视化界面上。
ADS-B 信息的用户界面显示
为了支持用户在航空网络靶场中直观地观察和分析 ADS-B 数据流,以便跟踪从数据源 → 控制器处理 → 运行可视化的 ADS-B 信息,该系统提供了两个互补的用户界面层:
-
物理世界模拟器 ADS-B 显示 – 侧重于原始数据生成、传感器级行为和消息形成。
-
塔台 ATC HMI ADS-B 显示 – 侧重于运行态势感知、交通监控和决策支持,类似于真实的空中交通管制环境。
物理世界模拟器 ADS-B 显示
在航空物理世界模拟器中,ADS-B 相关信息在“天气和 ADS-B”操作显示笔记本下可视化,如下图所示。

该显示器由两部分组成:
实时天气信息窗格
此面板显示从 Google Weather Information Fetcher Module 检索的原始实时天气数据。数据显示在转换为传感器读数或 ADS-B 兼容参数之前,从而更容易验证外部数据源并观察环境变化。
-
显示的信息通常包括:
地面风向和风速、能见度和天空状况、气温、高度表气压和降水指标。
ADS-B 消息显示面板
ADS-B 消息显示面板提供模拟环境中交换的 ADS-B 消息内容的直接视图,并分为两个逻辑部分:
-
ADS-B 输出部分:显示模拟飞机生成的 ADS-B 输出消息,反映飞机状态信息,例如位置、高度、速度、航向和运行状态。 -
ADS-B 输入部分:显示地面站 ADS-B 控制器生成并准备广播到飞机的天气和机场 ADS-B 消息。
塔台 ATC HMI ADS-B 信息显示
塔台 ATC 控制 HMI 代表航空网络靶场的操作员界面。它按照 Retro-ADSB-Radar 项目的视觉和交互设计原则实现,将经典的雷达风格可视化与现代数据面板相结合。通过选择 雷达和 ATC 监控 选项卡,操作员将看到三个主要的 ADS-B 信息面板。(如下图所示)

雷达 ADS-B 范围显示面板
雷达 ADS-B 范围提供受控空域的雷达风格可视化,在机场雷达背景上叠加实时飞机标记。
-
每个飞机标记代表:
飞机位置(基于 GNSS)、地面航迹 (COG)和相对速度和移动方向。 -
此面板是监控交通流量、间隔和空域占用情况的主要态势感知工具。
飞机 ADS-B 信息面板
飞机 ADS-B 信息面板提供基于列表的、面向细节的 ADS-B 数据视图,这些数据通过 OPC UA 从地面站 ADS-B 控制器接收。
-
显示的典型信息包括:
飞机标识符、飞行模式 ID、当前 ATC 运行状态、高度、航向、空速、地速、燃料状态和其他飞机特定参数。 -
此面板通过为每架飞机提供精确的数字和基于状态的信息来补充雷达范围
机场天气 ADS-B 显示面板
机场天气 ADS-B 显示面板显示由地面站广播的处理后的机场天气和运行信息。
-
显示的信息包括:
地面风向和风速、跑道视程和能见度、天空状况和云量、气温、高度表设置、降水和遮蔽指标。 -
此面板允许 ATC 操作员快速评估影响机场运行、进近程序和交通排序的环境条件。
结论和参考
总而言之,该项目成功地在航空网络靶场环境中实现了地面站 ADS-B 控制器的功能模拟。通过对核心数据采集、处理和广播逻辑进行建模,并通过 OPC UA 将其与物理世界模拟器和塔台 ATC HMI 集成,该系统提供了一个真实但精简的平台,用于理解 ADS-B 工作流程。此实现为进行实践操作技术 (OT) 安全培训、系统行为分析以及专注于现代航空监视和通信系统的网络安全实验提供了有价值的基础。
参考:
-
https://www.faa.gov/about/office_org/headquarters_offices/avs/offices/afx/afs/afs400/afs410/ads-b
-
https://www.linkedin.com/pulse/python-virtual-plc-simulator-iec-62541-opc-ua-tcp-protocol-liu-pm1pc
Thanks for spending time to check the article detail, if you have any question and suggestion or find any program bug, please feel free to message me. Many thanks if you can give some comments and share any of the improvement advice so we can make our work better ~
Merry Christmas and Happy New Year ~
last edit by LiuYuancheng ([email protected]) by 26/12/2025 if you have any problem, please send me a message.
No comment for this article.