Aircrack-ng之Airodump-ng命令

描述

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

其中:

  • CH 9 ]:当前的信道
  • [ Elapsed: 1 min ]:已经运行的时间
  • [ 2007-04-26 17:41 ]:当前日期
  • [ WPA handshake: 00:14:6C:7E:40:80:在侦测到WPA/WPA2握手包的时候会显示,表示成功捕捉到接入点MAC地址为00:14:6C:7E:40:80的握手包
    在上面的例子中,”36-24”表示:

  • 第一个数字表示上一次从接入点到客户端的数据传输速率,即36Mbits/s

  • 第二个数字表示上一次从客户端到接入点的数据传输速率,即24Mbits/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,而不是整个数据包。注意在以下两种情况下不适用:

  1. 抓取WPA/WPA2握手包
  2. 用PTW攻击WEP

如何选择所有以相似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命令。

得到很少或得不到数据

  • 确保使用了”-c”或者”–channel”选项来选定一个具体的信道,否则airodump会在信道之间跳变。
  • 保证离接入点足够近
  • 保证网卡已经用airmon-ng开启了monitor模式
    对于madwifi-ng驱动的网卡:
    需要保证没有其他VAPs在运行,已经存在一个managed模式下的VAP时,再创建一个新的monitor模式的VAP可能会产生问题,我们应该先停掉ath0,然后启动wifi0:
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停止工作
两种解决方法:

  1. 在使用airodump-ng之前改变速率
  2. 重启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。以下是一些可能的原因,以及解决方法:

  • “managed”模式上有多个接口,这些接口正在尝试搜寻和连接接入点。在使用aircrack-ng套装的时候,不要使用任何命令,进程,或者程序来连接接入点。
  • 其他的进程在改变信道。比较常见的一个原因是网络管理员。我们可以使用airmon-ng check来检查影响正常工作的进程,然后用kill或者killall命令来结束这些进程。如:使用killall NetworkManager && killall NetworkManagerDispatcher来消除网络管理员。
  • 如果我们使用的是madwifi-ng驱动,并且又创建了不止ath0这一个接口,那么驱动则有可能自动扫描其他接口。可以通过停掉除ath0以外的其它接口来解决这个问题。
  • 我们同时在运行wpa_supplicant,则需停掉wpa_supplicant
  • 在airodump-ng运行的同时,使用airmon-ng设定了信道
  • 运行了不止一个airodump-ng,并且被设定在不一样的信道
  • 还可能是我们不能使用该信道,如一个只支持信道1-11的网卡,我们却试图将其设定到13
  • 最后有一个bug也可能是导致问题的原因,参见[这里](http://trac.aircrack-ng.org/ticket/742

输出文件在哪
运行了airodump-ng,但是却找不到输出文件了。首先,保证自己使用的命令会创建文件(即:使用-w或者-write加上文件的前缀名)。默认情况下,文件会在airodump-ng的运行目录中。可在使用airodumo-ng的时候,使用”pwd”显示当前路径。记录下这个路径,以便随后找到输出文件。可使用cd命令,直接到这个目录查看。

当然也有方法将文件输出到特定的目录当中,那就是在文件前缀名前加上绝对路径。例如:我们假设现在需要将文件输出到”/aircrack-ng/captures”中。那么首先我们需要创建这个文件夹(如果这个文件夹并不存在的话),然后使用的命令-w的部分应该是”-w /aircrack-ng/captures/< file prefix >”。

你可能感兴趣的:(Aircrack-ng)