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

相关文章
|
28天前
|
Shell Linux C语言
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
33 0
|
28天前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
42 1
|
28天前
|
安全 Shell Linux
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
38 0
|
11天前
|
网络协议 Linux SDN
虚拟网络设备与Linux网络协议栈
在现代计算环境中,虚拟网络设备在实现灵活的网络配置和隔离方面发挥了至关重要的作用🔧,特别是在容器化和虚拟化技术广泛应用的今天🌐。而Linux网络协议栈则是操作系统处理网络通信的核心💻,它支持广泛的协议和网络服务🌍,确保数据正确地在网络中传输。本文将深入分析虚拟网络设备与Linux网络协议栈的关联,揭示它们如何共同工作以支持复杂的网络需求。
|
11天前
|
存储 缓存 固态存储
Linux设备全览:从字符到块,揭秘每种设备的秘密
在Linux的世界里,设备是构成系统的基础,它们使得计算机能够与外界互动。Linux设备可以大致分为几种类型,每种类型都有其独特的特性和用途。🌌让我们一起探索这些设备类型及其特性。
|
28天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 配置鼠标设备的相关设置 mouseconfig命令 使用指南
【Shell 命令集合 系统设置 】Linux 配置鼠标设备的相关设置 mouseconfig命令 使用指南
34 0
|
28天前
|
存储 编解码 Shell
【Shell 命令集合 系统设置 】⭐Linux 设置和调整帧缓冲设备 fbset命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 设置和调整帧缓冲设备 fbset命令 使用指南
28 0
|
28天前
|
存储 安全 Linux
【Shell 命令集合 设备管理 】Linux 更改根文件系统的设备号 rdev命令 使用指南
【Shell 命令集合 设备管理 】Linux 更改根文件系统的设备号 rdev命令 使用指南
29 0
|
7月前
|
安全 Linux 测试技术
如何使用Kali Linux进行渗透测试?
如何使用Kali Linux进行渗透测试?
253 0
|
3月前
|
网络协议 网络安全 Go
Kali下安装渗透测试常用工具dnsx和dirsearch
Kali下安装渗透测试常用工具dnsx和dirsearch
60 0