你所要使用的软件工具,同这些支持软件运行的硬件一样重要,所以一提到硬件的选择,世界上最好的无线网卡和芯片组肯定是你的首选。不过,也有例外,那就是如果控制硬件的驱动程序根本就不知道你想要什么,然后把驱动程序做得一塌糊涂,那就另当别论了。

本节会介绍一些目前可用的驱动程序和它们所控制的芯片组,以及装有芯片组的网卡。这里着重强调Linux驱动程序是因为这将是当前绝大多数开发中会遇到的。

1.3.1 Linux内核简介

在对无线通信提供支持方面,Linux操作系统的内核常常招来相当坏的评价。事情是这样子的,一般来说,老一代芯片组都会为自己提供独立的驱动程序,每个驱动程序自成一体,形成“孤岛设计”,程序本身也不向其他驱动程序共享任何东西,也不需要将其他驱动程序作为自己的先决条件。可是,在Linux内核开发中,驱动程序几乎没有独立性,每个驱动程序都需要与其他的独立单元一起合作才能生效,因此对其的批评声遍布于整个内核开发中,每个人都希望会好起来。

这样做有很大的弊端,既然驱动程序间要相互协作,所以每次要统一编译,如此一来,每个驱动程序都携带约数千行代码,并且每个驱动程序中已实现的功能,又都被其他驱动程序重复实现。如果驱动程序编写者有某种标准化的“应用程序接口”(API)[1]可供驱动程序调用来处理这些问题,那么他们的工作将变得更加容易,并且可以用更少的工作来维护这些核心代码。类似于驱动程序所用的代码,无非是诸如身份验证、系统配置,以及信道选择等几乎所有驱动程序都必然会用到的共同功能。

这种共享的代码库最终被设计出来,称为“802.11堆栈”。Linux开发人员认为实现两次是一个好主意,但也许三次更好,这取决于你想怎么来计算次数。无论如何,总有一段极度粗制滥造期,编写者希望他们的驱动程序被包括在主驱动树结构中,就写了又写。最后事情尘埃落定,大家也平静下来,在伟大的“802.11堆栈设计战”[2](802.11 stack war)中,“mac80211驱动框架”脱颖而出,成为赢家,而其他竞争者(特别是ieee80211)被戏称为“折旧”而扔进了大垃圾堆中。

由于现在只有一个标准化的Linux 802.11堆栈,所以许多老掉牙的、与802.11堆栈没有依赖关系的独立驱动程序都被改写,合并到驱动树结构中。不过,为了保持兼容,并不是所有驱动程序都必须符合“802.11堆栈”的要求,这意味着,虽然仍有一些“老爷车”式的历史遗留式的驱动程序(包括那些为特定的无线攻击而进行优化的补丁类驱动程序),那些成绩平平的入侵类驱动程序仍然可以在不做任何修改的情况下,编译到你的内核中。

具体来说,本书中所有提到的攻击方式,都是以功能集驱动程序的方式在栈结构实现的,并且全部都添加在上面提到的“mac80211驱动框架”树状结构中。对于具有特征的攻击方式中,凡是在未打补丁的“mac80211驱动框架”的驱动程序找不到的,统统都会在本书中明确地告知,类似的驱动程序有ath9k和iwlwifi。这就是说,之后绝大多数的攻击技术,并不需要读者做深度挖掘和提供补丁程序之后才能使用,而是在最原始的Linux版本的内核上就可以使用。除非另有说明,否则本书中所有的攻击方式,都是运行在没做任何修改的,版本等于或高于3.3.8的内核中。

1.3.2 芯片组和Linux驱动程序

每个网卡都需要有芯片。虽然市场上有数百种形状各异的网卡,但其实这些网卡所用的芯片也只是少数的几个,所以大多数的网卡因为使用了同一芯片,而可以使用相同的驱动程序,它们通常情况下也都是这么做的。因为对于驱动程序软件来说,即使不同的网卡,只要使用的是相同芯片,那么软件所看到的都是一致的。唯一真正的区别在于网卡有什么样的功率输出,或天线插孔的类型和可用性。所以,对于从事无线攻击的人员来说,选择购买什么样的网卡,首先要做的是决定要什么样的芯片组。

提示

许多网卡广告宣称支持某些功能,例如支持802.11n和802.11ac。但请务必记住的是,使用这些功能,需要芯片组硬件和驱动程序软件的通力合作才能实现。许多Linux驱动程序在一些尖端技术上,是落后于最先进技术的,对于网络入侵,我们最需要关注的是802.11ac。如果你关心新功能的兼容性问题,一定要仔细检查驱动程序的支持程度。

1.驱动程序中想要的特定功能

任何无线驱动程序都有两个非常渴望的功能。显然,其中最重要的一个功能是“监测模式”(详见前面的1.2.2节)。另一个需要驱动程序一起实现的功能是“数据包注入”(packet injection)。数据包注入 是指在一个在线网络中,通过大量发送任意格式数据包,进而影响该网络原有功能的能力。这种能力允许重现网络上的数据通信,加快对“有线等效保密协议”的统计袭击;也允许注入“解除认证数据包”(deauthentication

本站所有小说均来源于会员自主上传,如侵犯你的权益请联系我们,我们会尽快删除。
本站所有小说为转载作品,如有侵权,联系xs8666©proton.me
Copyright © 2024 23小说网 Baidu | Sm | xml