Version: 1.01 September 25, 2009
By: darkAudax
Translation: 高剑
介绍
大家常常问这样的问题,“我有model ABC的无线网卡,它与aircrack-ng兼容吗?”,“我应该买什么无线网卡?”或者“我的无线网卡能入侵吗?”等等。这个教程就是为了回答这些问题。
首先,在回答这些问题之前,这里涉及了一些你自己应该完成的工作(即了解必要的基础知识)。不要轻易地把问题放到论坛上,等待回答。如果你没有做好你自己该做的,那么没人会帮助你。但是如果你做好了,大家会尽全力去帮助你的。
如果你打算购买无线网卡,那么最简单的方法就是从支持的卡的列表中选择你要买的。如果你打算购买列表中没有的卡,那么你需要用教程里的方法去测试,看它能否运行aircrack-ng。
另外,我想说的是,这里还有很多可以兼容的卡没有被列出来。请你在测试成功后,把你那种列表之外的卡发布到论坛上。这是唯一我们能扩充那个列表的方法。当你在论坛发布时,请提供卡的制造厂商,模型,可用的修改版本(card revision if applicable),芯片和你用的是什么驱动。
言归正传,以下是我们要进行的步骤:
1. 决定你的需要和限制。
2. 学习无线网卡的基础。
3. 决定芯片。
4. 检测芯片兼容性。
5. 决定驱动和需要的补丁。
6. 选择无线网卡。
决定你的需要和限制
首先决定你是仅仅想监听无线网络还是在监听的同时再渗透数据包。这点特别重要,windows只能监听无线网络,而不能渗透数据包。这是其本身的限制。同样,能与windows兼容的卡也特别少。
所以你需要在此做出决定:
你想用哪个操作系统。
你喜欢的硬件型号。
你需要哪种功能(监听或渗透数据包)。
在该教程后面,这些将成为限制。
学习无线网卡的基础
这里有两种与制造无线网卡有关的厂商。第一种就是生产卡本身的。比如有Netgear, Ubiquiti , Linksys and D-Link等。另外还有很多。
第二种就是制造无线网卡芯片的。这是最需要知道的一类公司。不幸的是,有时这是最难辨别的。这是因为制造商往往不愿意透露自己的卡内使用的是什么芯片。然而,对我们来说,最重要的就是知道芯片的制造商。知道之后,我们才能决定哪种操作系统能支持,需要什么驱动,还有与它有关的限制等。
了解这两种制造商的不同是相当重要的。只是知道卡的制造商和模型的话,是不能让你继续进行下去的。你真正需要知道的是芯片的制造商。下一步将教你如何判别你卡中或你将要买的卡中的芯片。
决定芯片
好吧,这是最难的部分。我先声明,在这步中,你需要自己去调查,才能获得成功。另一方面,如果你够幸运,你的卡已经在列表中了或者你在下面找到了所有你需要的信息。
如果你没那么幸运,那么你首先要了解你卡里的芯片。这可以通过下面的几招来做到:
1. 搜索“<your card model> chipset”or“<your card model> linux”。一般来说,你能搜到你卡里芯片的手册或者是别人对其使用的经验。这是最简单也是最容易成功的决定芯片的方法。但是,多看一下搜索出来的结果,确定它们都是一致的。
2. 在论坛上搜索。
3. 可以在windows的驱动文件夹里寻找。
4. 到制造商的主页去看看,那往往说明了他们用的是什么芯片。
5. 例如像PCI这类卡,你可以直接在电脑上观察无线网卡,寻找它的商标,如Atheros, Texas Instruments等。芯片的产品号也是很有用的。
6. 所有在美国出售的无线网卡都需要Federal Communications Commission( FCC )的认证。这些设备同时也在全世界发售。每个设备需要有FCC的认证ID在它们的商标上。如果你有这个ID,那么你可以用FCC ID Search来查询设备的详细信息。它会为你提供设备的制造商,模型,和芯片。这个网站提供这方面的信息http://transition.fcc.gov/oet/ea/。
以下是一些帮助你选择芯片的资源:
Madwifi compatibility list
Wireless Adapter Chipset Directory nearly the best resource for this kind of information
Atheros chipsets based wireless 802.11a/b/g devices only Atheros-based cards
WLAN Adapter Chipset Directory not up-to-date but still very useful
Atheros Communications Total 802.11 Product Search
Hardware Comparison with a lot of details.
Overview and details about wireless adapters
USB Product ID lookup For USB devices, obtain the device id via
the linux lsusb command and then look it up via the product id. This is the first half of the device id before the
colon. E.g. 0bda:8187. Use “0bda” then match the “8187” to entries found.
卡的制造商在同样型号和编号的卡里用不同的芯片来增加我们判断的难度。这就是为什么我们会听到一个卡有不同版本的原因。D-Link公司便经常这么做。所以,先决定以上的判定方法是否适用于你的卡。卡的版本可以看卡的标签,和序列号,MAC地址。看这里有一样的卡,但是不同版本的例子。
如果你用的是linux,这还有大量的获得卡的信息的方法,甚至了解芯片。以下列出了这些方法:
1.dmesg命令往往能显示已检测到得卡和芯片的信息。
2.如果是ISA卡,那你就。。。不幸。
3.如果是PCI卡,你需要用lspci -nn命令来显示卡的认证码(identification strings)。有时候,比如装Broadcom芯片的卡,这样就能得到芯片的信息了。-nn选项便能让PCI的认证码显示出来。Atheros卡的PCI认证码一般像这样,“168c:0013”。一旦你有了PCI认证码,你就可以通过很多网站来查询芯片的信息,例如 http://pciids.sourceforge.net/ 或者 http://www.pcidatabase.com/ 。你可以去其他的网站查询。同时,需要的和正在使用的内核模块也会显示出来。这些都很有利于辨认芯片。
4.如果硬件是USB卡,你需要用lsusb命令来查看USB的认证码。有时候,这个命令会不起作用(比如,USB文件系统尚未挂载),另外,你还可以用dmesg命令来查看内核日志来得到认证码(或者在/var/log/messages)。
5.如果卡是卡片式总线的(32位的Pcmcia),而且如果你在用最近的内核(2.4.X或更高)和Pcmcia内核子系统,你需要用lspci -nn命令来得到卡的认证码。如果卡是卡片式总线的(32位的Pcmcia),而且如果你用以前的内核和独立的Pcmcia子系统,你需要用cardctl ident命令来得到认证码。这两个命令都试试吧,看看有什么结果。
6.如果卡是卡片式总线的(16位),而且你用2.6.14或以上版本的内核,你需要用pccardctl ident命令来得到认证码。如果卡是卡片式总线的(16位),而且你用以前的内核,你需要用cardctl ident命令来得到认证码。注意,cardmgr也会将一些认证码写入/var/log/daemon.log,但是这里的认证码可能和实际的认证码有所出入。
7.lsmod命令能用来加载模块,如果无线网卡能自动检测,那么你可以退回去,在已加载的模块的基础上判别芯片you can sometimes work backwards based on the loaded modules to determine the chipset.
即使你用windows,你可以通过live CD进入linux,然后用以上方法来检测芯片。
在windows环境下,用硬件分析工具,比如HWINFO来获得芯 片的信息。
如果你还是找不出你的无线网卡用的是什么芯片的话,那你就倒霉咯。你要么去买列表上已经有的卡或者去找符合你标准的卡,然后买下来。
一旦你知道了芯片的信息,你就可以继续下一步了。
核实芯片兼容性
用那个列表来决定你将用芯片为特定操作系统所提供的哪种特性。
如果这已经满足你的需求,那很好。如果没有,考虑换一个操作系统,或者是换一种无线网卡。
如果你常用windows,但是你又喜欢linux的一些特性,那么你可以用linux的live CD。这样你可以在这两个世界里尽情发挥。
下一步是决定驱动和需要的补丁。
决定驱动和需要的补丁
驱动列表来为你的芯片与操作系统决定一款适合你的驱动。这个站点有需要的驱动软件的链接。
一般来说,对linux,你需要为驱动打补丁,以获得如监控模式和渗透功能。大多数补丁可以在这个链接找到。记住,你将需要内核的头文件,还有,一般,内核源代码要在驱动之前编译。
这个教程不会对如何为你的系统打补丁做详细描述。
如果你没有能力或经验打补丁,那么,可以考虑用BackTrack发行版的linux,一个已经打好驱动补丁的系统。
选择无线网卡
相反地,如果你知道什么芯片能提供你想要的特性,你可以通过卡的兼容列表来找到并使用它。
同样的,这个教程也会告诉你,你想买的卡是否能够提供你想要的功能。