HackRF实现ADS-B飞机信号跟踪定位

硬件平台:HackRF One
软件平台:MAC运行环境搭建
系统平台:OS X 10.11 EI Capitan
文章特点:捕捉程序支持HackRF One且基于MAC平台验证通过有效。



1. 原理概述

之所以能够很容易的跟踪飞机,是因为航空CNS(通信导航监视)系统里大量采用非常古老的无线标准.因为航空业巨头们建立了一整套适航规定,飞机上任何一点小小的改动若想获得广泛的应用是非常麻烦的,更不要说对CNS系统的升级换代.

CNS系统中大量采用脉冲体制以及明文传输,因此我们得以很容易的监听飞机以及地面站发射的信号,并解码.脉冲体制的含义是,通信的基本方式是大功率的脉冲,瞬间功率上千瓦,持续us量级,信息承载在脉冲的位置和相对强度中.

比如二次监视雷达(SSR)系统,地面站发射1030MHz的查询信号,飞机接收到此信号之后在1090MHz发射应答信号,信号中包含了飞机的一些信息,显示在空管的雷达屏幕上.还有空中防撞系统(TCAS),飞机可以自己发射1030MHz的查询信号,其他飞机接收到此信号之后在1090MHz发射应答信号,因此一架飞机得以"看到"周围的飞机.由于以上的查询-应答模式在飞机很多的时候显得效率不是那么高(碰撞,干扰等等),因此新出现了一种ADS-B方式.

在ADS-B中,每架飞机不等查询,主动广播自己的信息,这时监视和防撞需要做的就仅仅是接收了.在通用航空当中ADS-B信号经常在978MHz发射.在商业飞行中ADS-B信号经常在1090MHz发射(和SSR和TCAS发射频率相同,即复用物理层数据链).(通用航空可类比与私家车,商业飞行可类比与公交车长途大巴). 欲知这些CNS系统详情,请在en.wikipedia.org搜索Secondary surveillance radar, TCAS,ADS-B等.

电视棒为何能接收飞机发射的信号?本来他们看起来风马牛不相及的.首先电视棒是能收电视信号的(废话),但能收电视信号不意味着就能收飞机.
得益于微电子技术和通信技术的飞速发展,目前接收电视信号(包括模拟电视和数字电视)一般由两颗芯片来完成,一颗称之为tuner,另外一颗为解调器.tuner的作用是将指定频率和带宽的信号进行放大,下变频,滤波等,送给解调器芯片.解调器芯片首先把信号进行A/D采样数字化,而后根据想要接收的电视制式进行相应的运算处理,输出视频码流,声音,数据等电视台播发的信息.

因为各种系统的工作频率不同,生产tuner的厂家为了使自己的芯片能够一次投产多次使用长期销售,他们将tuner芯片设计的能覆盖很宽的频带并且能设置不同的接收带宽.而后根据用户需求和政府的无线电规则在不同的产品里开启某些频段,禁用某些频段. 如果tuner被破解,那么就有办法开启它所有频段的接收能力,包括在1090MHz上接收信号.

剩下的就是解调器,电视棒里的解调器当然无法解调飞机发射的信号,但解调器当中对tuner送来的信号进行A/D采样,这个采样功能是解调任何信号所必须的,当然也可以用来采样飞机发射的信号.通过破解电视棒的driver,tuner的信号被解条器进行A/D采样数字化之后被直接通过USB接口送给电脑,使得我们能在电脑上处理原始的tuner信号采样,即用电脑软件担当解调器的任务.加之航空CNS标准是公开的(脉冲位置,相对幅度等),信息是明文的,因此编制解调软件即可正确解调飞机发射的信号了.

以上用计算机软件进行通信信号解调的方法就是所谓的"软件无线电"(Software Defined Radio -- SDR).

实际上软件无线电技术的研究和开发已经有几十年的历史了,最初源于美军的多制式电台项目. 目前我们日常使用的移动通信系统中其实已经大量使用软件无线电技术, 比如基站中的信号处理大量的使用可编程的FPGA和DSP完成, 比如手机当中的基带处理器也越来越多的采用软解调的方法(少数运算量特别大实时性要求特别高的模块除外,比如turbo解码器,扩频相关器等,这些模块往往在基带处理器中嵌入一些高度定制化"硬"核来实现)

2. ADS-B信号解调软件安装

dump1090这个程序可以配合电视棒实时在google map上显示飞机位置和飞行方向,而且是动态更新的,同时在命令行提供各飞机跟踪的详细信息.

