RTL-SDR之飞机追踪linux篇[kali linux]

演出开始前,我们来认识下我们今天的主角。掌声有请我们的主角儿们,啪啪啪啪啪啪...

好的,Kali linux是我们今天必须要用到的,两外一个就是博主花重金请来的RTL-SDR电视棒一枚。至于他们的来自,身份呢博主就不一一介绍了,想必对他们有兴趣的,早已对他们有过了解,那我们就进入正题吧。

kali linux 1.0.9a 64位 , RTL-SDR电视棒一个,芯片是RTL2832U,合照来一发

qq截图20150206101817.jpg - 大小: 202.2 KB - 尺寸:  x  - 点击打开新窗口浏览全图
博主在虚拟机中操作,至于如何在虚拟机中使用USB,博主在GSM Sniffer那篇文章中已经说过,操作简单。

要在Linux下面实现飞机的追踪,我们需要一款软件,网上很多相关的文章介绍实现的方法都非常的繁琐,需要安装各种环境,博主这儿推荐一种非常简单的方法,非常简单。首先我们插入我们的电视棒(RTL-SDR),共享USB给虚拟机之后,执行

lsusb
查看下USB是否正确
qq截图20150206102248.png - 大小: 27.24 KB - 尺寸: 664 x 137 - 点击打开新窗口浏览全图
接下来安装dump1090这个软件,首先我们建立一个文件夹,免得混乱
mkdir sdr
使用git克隆源码到虚拟机然后编译
cd sdr
git clone https://github.com/antirez/dump1090.git
cd dump1090/
make

[2015-08-27更新 kali 2.0 64位 --开始]

然而,报错

