Aircrack-ng之Airodump-ng命令
2015-08-25 12:17
711 查看
描述
Airodump-ng是用来抓包的,尤其适合为破解WEP收集IVs(初始向量),再用这些IVs来破解密码。另外,如果我们的电脑连接有GPS定位装置,那么airodump-ng则能够定位到它所找到的接入点的位置坐标。airodump-ng也能将接入点和客户端的信息写入文件中。用法
在使用airodump-ng之前,我们可先用airmon-ng列出检测到的无线接口。另外,不建议同时使用Kismet和airodump-ng。usage:airodump-ng <options> <interface> [,<interface>,...] Options: --ivs : Save only captured IVs --gpsd : Use GPSd --write <prefix> : Dump file prefix -w : same as --write --beacons : Record all beacons in dump file --update <secs> : Display update delay in seconds --showack : Prints ack/cts/rts statistics -h : Hides known stations for --showack -f <msecs> : Time in ms between hopping channels --berlin <secs> : Time before removing the AP/client from the screen when no more packets are received (Default: 120 seconds) -r <file> : Read packets from that file -x <msecs> : 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 <formats> : 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 <interface>: -1 --write-interval <seconds> : Output file(s) write interval in seconds
Filter options: --encrypt <suite> : Filter APs by cipher suite --netmask <netmask> : Filter APs by mask --bssid <bssid> : Filter APs by BSSID --essid <essid> : Filter APs by ESSID --essid-regex <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 <channels> : Capture on specific channels --band <abg> : Band on which airodump-ng should hop -C <frequencies> : 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,而不是整个数据包。注意在以下两种情况下不适用:
抓取WPA/WPA2握手包
用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停止工作
两种解决方法:
在使用airodump-ng之前改变速率
重启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 >”。
相关文章推荐
- Hierarchical Level of detail
- 人工智能 AI
- Service+AIDL牛刀小试,实现应用间通信
- xcode7报错:does not contain bitcode
- 【转】[LeetCode] Factorial Trailing Zeroes
- 010_leetcode Container With Most Water
- Command-cat, tac, file, history, tree,tee…
- 转载Rain Man 怀仁怀朴,唯真唯实。的随记
- 在OnPaint中必须调用一次BeginPaint和EndPaint,且也只能调用一次
- aix5.3和aix6.1的VMO参数对比
- QWaitCondition解决打印日志卡的问题
- Fail-fast的原因及解决方法
- Fail-fast的原因及解决方法
- AIZU2303marathon match 概率
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 2)
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 1) B
- 为什么Android每当启动一个新的应用程序时会通过“throw new ZygoteInit.MethodAndArgsCaller(m, argv)”进入ActivityThread的main函数
- Run-Time Check Failure #2 - Stack around the variable 'myTrackbarName' was corrupted.
- 【Linux学习】epoll详解 http://blog.csdn.net/xiajun07061225/article/details/9250579
- Factorial Trailing Zeroes