1. 下载和安装dump1090.

软件是开源的,下载链接(用版本管理软件git下载):

$ git clone https://github.com/itemir/dump1090_sdrplus.git
$ make

2. 运行命令:

$ ./dump1090 --aggressive --net --interactive

这时候一般应该能在命令行看到实时更新的飞机信息了(如果天线靠近窗户或者在室外,而且附近有航线或机场)

3. 打开浏览器,输入:

[http://127.0.0.1:8080/]

google map会自动打开(记得挂代理), 右侧栏会看到目前地图上飞机的数量和航班号等信息.

地图上看不到?不要急,你需要手工把地图平移缩放到你所在地点周围,你就能看到箭头样子的飞机了.

下图是在室内抓到的四架飞机:4个黄色箭头,选中标黑的刚离开禄口机场飞向北方

2.2 其他解调软件安装及使用 (可选,主要可记录航迹)

安装gr-air-modes:

OS X下执行:port install gr-air-modes 即可一键自动化安装

Linux编译安装

$ git clone https://github.com/bistromath/gr-air-modes.git
$ cd gr-air-modes
$ gedit README & 查看安装方法

在README中给了需要预安装的软件包:

=================================
REQUIREMENTS

gr-air-modes requires:

* Python >= 2.5 (written for Python 2.7, Python 3.0 might work)
** NumPy and SciPy are required for the FlightGear output plugin.
* Gnuradio >= 3.5.0
* Ettus UHD >= 3.4.0 for use with USRPs
* osmosdr (any version) for use with RTLSDR dongles
* SQLite 3.7 or later
* CMake 2.6 or later

其中NumPy and SciPy are required for the FlightGear output plugin.和Ettus UHD >= 3.4.0 for use with USRPs我们这里暂时用不到.

Linux编译安装:

$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install
$ sudo ldconfig

成功执行后,飞机解调软件的可执行文件已经安装于/usr/local/bin

3. 解调数据/飞机轨迹的可视化

如果想详尽研究该解调软件的用法,请命令行输入modes_rx --help

如果现在就想接收飞机信号,那么请靠近窗口,天线尽可能靠近屋外,运行:

$ modes_rx --gain=60 --output-all --rtlsdr --kml=xxx.kml

可以用--gain调整增益,我的经验是增益高一些接收能力强一些。

xxx.kml是把接收到的飞机航班号位置高度信息等存为kml文件的文件名.

正常情况下你应该从命令行打印能实时看到很多飞机的信息了.收集一会儿之后,关掉程序(ctrl + C), 把那个kml文件导入google earth或者其他能导入kml文件的地图网站/软件,就能看到飞机轨迹了.

linux下一个看kml的程序是gpsprune, 请自行安装. apt-get, 软件中心, synaptic都行.

可以把kml导入地图查看的一个网站是 gpsies.com

备注:其实也可以用hackrf_transfer直接采样1090Mhz频段数据,再导入dump1090或其他软件实现样本分析

时间: 2024-09-20 11:46:14

HackRF实现ADS-B飞机信号跟踪定位的相关文章

234个Android 应用程序正在使用超声信号跟踪用户信息

本文讲的是234个Android 应用程序正在使用超声信号跟踪用户信息,近日,一组来自德国布伦瑞克工业大学(Brunswick Technical University)的安全研究人员发现,目前有234个Android 应用程序正在利用行动装置的麦克风来接收用户周围环境的超声波信号,来跟踪用户的行动. 超声波跨设备追踪技术(uXDT)越来越受欢迎 uXDT技术实现的基础是广告商隐藏于广告中的超声波信号.当广告在电视或广播中播放时,或者是广告代码在移动设备或计算机中运行时,它会发射出超声波信号,而

永不消逝的电波(二)HackRF入门:家用无线门铃信号重放

0×00 前言 在第一篇文章:永不消逝的电波(一):无线电入门篇 我们了解了一下无线电的发展史以及无线电的一些物理知识,在第二篇里我们将用HackRF录制家用门铃的无线信号,然后重放门铃信号. 门铃从某宝买的,如图: 0×01 环境搭建: MAC下可以用gqrx和hackrf (需要有Xcode.Mac Port的支持) sudo port install gnuradio sudo port install hackrf sudo port install rtl-sdr sudo port

非传统扫描-获取 IO写完成时-'信号', 定位更新文件, 技术交流~

问题描述 获取 IO写完成时-'信号', 定位更新文件, 技术交流~ 大家好, 请问有研究过获取 IO写操作完成时, 即close关闭文件的那一触发信号 及 定位该文件具体? 其目的: 能快速 实时的知道 具体哪个文件进行了更新~(而非其它传统做法的, 扫描比较~) 我正想对 fclose 进行修改, 其中加点触发代码~ 发点类似广播什么的~ 重新编译并替换原库. 这样改被动为 主动~ 那些有更新的文件, 主动过来告诉我 说, "我更新了, 赶紧扫描我吧~" 不知各位 有了解/接触 过

iOS 8扫描WiFi信号时使用随机MAC地址以减少跟踪

iOS 8 设备在扫描 Wi-Fi 信号时,系统会使用随机的伪装 MAC 地址直到用户确认与某个信号建立连接为止.这在一定程度上保护了用户在公共网络下的隐私安全.而在国外已经有不少公司专门为大型商城提供信号跟踪技术来发掘精确到个人的用户数据.跟踪用户行为与进行有 针对性的营销推广等.不知道苹果这是在为用户的隐私保驾护航呢还是为 iBeacon 的普及而清除障碍?

美国国会将调查智能手机定位跟踪问题

追问焦点 苹果iPhone手机究竟跟踪.储存.使用或分享了哪些用户位置信息?相应理由? 苹果收集用户行踪信息是否会引发用户行踪被暴露?有技术解决方案么? 相关回应 诺基亚:用户位置信息仅储存在手机中,只有在用户开启相关功能时才会被收集发送 谷歌:所有传送给谷歌服务器的个人位置信息都是匿名的,也不能被反追踪到某位特定用户 目前进展 已计划于5月10日安排一场关于移动设备保护隐私问题的听证会,要求苹果和谷歌派代表发言 多国相关部门已分别开始对智能手机"跟踪定位"事件展开调查 美国苹果公司i

ARVR设备关键技术之空间监测和定位

一.目前ARVR产品的现状 市场上已经上市的ARVR产品并不少,价格从几十元的Cardboard到上万元的Hololens,用户体验差异落差很大.先说VR产品,整体来说可以分成如下这几类: 1. Cardboard产品 这类产品是最简单的VR产品,来源于谷歌的纸盒VR盒子,简单地说就是用两个凸透镜把手机分屏显示的内容,投射到眼镜,借助于手机内置的IMU来判断用户头部的运动姿态来调整VR显示内容的运动方向.这类产品在2015年国内大量的白牌开始出货,但VR整体效果都取决于手机的配置和光学镜头的质量

飞机失去联系后可能遭遇什么情况?

编者按: http://www.aliyun.com/zixun/aggregation/38399.html">马来西亚往北京航班失去联系牵动人心,腾讯科技连线了两位不具名的航空公司机长,就可能遭遇的情况进行分析. 网友"麦麦": 请问,起飞后的飞机如果是坠海,为何会突然并长时间失去信号?飞机有可能遭遇哪些情况? 腾讯科技: 失去联系或因发生事故 1.飞机长时间失去联系有可能是机组失能.比如由于飞机慢释压机组故障未察觉而导致飞机全员缺氧休克,但是一般情况下乘务组要求要

小心,家中路由器发出的WiFi信号可能让你家变“透明”

连接没有密码的公共WiFi时,有可能会泄露你电子设备中的部分信息.不过,你可能做梦都想不到,你自己家的无线路由器也有可能让你家变得"透明"--家中的空间结构可能将一览无遗. 4月28日,科学杂志报道称,物理学家首次使用WiFi发射机的无线电波,编码制作了真实物体的3D图像的全息图.这一幕和<星球大战>里莱娅公主用全息图向欧比旺求助的场景类似.原则上,这种技术可以仅通过使用室内泄露出的WiFi信号,就能让室外的人"看到"室内.不过,有研究者称,这种&quo

机房定位漏水与非定位漏水的区别?

前言 随着我国邮电.金融系统在机房管理上的日趋完善,无人值守集中监控系统得到了广泛应用,实现了对各种环境设备.动力设施的绿色控制,各种设备得到合理.有效地应用,其中泄漏检测也逐渐成为监控系统中必不可少的组成部分.无人值守机房是集数据采集.故障报警.设备控制等为一体的集中监控系统.高综合性.高使用效率就要求监控系统对所有可能发生的故障作好防范应急措施.漏水事故的检测报警就是其中重要的一项内容.而在大型的机房中,监测漏水的点会有很多,这时候怎样快死定位漏水的位置并作出及时有效的处理就变得极为重要了.