专栏首页黑白安全USRP从入门到追踪飞机飞行轨迹

USRP从入门到追踪飞机飞行轨迹

请自觉遵守无线电管理法规,依法设置和使用无线电设备

USRP是数款流行的SDR硬件中功能和应用都相对成熟的一款产品,从WIFI协议、ZigBee协议、RFID协议、GSM通信系统、LTE 4G通信系统到飞机通信、卫星通信USRP都能很好的进行支持。软件开发工程师可以用它开发应用,安全工程师则用它来测试、研究相关的无线通信协议。

很大一部分玩过电视棒的小伙伴都使用过电视棒+dump1090的方案实现过追踪飞机飞行轨迹这一功能。之所以能够很容易的跟踪飞机,是因为航空CNS(通信导航监视)系统里大量采用非常古老的无线标准。

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

在通用航空当中ADS-B信号经常在978MHz发射,在商业飞行中ADS-B信号经常在1090MHz发射。

0×01 HardWare

PC:Ubuntu OR Mac

SDR:USRP、天线、USB数据线

0×02 Software

2.1安装pip、pybombs

apt-get update

apt-get install git

apt-get install python-pip

pip install --upgrade pip

pip install git+https://github.com/gnuradio/pybombs.git

pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git

pybombs prefix init /usr/local -a myprefix -R gnuradio-default

pybombs install gqrx gr-osmosdr uhd

以上内容是Ubuntu下安装SDR相关软件的方法,在Mac OSX中则可以使用mac port 进行安装。

2.2下载USRP镜像

使用pybombs安装完UHD(USRP Hardware Driver)后还需下载固件镜像以及FPGA镜像,执行:

python /usr/local/lib/uhd/utils/uhd_images_downloader.py

插入USRP后可执行:

uhd_find_devices

或者

uhd_usrp_probe

来查看设备信息:

2.3编译安装gr-air-modes:

git clone https://github.com/bistromath/gr-air-modes

cd gr-air-modes

mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

2.4 安装谷歌地球

Ubuntu 32 bit:

wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_i386.deb

Ubuntu 64 bit:

wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_amd64.deb

sudo dpkg -i google-earth-stable_current_amd64.deb

Mac osx:

wget https://dl.google.com/earth/client/advanced/current/GoogleEarthMac-Intel.dmg

0×03 解码飞机信号&导入谷歌Earth

cd gr-air-modes/apps/

./modex_rx -K test.kml

执行App目录下的modex_rx,开始接收并解码来自飞机的1090MHz无线信号,-K参数即把解码到的航班号、经纬度、飞行速度等等保存为.kml文件。

打开谷歌地球:添加–>网络链接–>

新建链接名称,以及kml文件的绝对路径:

设定刷新时间,以及是否在刷新时前往该视图:

如果开启刷新前往视图后,google-earth会自动定位到你所在的区域并显示接收到区域上空的飞机。

(飞机飞行轨迹 3D)

地图上显示飞机的航班号,双击飞机图标可以显示该飞机高度、飞行速度等信息。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谷歌更新 Play 应用市场开发者审查政策 明确禁止挖矿应用上架

    谷歌今日对旗下 Play Store 应用市场的开发者政策进行了更新,禁止了更多种类的应用发行上架,包括进行加密币挖矿、包含“破坏性”广告等应用,但通过远程控制...

    C4rpeDime
  • 病毒知多少 防御我最先

    网络的日益普及也造就了病毒的泛滥成灾,比较著名的有AV终结者、下载者、灰鸽子……其实病毒也没大家想象中的那么可怕,只要对病毒有些了解,即使在中毒后也能采取相应的...

    C4rpeDime
  • 身份证最后一位算法

    排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。  1、地址码    表示编码对象常住户口所在县(市、旗、区)的行政区域...

    C4rpeDime
  • Git 暂存修改文件 取消暂存

    序:Git 已经用了不少年了,起步用的SourceTree ,所以对命令不是很熟悉,最近换了台电脑,索性不按sourceTree了,总结下命令行。

    ZY_FlyWay
  • python 特征选择①

    VarianceThreshold 是特征选择中的一项基本方法。它会移除所有方差不满足阈值的特征。默认设置下,它将移除所有方差为0的特征,即那些在所有样本中数值...

    用户1359560
  • 两台W7系统的电脑,A电脑可以ping通B电脑,B电脑ping不通A电脑。

    https://zhidao.baidu.com/question/1946500242424659908.html

    墨文
  • Java日志框架性能比较

    贾博岩
  • Flask中对MySQL的基本操作

    skylark
  • 前端开发真的没有后端工资高?

    这是来自知乎的问题,是一个大二学生问的,说老师在讲课时说,从工资来看,后端开发要比前端高,并且说,掌握公司核心技术的都是后端。他问事实是否真的如此,然后问该如何...

    用户1272076
  • 前端开发真的没有后端工资高?

    这是来自知乎的问题,是一个大二学生问的,说老师在讲课时说,从工资来看,后端开发要比前端高,并且说,掌握公司核心技术的都是后端。他问事实是否真的如此,然后问该如何...

    程序员宝库

扫码关注云+社区

领取腾讯云代金券