暗渡陈仓:用低消耗设备进行破解和渗透测试3.1.1 非Linux选择
3.1.1 非Linux选择
坦诚一点说,由于我们期望做出一些有黑客乐趣的,并且可以用于渗透测试的东西,所以几乎可以肯定,我们的终极选择一定是某个Linux版本。即便如此,出于完备性的考虑,这里仍想简短地介绍一下Beagles可用的一些非Linux系统方案,并以此证明这些开发板的超强的通用性。
Windows CE
你可能认为无法在一个开放硬件上运行一个专有操作系统,但是在这儿,真的做到了。如我们所知,BeagleBoard-xM和BeagleBone比很多运行Windows XP的设备拥有更强的计算能力,你也许会疑惑为什么不运行一个完整版本的Windows而是Windows CE(通常被称为WinCE,官方称谓是Windows Embedded Compact。)答案是Windows CE能够通过板级支持包(BPS)运行在ARM架构的设备上,而桌面版的Windows是不兼容ARM架构的。Adeneo(Adeneo Embedded)以德州仪器(Texas Instruments)提供的标准BSP为基础,创建了BeagleBoard-xM的BSP(http://www.adeneo-embedded.com/en/Products/BoardSupport-Packages/BeagleBoard)。根据BeagleBoard.org网站上的评论,人们更喜欢在Beagles上运行一些其他的东西(http://beagleboard.org/project/WinCE7+BSP+for+BeagleBoard-XM/)。如图3.1所示,Windows CE运行在使用7寸Chipsee液晶屏的BeagleBone Black上。
QNX
Beagle系列开发板可以运行QNX Neutrino 实时操作系统(RTOS)(http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html)。实时操作系统是用于那些系统响应时间确定、响应时间尽可能短的嵌入式设备的。一个典型的实时操作系统是轻量级的,并且通过对中断和定时器的支持来与硬件紧密结合。QNX的实时操作系统是一个以微内核设计为特色的系统。这家公司提供了几个参考设计以展示QNX Neutrino(http://www.qnx.com/products/reference-design/ti-reference-design.html)的兼容性。图3.2是运行在BeagleBoard上的QNX智能节能系统参考设计。
图3.1 Windows CE运行在使用7寸Chipsee 图3.2 运行在BeagleBoard上的QNX智能
液晶屏的BeagleBone Black上 节能系统参考设计
FreeBSD
FreeBSD是基于伯克利软件发行版(BSD)的Unix。Linux则基于System V(SysV)版本Unix的,System V是另一个主要的Unix分支。这两种Unix系统的差异足以让用户郁闷。BSD和SysV有很多一样的命令,但是命令参数经常是不一致的。一些安全社区认为BSD系统比SysV系统更安全。如果你是这种说法的支持者的话,很幸运,Beagle系列开发板可以运行FreeBSD(http://beagleboard.org/project/freebsd/)。图3.3所示的是一个运行着FressBSD的Bealge兼容开发板。
图3.3 Bealge兼容开发板运行的FreeBSD
StarterWare
StarterWare是一种什么样的操作系统?从技术角度来讲,它根本不算是一个操作系统。对于一些应用来说,一个完整的操作系统是不必要的。脱离操作系统可以让更多的性能用于应用本身,但这通常是有代价的。你可以想象一个操作系统就像一个漂亮的界面,能够把你从繁杂丑陋的硬件细节中拯救出来。例如,你可以把一个要存储的文件交给操作系统,它会决定使用哪个硬盘扇区,创建一个目录入口点,并且和硬盘控制器进行通信。德州仪器的StarterWare提供了一个功能集合库,这个库提供诸如USB、图形、SPI、GPIO、中断和网络支持,省得那些想要开发裸机应用程序的人一切从头做起。
Android
虽然Android最初是给移动电话开发的,但现在它也成了一种应用广泛的嵌入式操作系统。德州仪器为几个Android版本提供了开发工具包(http://www.ti.com/tool/androidsdk-sitara)。Circuitco公司在他们的网站上提供了安装Android的教程(http://circuitco.com/support/index.php?title=Android)。或许读者知道,Android是基于Linux内核的,很多命令在Android和Linux系统上都可以使用。闲话少说,接下来就讨论那些可以用于BeagleBoard.org开发板的、种类繁多的Linux系统吧。图3.4展现了一个配有Chipsee触控屏的BeagleBone Black运行Android的示例。
相关文章
- 程序员如何既不耽误工作又有时间干业余项目?
- Hadoop分布式文件系统-从RAID说起
- 三类可以让大数据发挥价值的途径
- 企业如何使用大数据对搜索引擎进行优化
- 编码之道:取个好名字很重要
- 企业想要成功布局大数据的七大关键步骤
- iOS9 collectionView新特性
- 小企业开始采用大数据的4个步骤
- 面向过程,面向对象,函数式对同一个问题的思考方式
- 企业现代化改造基础设施,应对GDPR带来的挑战
- 行动贝果结合人工智能技术打造智能分析引擎
- Cookie安全大辩论总结
- TalkingData:全新战略布局,重塑数据智能
- 优秀开发者的最缺的技能不是开发技术
- 数据科学正从这七个方向颠覆金融界
- 给自私自利程序员的10大职业谏言
- 安卓开发笔记——探索EventBus
- 数据科学求职建议:掌握5种类型的数据科学项目
- 为什么 Laravel 会成为最成功的 PHP 框架?
- 攻关克难:大数据系统中的预测技术