0x00 什么是SDR?
"软件无线电"(Software Defined Radio -- SDR). 实际上软件无线电技术的研究和开发已经有几十年的历史了,最初源于美军的多制式电台项目. 目前我们日常使用的移动通信系统中其实已经大量使用软件无线电技术, 比如基站中的信号处理大量的使用可编程的FPGA和DSP完成, 比如手机当中的基带处理器也越来越多的采用软解调的方法(少数运算量特别大实时性要求特别高的模块除外,比如turbo解码器,扩频相关器等,这些模块往往在基带处理器中嵌入一些高度定制化"硬"核来实现) 首先要先选择一根支持rtl-sdr的电视棒.就是采用RTL2832u(频率范围为64-1700mh)解调芯片的.价格无疑方面是最便宜的无线电(SDR)硬件设备. 普通的电视棒当然不能把原始信号送给电脑,不过用了rtl2832芯片的电视棒被破解了,可以把原始信号送给电脑,这样就可以用电脑分析解调任意信号而不是局限于电视信号了。
0x01 树莓派+SDR 会发生什么呢?
先安装必须的依赖项:
#!bash
sudo apt-get update
sudo apt-get install cmake build-essential python-pip libusb-1.0-0-dev python-numpy git
# 下载rtl-sdr的
cd ~
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL\_UDEV\_RULES=ON -DDETACH\_KERNEL\_DRIVER=ON
make
sudo make install
sudo ldconfig
sudo pip install pyrtlsdr
# 这个时候相关的驱动就装好了.开始使用FreqShow!
cd ~
git clone https://github.com/adafruit/FreqShow.git
cd FreqShow
然后根据情况修改freqshow.py的配置.因为pi的屏幕不同我建议是将下面的注释了.
#!python
# Initialize pygame and SDL to use the PiTFT display and chscreen.
#os.putenv('SDL_VIDEODRIVER', 'fbcon')
#os.putenv('SDL_FBDEV' , '/dev/fb1')
#os.putenv('SDL_MOUSEDRV' , 'TSLIB')
#os.putenv('SDL_MOUSEDEV' , '/dev/input/touchscreen')
pygame.mouse.set_visible(True)
sudo python freqshow.py
这个时候你就拥有了一个树莓派无线扫描仪.
0x02 捕获来自飞机的信号.
能很容易的捕获到飞机是因为中国民航新航行系统(CNS) .1090Mhz在系统里大量采用了古老的无线标准. 因为航空业巨头们建立了一整套适航规定,飞机上任何一点小小的改动若想获得广泛的应用是非常麻烦的,更不要说对CNS系统的升级换代. ADS-B 是广播式自动相关监视系统,亦即一种航空交通监视系统,而且是使用全球性导航卫星系统、航机的航电设备和地面基础设施, 能够在航机和航管地面站 (air-to-ground 即 aircraft to ATS) 或是空对空 (air-to-air 即 aircraft to aircraft) 之间准确和迅速自动地传送飞航讯息; 其中包括有航机的识别、位置、高度、速度和其他数据或资讯。 简单来说 ADS-B 是由航机直接发出的封包,让地面或其他航机可以得知它的位置、高度、速度等资讯。 ADS-B利用112个未加密的脉冲字在978Mhz、1090Mhz发射的信号。然后通过dump1090将捕获到信号信息生成地图
#!bash
cd ~
git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make
./dump1090 –interactive –net
然后访问pi的8080端口.
更详细的操作可以看下面的链接 https://github.com/antirez/dump1090/
0x03 制造出一架飞机?
GNURadio在按照ads-b协议生成信号.可以定义任意的经纬信息. (说到这里应该很多人都懂了)因为没有条件所以就没有机会实践了..只是提供一条思路! 请实践时不要使用1090Mhz. 你该找一个合法的或者足够安全的频率(比如某些敌国卫星的生癖频率),以最最最低的功率发射,使用闭路射频电缆和衰减器,最好在地下室或者暗室玩这个。后果自负!!!!
0x04 SDR收听FM
那个13碎的小黑阔拿到hackrf问我第一个问题就是怎么听FM.我也是醉了.好吧还是说一下怎么使用树莓派+电视棒听FM.
rtl_tcp -a 192.168.X.X(树莓派的IP)
然后电脑客户机下载 http://sdrsharp.com/downloads/sdr-install.zip 解压后运行 install.bat 自动绿色安装生成目录sdrsharp 直接运行 SDRSharp.exe即可。 选择RTL-SDR / TCP, 点击设置输入树莓派的IP.端口1234参数勾选RTL AGC Tuner AGC,Radio那里选择WFM然后点击开始。调整VFO频率就能听到当地的FM了
下面链接是有关收听一些特别的.如网络频率还有..用的频率(有点敏感.所以只放链接)
http://kmkeen.com/rtl-demod-guide/index.html
0x05
文章有部分是摘抄大牛文章的.另外因为电视棒不具有发射的条件..所以想看. 挟持无线麦.伪造X机信号.以及别人所谓的破解汽车..等等的重放攻击.等我(买or做)HACKRF.之后在说吧..
最后希望这篇文章能为你打开一扇大门.通往哪里就看你了..
并忠告各位看客一句.务必遵守当地无线电和航空安全法规否则后果自负!!!!!!
补充LINK
http://www.satsignal.eu/raspberry-pi/dump1090.html
好高级,以后可以试试,话说这个是在官方系统的基础上改造的吗?
小显示屏不错
话说 题主 你是从天蝎第一集里面想到的捕获飞机的信号吗?
http://item.taobao.com/item.htm?_u=d1i7ibsj057a&id=21033664310
有意思,最近在玩板子,但还没看到无线这里,mark下。
HACKRF要3000左右 要是300立马入一个 rtl不能发射 无爱了
树莓pi的ip
然后访问pi的8080端口.....是IP吧
好文章。讲的很明白,学习了
棒子被你玩坏了?先拿三哥的萝卜去用着先把.
嘘........
我没钱给树莓派配声卡.
Wolfson音频卡的售价为33刀
rtl_fm --help 你可以自己研究一下哦.
最后一步你都用电脑了,还用树莓派干什么,有点鸡肋,
应该完全在树莓派上解调才对
那个链接里居然有警用的频段,也就是可以收到条子的通话,可以像韩国电影监视者里的黑老大一样了
买的和题主的棒子一样,结果被我玩坏了,只能收到ADS-B收不到FM