# make
Package librtlsdr was not found in the pkg-config search path.
Perhaps you should add the directory containing `librtlsdr.pc'
to the PKG_CONFIG_PATH environment variable
No package 'librtlsdr' found
cc -O2 -g -Wall -W  -c dump1090.c
dump1090.c:46:21: fatal error: rtl-sdr.h: 没有那个文件或目录
 #include "rtl-sdr.h"
                     ^
compilation terminated.
Makefile:9: recipe for target 'dump1090.o' failed
make: *** [dump1090.o] Error 1


一眼看上去,似乎是缺少什么包,那就安装下

apt-get install librtlsdr
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  gr-fcdproplus libairspy0 libbladerf0 libgnuradio-fcdproplus0 libmirisdr0 libosmosdr0
使用'apt-get autoremove'来卸载它(它们)。
将会安装下列额外的软件包:
  librtlsdr-bin
下列软件包将被【卸载】:
  gqrx gr-osmosdr kali-linux-full kali-linux-sdr kalibrate-rtl libgnuradio-osmosdr0.1.3 librtlsdr0
  python-rtlsdr rtl-sdr rtlsdr-scanner
下列【新】软件包将被安装:
  librtlsdr librtlsdr-bin
升级了 0 个软件包,新安装了 2 个软件包,要卸载 10 个软件包,有 0 个软件包未被升级。
需要下载 65.5 kB 的软件包。
解压缩后将会空出 3,634 kB 的空间。
您希望继续执行吗? [Y/n] 


OK,安装完成之后继续执行make,依然报错,依然是上面的错误,郁闷,不过没关系,折腾嘛,怕啥,我们来搜索下有没有类似的包,这里用apt-cache来搜索,得到如下搜索结果

apt-cache search sdr
airspy - Tiny and efficient software defined radio receiver
bladerf - nuand bladeRF software-defined radio device (tools)
cutesdr - simple demodulation and spectrum display program
freedv - Software Defined Radio (SDR)
gpsbabel - GPS file conversion plus transfer to/from GPS units
gqrx - Software defined radio receiver powered by GNU Radio
gqrx-sdr - Software defined radio receiver
gr-iqbal - GNU Radio Blind IQ imbalance estimator and correction
gr-osmosdr - Gnuradio blocks from the OsmoSDR project
hackrf - Software defined radio peripheral
heartbleeder - test servers for OpenSSL CVE-2014-0160 aka Heartbleed
ipmitool - utility for IPMI control with kernel driver or LAN interface
kali-linux-sdr - Kali Linux SDR tools
killerbee - Framwork for ZigBee exploitation
libbladerf-dev - nuand bladeRF software-defined radio device (header files)
libbladerf0 - nuand bladeRF software-defined radio device
libgnuradio-osmosdr0.1.3 - Gnuradio blocks from the OsmoSDR project
libmirisdr-dev - Software defined radio support for Mirics hardware (library)
libmirisdr0 - Software defined radio support for Mirics hardware (development files)
libosmosdr-dev - Software defined radio support for OsmoSDR hardware (library)
libosmosdr0 - Software defined radio support for OsmoSDR hardware (development files)
librtlsdr-dev - Software defined radio receiver for Realtek RTL2832U (development files)
librtlsdr0 - Software defined radio receiver for Realtek RTL2832U (library)
libuclmmbase1 - UCL Common Code (Multimedia) Library
libuclmmbase1-dev - UCL Common Code (Multimedia) Library - development
lysdr - Simple software-defined radio
lysdr-dbg - Simple software-defined radio -- debugging symbols
miri-sdr - Software defined radio support for Mirics hardware (tools)
osmo-sdr - Software defined radio support for OsmoSDR hardware (tools)
python-rtlsdr - Python wrapper for librtlsdr
qthid-fcd-controller - Funcube Dongle controller
quisk - Software Defined Radio (SDR)
rtl-sdr - Software defined radio receiver for Realtek RTL2832U (tools)
rtlsdr-scanner - Python frequency scanning GUI for the OsmoSDR rtl-sdr library
sdrangelove - Osmocom Software Defined Radio
texlive-latex-extra - TeX Live: LaTeX additional packages
vtun - virtual tunnel over TCP/IP networks
gr-scan - Scans a range of frequencies and prints a list of discovered signals
libcupsdriver1 - Common UNIX Printing System(tm) - Driver library
libcupsdriver1-dev - Common UNIX Printing System(tm) - Development files driver library
libgnuradio-osmosdr - GNU Radio osmosdr block
libgnuradio-osmosdr-apps - GNU Radio osmosdr applications
libgnuradio-osmosdr-dev - GNU Radio osmosdr block
librtlsdr - Software to turn the RTL2832U into a SDR
librtlsdr-bin - Software to turn the RTL2832U into a SDR binaries
librtlsdr-doc - Software to turn the RTL2832U into a SDR documentation


仔细找找确实有很多关于sdr的软件包,上面错误中提到的软件包也在里面并且已经安装了,尝试安装dev版本的试下,

apt-get install librtlsdr-dev 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  gr-fcdproplus libairspy0 libbladerf0 libgnuradio-fcdproplus0 libmirisdr0 libosmosdr0
使用'apt-get autoremove'来卸载它(它们)。
将会安装下列额外的软件包:
  librtlsdr0
下列软件包将被【卸载】:
  librtlsdr librtlsdr-bin
下列【新】软件包将被安装:
  librtlsdr-dev librtlsdr0
升级了 0 个软件包,新安装了 2 个软件包,要卸载 2 个软件包,有 0 个软件包未被升级。
需要下载 57.1 kB 的软件包。
解压缩后会消耗掉 47.1 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://http.kali.org/kali/ sana/main librtlsdr0 amd64 0.5.3-3kali1 [27.0 kB]
获取:2 http://http.kali.org/kali/ sana/main librtlsdr-dev amd64 0.5.3-3kali1 [30.1 kB]
下载 57.1 kB,耗时 4秒 (12.4 kB/s)      
(正在读取数据库 ... 系统当前共安装有 342148 个文件和目录。)
正在卸载 librtlsdr-bin (0.5.0-1kali2) ...
正在卸载 librtlsdr (0.5.0-1kali2) ...
正在处理用于 libc-bin (2.19-18) 的触发器 ...
正在选中未选择的软件包 librtlsdr0:amd64。
(正在读取数据库 ... 系统当前共安装有 342131 个文件和目录。)
正准备解包 .../librtlsdr0_0.5.3-3kali1_amd64.deb  ...
正在解包 librtlsdr0:amd64 (0.5.3-3kali1) ...
正在选中未选择的软件包 librtlsdr-dev。
正准备解包 .../librtlsdr-dev_0.5.3-3kali1_amd64.deb  ...
正在解包 librtlsdr-dev (0.5.3-3kali1) ...
正在设置 librtlsdr0:amd64 (0.5.3-3kali1) ...
正在设置 librtlsdr-dev (0.5.3-3kali1) ...
正在处理用于 libc-bin (2.19-18) 的触发器 ...


OK,安装完成之后继续执行make编译,

make
cc -O2 -g -Wall -W -I/usr/include/ -I/usr/include/libusb-1.0  -c dump1090.c
cc -O2 -g -Wall -W -I/usr/include/ -I/usr/include/libusb-1.0  -c anet.c
cc -g -o dump1090 dump1090.o anet.o  -lrtlsdr -lusb-1.0  -lpthread -lm
/usr/bin/ld: cannot find -lusb-1.0
collect2: error: ld returned 1 exit status
Makefile:12: recipe for target 'dump1090' failed
make: *** [dump1090] Error 1
好了,报错,报错并不可怕,仔细阅读错误信息就能解决.这里已经没有提示找不到sdr的包了,少了另外一个包-lusb-1.0,那我们就安装下
apt-get install libusb-1.0-0
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
libusb-1.0-0 已经是最新的版本。
libusb-1.0-0 已设置为手动安装。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
这里提示libusb已经是最新版,一般遇到这种情况我们可以尝试安装dev版本的,好的,试下
apt-get install libusb-1.0-0-dev 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  libusb-1.0-doc
下列【新】软件包将被安装:
  libusb-1.0-0-dev libusb-1.0-doc
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 185 kB 的软件包。
解压缩后会消耗掉 1,449 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://http.kali.org/kali/ sana/main libusb-1.0-0-dev amd64 2:1.0.19-1 [64.7 kB]
获取:2 http://http.kali.org/kali/ sana/main libusb-1.0-doc all 2:1.0.19-1 [120 kB]
下载 185 kB,耗时 23秒 (7,921 B/s)       
正在选中未选择的软件包 libusb-1.0-0-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 342095 个文件和目录。)
正准备解包 .../libusb-1.0-0-dev_2%3a1.0.19-1_amd64.deb  ...
正在解包 libusb-1.0-0-dev:amd64 (2:1.0.19-1) ...
正在选中未选择的软件包 libusb-1.0-doc。
正准备解包 .../libusb-1.0-doc_2%3a1.0.19-1_all.deb  ...
正在解包 libusb-1.0-doc (2:1.0.19-1) ...
正在设置 libusb-1.0-0-dev:amd64 (2:1.0.19-1) ...
正在设置 libusb-1.0-doc (2:1.0.19-1) ...
顺利的安装之后继续编译
 make
cc -O2 -g -Wall -W -I/usr/include/ -I/usr/include/libusb-1.0  -c dump1090.c
cc -O2 -g -Wall -W -I/usr/include/ -I/usr/include/libusb-1.0  -c anet.c
cc -g -o dump1090 dump1090.o anet.o  -lrtlsdr -lusb-1.0  -lpthread -lm
好了,编译成功


[2015-08-27更新 kali 2.0 64位 --结束]

编译完成后我们就可以直接用了,博主这里要提醒一下,展示地图所需要用到谷歌地图,大宋朝不让看他,所以各位看官需要自己先搭好VPN或者挂好代理。我们现在来追踪下飞机。还是进到刚刚的dump1090目录

cd /root/sdr/dump1090
然后执行
./dump1090 --interactive --net

稍等一会你就会看到终端窗口出现一些数据,上面显示了飞机的一些数据

qq截图20150206103356.png - 大小: 26.8 KB - 尺寸: 668 x 150 - 点击打开新窗口浏览全图
最明显的应该是左边的那些带字母和数字的,那个就是航班编号,在搜索引擎里面搜索字母的前两位就知道是哪家航空公司的飞机。要想获得较多的数据,请将天线放置在靠近窗口的位置,以便接收更佳的信号。当然这样看实在是不直观,我们打开浏览器,输入localhost:8080或者在主机中输入虚拟机的IP:8080也可以查看地图。

地图上明确的标出了当前地图上有几架飞机,时速多少,高度多少,地理坐标等信息,而且是时时刷新

qq截图20150206103847.png - 大小: 440.3 KB - 尺寸:  x  - 点击打开新窗口浏览全图
单击一个飞机,可以从侧边栏看到飞机的详细信息。

参考文献:http://zone.wooyun.org/content/4918


如果您觉得文章有帮助到您,请到 https://www.92ez.com/index.php?action=show&id=23403 进行打赏/捐赠,谢谢!
如果您觉得文章有帮助到您,请 使劲戳这里 进行打赏/捐赠,谢谢!
本文链接:https://www.92ez.com/?action=show&id=31
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

上一篇: C118改机完成实测扫描截图
下一篇: RTL-SDR之对讲收听windows篇

访客评论
#1
回复 best 2015-02-06, 2:30 PM
你要小心
你一定要小心:D
#2
回复 试试 2015-08-22, 1:02 PM
在么 .楼主为什么我编译时他显示一个 .o 的文件不存在
回复 GH05T 2015-09-12, 3:48 PM
@试试: 哪个文件?
#3
回复 S1NH 2015-12-26, 8:04 PM
已经是第二次被百度带到这个博客啦,并且还把问题解决了!
还有,很喜欢页面右上角那首歌^_^
回复 GH05T 2015-12-27, 3:53 AM
@S1NH: 感谢支持,对了,你博客有点意思,友链了,有好玩的及时更新哦
#4
回复 李玲燕 2016-09-24, 4:40 PM
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)

Kernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.

usb_claim_interface error -6
Error opening the RTLSDR device: Device or resource busy
安装成功后查看飞机的时候显示如上内容,打不开设备,哪位大神知道是怎么回事吗就?
发表评论

评论内容 (必填):