暗渡陈仓:用低消耗设备进行破解和渗透测试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的示例。

上一篇:jqGrid细节备注—jqGrid有很多事件


下一篇:[20120216]查看数据库整体性能问题sql语句.txt