解决aircrack-ng的channel -1问题

1. 问题描述

在使用aireplay-ng发起攻击时出现如下提示

root@zxp-Ubuntu:~# aireplay-ng -0 0 -a E4:D3:32:5F:6E:3C -c 28:E3:1F:C0:83:22 mon0
22:26:18 Waiting for beacon frame (BSSID: E4:D3:32:5F:6E:3C) on channel -1
22:26:18 Couldn’t determine current channel for mon0, you should either force the operation with —ignore-negative-one or apply a kernel patch

笔者测试环境如下:
Ubuntu14.04 64位(内核3.13.0-32-generic)
aircrack-ng 1.1
rtl8187b(系统默认驱动)。

2.问题分析

  1. 打补丁?
    由于笔者以前曾使用过老版本的ubuntu系统,记得需要给网卡打补丁,所以就打开了aircrack-ng的驱动页面,但在页面上发现如下描述:

    现在有两个驱动家族——ieee80211和mac80211。但mac80211已经大范围地代替了ieee80211。由于mac80211的稳定性和对注入的支持,它应该作为驱动程序的首选。注意从内核版本2.6.25起mac80211就被很好地支持了。
    几乎所有的非mac80211驱动需要打过补丁才能支持注入。但mac80211驱动只有在发起fragmentation攻击时才需要打补丁。其他攻击不需要打补丁就能够工作。
    ——原文请点击《Installing Drivers》

  2. 驱动类型
    由上面可以得知我的驱动很有可能是mac80211,如果确实是的话那我也就不用打补丁了。但如何区分呢?
    使用命令airmon-ng查看

    root@zxp-Ubuntu:~# airmon-ng

    Interface    Chipset        Driver
     mon0        RTL8187     rtl8187 - [phy1]

    如果Driver值是r8187说明使用的是ieee80211驱动,是rtl8187说明使用的是mac80211。其他网卡请查看采用mac80211的驱动列表。
    也可使用命令lsmod | grep 'mac80211'查看

    root@zxp-Ubuntu:~# lsmod | grep mac80211

    mac80211              630653  2 ath9k,rtl8187
  3. 问题深入
    既然我的网卡驱动是mac80211的那为什么会报错呢?在aircrack-ng的论坛上有人说关闭network-manager就能解决这个问题,笔者尝试了下,确实可以

    root@zxp-Ubuntu:~# service network-manager stop
    network-manager stop/waiting
    root@zxp-Ubuntu:~# aireplay-ng -0 0 -a E4:D3:32:5F:6E:3C -c 28:E3:1F:C0:83:22 mon0
    23:29:00 Waiting for beacon frame (BSSID: E4:D3:32:5F:6E:3C) on channel 1
    23:29:01 Sending 64 directed DeAuth. STMAC: [28:E3:1F:C0:83:22] [ 6|26 ACKs]
    23:29:01 Sending 64 directed DeAuth. STMAC: [28:E3:1F:C0:83:22] [ 5|20 ACKs]
    23:29:02 Sending 64 directed DeAuth. STMAC: [28:E3:1F:C0:83:22] [ 9|10 ACKs]

  4. 原因

Ubuntu引起’channel -1’的原因如下:
Ubuntu会设置无线网卡的频道为-1来扫描可用的无线接入点(AP),但在扫描结束后并没有更改网卡的频道。当使用aircrack-ng监听握手包时,在发送deauth攻击前使用命令ifconfig wlan1 down关闭network-manager对网卡的管理。这会强制aircrack为网卡设置到正确的频道上,然后再发送deauth攻击。
——原文请点击此处

3. 问题解决

解决方法如下:

  1. 安装compat-wireless,此方法比较麻烦
  2. 关闭network-manager,但这会关闭所有网卡
  3. 发起攻击前使用ifconfig wlan1 down 与关闭network-manager原理相同,都是要关闭系统对网卡的管理。
  4. 如果没有大问题可以使用aircrack-ng的—ignore-negative-one开关

你可能感兴趣的:(解决aircrack-ng的channel -1问题)