Airodump-ng是用来抓包的,尤其适合为破解WEP收集IVs(初始向量),再用这些IVs来破解密码。另外,如果我们的电脑连接有GPS定位装置,那么airodump-ng则能够定位到它所找到的接入点的位置坐标。airodump-ng也能将接入点和客户端的信息写入文件中。
在使用airodump-ng之前,我们可先用airmon-ng列出检测到的无线接口。另外,不建议同时使用Kismet和airodump-ng。
usage:airodump-ng [,,...]
Options:
--ivs : Save only captured IVs
--gpsd : Use GPSd
--write : Dump file prefix
-w : same as --write
--beacons : Record all beacons in dump file
--update : Display update delay in seconds
--showack : Prints ack/cts/rts statistics
-h : Hides known stations for --showack
-f : Time in ms between hopping channels
--berlin : Time before removing the AP/client
from the screen when no more packets
are received (Default: 120 seconds)
-r : Read packets from that file
-x : Active Scanning Simulation
--manufacturer : Display manufacturer from IEEE OUI list
--uptime : Display AP Uptime from Beacon Timestamp
--wps : Display WPS information (if any)
--output-format
: Output format. Possible values:
pcap, ivs, csv, gps, kismet, netxml
Short format "-o"
The option can be specified multiple times. In this case, each file format
specified will be output. Only ivs or pcap can be used, not both.
--ignore-negative-one : Removes the message that says
fixed channel : -1
--write-interval
: Output file(s) write interval in seconds
Filter options:
--encrypt : Filter APs by cipher suite
--netmask : Filter APs by mask
--bssid : Filter APs by BSSID
--essid : Filter APs by ESSID
--essid-regex : Filter APs by ESSID using a regular
expression
-a : Filter unassociated clients
By default, airodump-ng hop on 2.4GHz channels.
You can make it capture on other/specific channel(s) by using:
--channel : Capture on specific channels
--band : Band on which airodump-ng should hop
-C : Uses these frequencies in MHz to hop
--cswitch <method> : Set channel switching method
0 : FIFO (default)
1 : Round Robin
2 : Hop on last
-s : same as --cswitch
--help : Displays this usage screen
我们可以将 .cap或者 .dump文件转化为 .ivs文件,或者将他们合并。
airodump-ng显示的每一项分别表示什么意思?
airodump-ng会显示出它所探测出的接入点,并且会显示与之连接的客户端(”stations”)。下面给出一个例子:
CH 9 ][ Elapsed: 1 min ][ 2007-04-26 17:41 ][ WPA handshake: 00:14:6C:7E:40:80
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:09:5B:1C:AA:1D 11 16 10 0 0 11 54. OPN NETGEAR
00:14:6C:7A:41:81 34 100 57 14 1 9 11e WEP WEP bigbear
00:14:6C:7E:40:80 32 100 752 73 2 9 54 WPA TKIP PSK teddy
BSSID STATION PWR Rate Lost Packets Probes
00:14:6C:7A:41:81 00:0F:B5:32:31:31 51 36-24 2 14
(not associated) 00:14:A4:3F:8D:13 19 0-0 0 4 mossy
00:14:6C:7A:41:81 00:0C:41:52:D1:D1 -1 36-36 0 5
00:14:6C:7E:40:80 00:0F:B5:FD:FB:C2 35 54-54 0 99 teddy
其中:
[ WPA handshake: 00:14:6C:7E:40:80:在侦测到WPA/WPA2握手包的时候会显示,表示成功捕捉到接入点MAC地址为00:14:6C:7E:40:80的握手包
在上面的例子中,”36-24”表示:
第一个数字表示上一次从接入点到客户端的数据传输速率,即36Mbits/s
数据项 | 意义 |
---|---|
BSSID | 接入点的MAC地址,在客户端部分,“(not associated)”表示客户端没有连接到任何接入点。在这种没有连接的状态下,它一直会搜寻接入点 |
PWR | 网卡反馈的信号水平,它的数值是驱动决定的,但是离接入点或基站越近,信号数值就会变得越大。如果接入点的PWR是-1,则表示驱动不支持信号水平;如果部分station的PWR是-1,则表示网卡能接收到接入点的数据包,但是却超出了网卡的传输范围。这就意味着我们只能监听到1/2的信息交流。如果所有station都是-1,则表明驱动不支持显示信号水平 |
RXQ | 接收质量,用过去100秒内成功接收到的数据包的百分比表示 |
Beacons | 接入点发出的公告报文的数量,每个接入点每秒大概发送10个公告包(以最低的速率1M),所以通常相距较远时也能收集到它们 |
Data | 捕捉到的数据包的数量(如果是WEP,则是不同IV的数量),包括数据广播包 |
/s | 过去10秒每秒接收到的数据包数量 |
CH | 无线信道(从beacon包中得到),注意:即使固定了信道,有时也会捕捉到其他信道的数据包,这时由于无线电干扰造成的 |
MB | 接入点支持的最大速度。如果MB=11,就是802.1b,如果MB=22,就是802.1b+,更高的就是802.1g。如上图54后的小数点表示支持短前导码,11后面的e表示该网络支持QoS |
ENC | 表示使用的加密算法。OPN表示没有加密,“WEP?”表示不确定是WEP还是WPA/WPA2;WEP表示静态或者动态的WEP,TKIP或者CCMP表示WPA/WPA2 |
CIPHER | 检测出的密码体系,CCMP,WRAP,TKIP,WEP,WEP40和WEP104中的一种。虽然不是必须的,但是TKIP通常用于WPA,CCMP常用于WPA2。当键字索引大于0时,会显示WEP40。(40位时,索引可以是0-3;104位时,索引需为0) |
AUTH | 使用的认证协议。GMT(WPA/WPA2 使用单独的认证服务器),SKA(WEP共享密钥) ,PSK(WPA/WPA2 预共享密钥),或者OPN(WEP开放认证) |
ESSID | 无线网络名称。也叫“SSID”,如果开启SSID隐藏模式,则此项为空。在这种情况下,airodump-ng会尝试通过探测响应和关联请求恢复SSID |
STATION | 每一个已连接或者正尝试连接用户的MAC地址,还没有连接上接入点的用户的BSSID是“not associated” |
Lost | 过去的10秒钟丢失的数据包数量 |
Packets | 用户发出的数据包数量 |
Probes | 用户探测的无线网络名称,如果还没有连接那么它是用户正尝试连接的网络名称 |
注:
RXQ补充
它测量的是所有的管理和数据帧,接收到的数据帧含有一串接入点添加的数字。RXQ=100表示所有从接入点发出的数据包都被接收到,没有丢失。我们假设现在RXQ=100,所有的10 beacons / s都能被接收,突然RXQ减小到90,beacons不变,这就说明接入点正在向一个我们不能监听的用户发送数据。另一件可能的事情是,我们用一个11MB的网卡来监听捕捉数据帧,并且与接入点距离很近,接入点被设置为54MBit。然后同样地,RXQ变小了,这时我们需要知道至少有一个54MBit的用户连接到了接入点。最后,RXQ列只有在固定信道的时候才会显示。
Lost补充
此列表示丢失的来自用户的数据包,丢失数据包可能的原因有:
在捕获数据的同时运行aircrack-ng
为了加速破解的时间,可在运行airodump-ng的同时运行aircrack-ng。这样就可以在捕捉数据的同时进行破解。Aircrack-ng会周期性地读取所捕获的数据,所以会一直利用所能利用的新IVs。
将数据捕获限定在一个接入点
可以使用”– bssid”这个参数选项将数据捕捉限定在一个接入点。后面跟所选接入点的MAC地址。如:
airodump-ng -c 8 - -bssid 00:14:6C:7A:41:20 -w capture ath0
如何减少存储数据所需磁盘空间
可以在命令中包含”–ivs”选项,如:
airodump-ng -c 8 - -bssid 00:14:6C:7A:41:20 -w capture - -ivs ath0
这样就会只存储IVs,而不是整个数据包。注意在以下两种情况下不适用:
如何选择所有以相似BSSID开头的接入点
我们假定现在想捕捉所有BSSID以 “00:1C:10”开头的接入点。我们用”-d” / “–bssid”参数选项来表示我们需要匹配的BSSID,其他部分用0扩充;再用”-m”/”-netmask”参数选项来表示我们需要匹配的位置信息。如我们匹配以”00:1C:10”开头的BSSID,就需要以下命令:
airodump-ng -d 00:1C:10:00:00:00 -m FF:FF:FF:00:00:00 wlan0
如何选定特定的信道或者单个信道
参数”–channel”(-c)可以让我们来选择单个或者特定的信道
选择单个信道的例子:
airodump-ng -c 11 wlan0
对于在单个信道时需要重置的网卡:
airodump-ng -c 11,11 wlan0
选择一些特定信道:
airodump-ng -c 1,6,11 wlan0
包含客户端和接入点的文本文件
每次运行airodump-ng命令时,如果带有写IVs或者完整数据包的参数,一些文本文档就会被创建并写道磁盘中。他们有相同的名称和后缀”.csv”(CSV文件),”kismet.csv”(Kismet CSV文件),”kismet.netxml”(Kismet新核netxml文件)。CSV文件包含有接入点和客户端的详细信息,可查看kismet官方文档获得详细信息,下面给出一个例子:
BSSID, First time seen, Last time seen, channel, Speed, Privacy, Cipher, Authentication, Power, # beacons, # IV , LAN IP, ID-length, ESSID, Key
00:1C:10:26:22:41, 2007-10-07 12:48:58, 2007-10-07 12:49:44, 6, 48, WEP , WEP, , 171, 301, 0, 0. 0. 0. 0, 5, zwang,
00:1A:70:51:B5:71, 2007-10-07 12:48:58, 2007-10-07 12:49:44, 6, 48, WEP , WEP, , 175, 257, 1, 0. 0. 0. 0, 9, brucey123,
00:09:5B:7C:AA:CA, 2007-10-07 12:48:58, 2007-10-07 12:49:44, 11, 54, OPN , , , 189, 212, 0, 0. 0. 0. 0, 7, NETGEAR,
Station MAC, First time seen, Last time seen, Power, # packets, BSSID, Probed ESSIDs
00:1B:77:7F:67:94, 2007-10-07 12:49:43, 2007-10-07 12:49:43, 178, 3, (not associated) ,
没有得到接入点或者客户端
如果使用的是笔记本内置的无线网卡,需要确保它在bios中被打开或启动了。如果网卡在使用airodump-ng之前没有工作在managed模式,那就不是和airodump-ng相关的问题,需要先让网卡正常工作起来。可以参见这篇关于madwifi-ng的文章。尽管不是一种科学的方法,但有时候卸载和重新加载驱动会解决问题。需要使用rmmod和modprobe命令。
得到很少或得不到数据
airmon-ng stop ath0
airmon-ng start wifi0
或者:
wlanconfig ath0 destroy
wlanconfig ath create wlandev wifi0 wlanmode monitor
Airodump-ng在WEP和WPA之间变化
这样的现象会发生是因为,网卡的驱动没有丢弃损坏的数据包(其中含有无效的CRC)。如果是ipw2100,那就没救了,可以换一张网卡。如果是prism2,可以尝试升级firmware。
Airodump-ng在一段时间后停止捕捉数据
最常见的原因是一个连接manager正在系统运行,使网卡退出了monitor模式。所以我们在使用aircrack-ng套装中的命令之前,需要先停掉所有的连接manager。通常,禁止掉就应该可以了,但有时不得不将其停掉,则使用airmon-ng命令来完成:
airmon-ng check kill
现在的linux发行版使用upstart命令,它会自动地重启网络管理员。同样我们需要保证wpa_supplicant没有运行。还有一个可能的原因是电脑由于节约电能而休眠,此时需要检查电源选项。atheros芯片的madwifi-ng驱动(r2830)有一个bug会导致当网卡处于信道跳变模式时,停止捕捉数据。解决方法是使用r2834或以上版本的驱动。
隐藏的SSID”
wlan.fc.type_subtype == 0 (association request)
wlan.fc.type_subtype == 4 (probe request)
wlan.fc.type_subtype == 5 (probe response)
当改变注入速率时,airodump-ng停止工作
两种解决方法:
错误信息:”fixed channel”
如果airodump-ng显示的第一行信息类似于下面:
CH 6 ][ Elapsed: 28 s ][ 2008-09-21 10:39 ][ fixed channel ath0: 1
这表明我们在一个固定的信道上使用airodump-ng,然而有其他的一些进程正在改变信道。左边的”CH 6”是airodump-ng启动时所选的特定信道。 右边的”fixed channel ath0: 1”表示在启动airodump-ng时,使用了ath0接口,然而接口现在工作在信道1(而不是信道6)上。信道的变化还有可能是信道扫描造成的。
所以要解决这个问题,我们必须先要消除导致问题的原因,然后重启airodump-ng。以下是一些可能的原因,以及解决方法:
输出文件在哪
运行了airodump-ng,但是却找不到输出文件了。首先,保证自己使用的命令会创建文件(即:使用-w或者-write加上文件的前缀名)。默认情况下,文件会在airodump-ng的运行目录中。可在使用airodumo-ng的时候,使用”pwd”显示当前路径。记录下这个路径,以便随后找到输出文件。可使用cd命令,直接到这个目录查看。
当然也有方法将文件输出到特定的目录当中,那就是在文件前缀名前加上绝对路径。例如:我们假设现在需要将文件输出到”/aircrack-ng/captures”中。那么首先我们需要创建这个文件夹(如果这个文件夹并不存在的话),然后使用的命令-w的部分应该是”-w /aircrack-ng/captures/< file prefix >”。