当前位置: 首页 > news >正文

树莓派打造无线扫描仪.

末笔丶 · 2014/11/10 15:14

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

相关文章:

  • 用“世界上最好的编程语言”制作的敲诈者木马揭秘
  • Docker容器部署时区问题的坑
  • 【转】Tesla Model S的设计失误
  • JavaScript 奇技淫巧
  • 测试经验1_2016-2017
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • EF Core:一统SQL和NoSQL数据库
  • linux----------fedora 27 如何启用输入法
  • 蠢蠢欲动的跳槽季
  • 十二周二次课
  • 【面试题】2018年最全Java面试通关秘籍汇总集!
  • Win8Metro(C#)数字图像处理--2.18图像平移变换
  • 银行卡号编码规则
  • iOS开发:瀑布流效果的实现(使用UICollectionView)
  • 666!中国企业凭人脸识别勇夺“金牌”
  • #Java异常处理
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 2019年如何成为全栈工程师?
  • bootstrap创建登录注册页面
  • Java读取Properties文件的六种方法
  • Java新版本的开发已正式进入轨道,版本号18.3
  • js写一个简单的选项卡
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • mockjs让前端开发独立于后端
  • Python利用正则抓取网页内容保存到本地
  • Redis 懒删除(lazy free)简史
  • Swift 中的尾递归和蹦床
  • 初识MongoDB分片
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Prometheus VS InfluxDB
  • ​第20课 在Android Native开发中加入新的C++类
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ###项目技术发展史
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #控制台大学课堂点名问题_课堂随机点名
  • (Python) SOAP Web Service (HTTP POST)
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)shell中括号的特殊用法 linux if多条件判断
  • *Django中的Ajax 纯js的书写样式1
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .Net core 6.0 升8.0
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET MVC之AOP
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net反编译的九款神器
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .ui文件相关
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @SuppressLint(NewApi)和@TargetApi()的区别