排查 Aircrack-ng 中的固定信道 -1 错误

Beginner
立即练习

引言

Aircrack-ng 是一套强大的 Wi-Fi 网络安全审计工具。其中最常用的工具之一是 airodump-ng,它用于捕获无线网络的数据包流量。在使用 airodump-ng 时,你可能会遇到“fixed channel -1”错误。此错误表明 airodump-ng 无法确定要监控哪个无线信道,因为网络接口未锁定到特定信道。

在本实验中,你将学习一个系统性的流程来排查和解决这个常见错误。我们将模拟一个处于监控模式(monitor mode)的无线接口,并逐步介绍识别问题、应用解决方案以及确认捕获正常工作的步骤。

识别“fixed channel -1”错误消息

在此步骤中,你将尝试在我们模拟的监控模式接口 wlan0mon 上启动 airodump-ng。这将触发“fixed channel -1”错误,这是我们在此实验中旨在解决的问题。

在你的终端中运行以下命令来启动 airodump-ng

sudo airodump-ng wlan0mon

你将看到类似如下的错误消息。此输出确认 airodump-ng 不知道要监控哪个信道。

ioctl(SIOCSIWMODE) failed: Device or resource busy
arp-inject: wlan0mon: Error sending packets, exiting...
wlan0mon is on channel -1, but the AP uses channel 6
fixed channel wlan0mon: -1
Please specify an ESSID (-e) or a BSSID (-b).

这里的关键行是 fixed channel wlan0mon: -1。这告诉我们接口未设置为特定信道。

验证监控接口是否在正确的信道上

在此步骤中,我们将使用 iwconfig 命令来检查我们无线接口的配置。这将帮助我们确认上一步的诊断结果:即接口未设置为有效的信道。

运行 iwconfig 并指定接口名称 wlan0mon 来检查其状态:

sudo iwconfig wlan0mon

输出将类似如下:

wlan0mon     IEEE 802.11  Mode:Monitor  Frequency:0 GHz  Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

请注意 Frequency:0 GHz 以及缺少 Channel 字段。这证实了接口未调谐到任何特定的无线信道,这也是 airodump-ng 失败的原因。

使用 iwconfig 手动设置接口的信道

在此步骤中,你将学习一种解决问题的方法:使用 iwconfig 手动设置网络接口的信道。我们将把接口设置为监听信道 6,这是 2.4 GHz Wi-Fi 的常用信道。

首先,执行以下命令将 wlan0mon 的信道设置为 6:

sudo iwconfig wlan0mon channel 6

如果命令成功执行,不会产生任何输出。要确认更改已应用,请再次运行 iwconfig wlan0mon

sudo iwconfig wlan0mon

你现在应该在输出中看到已设置的信道:

wlan0mon     IEEE 802.11  Mode:Monitor  Channel:6  Frequency:2.462 GHz  Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

输出现在清晰地显示了 Mode:Monitor Channel:6。由于接口已固定到某个信道,airodump-ng 应该能够正常工作。

使用 --channel 参数重启 airodump-ng

在此步骤中,我们将探讨一种更直接且通常更可靠的解决方法。与使用 iwconfig 更改接口状态不同,你可以通过在运行时使用 --channel 参数直接告诉 airodump-ng 使用哪个信道。此方法更受推荐,因为它明确且可以避免在其他工具使用该接口时可能产生的冲突。

让我们再次运行 airodump-ng,但这次我们将使用 --channel 标志指定信道 6。

sudo airodump-ng --channel 6 wlan0mon

此命令将成功启动捕获过程。你将看到一个实时更新的屏幕,显示附近网络的信息。这证实了错误已解决。

确认错误已解决且捕获已恢复

在最后一步中,你的任务是观察你在上一步运行的成功 airodump-ng 命令的输出。错误消息已消失,你现在应该能看到数据包捕获界面。

输出将类似于:

CH 6 ] [ Elapsed: 5 s ] [ 2023-10-27 10:15 ]

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
 00:11:22:33:44:55  -50       10        0    0   6  54e  WPA2 CCMP   PSK  Test-Network

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

Press Ctrl+C to stop the capture.

以下是关键信息的含义:

  • CH 6: 确认你正在信道 6 上进行捕获。
  • BSSID: 接入点 (Access Point) 的 MAC 地址。
  • ESSID: 网络的易读名称(例如,“Test-Network”)。
  • PWR: 信号强度。

捕获过程现在正在正确运行。要停止捕获并返回到命令提示符,请在你的终端中按 Ctrl+C

总结

在此实验中,你成功诊断并解决了 airodump-ng 中的“固定信道 -1”错误。你了解到当监控接口 (monitor interface) 未设置为特定信道时会发生此错误。

你练习了两种有效的解决方法:

  1. 使用 sudo iwconfig <interface> channel <number> 直接在接口上设置信道。
  2. 使用 airodump-ng--channel 标志在运行时指定信道,例如 sudo airodump-ng --channel <number> <interface>

使用 --channel 参数通常是推荐的方法,因为它更明确,并且不太可能干扰其他进程。现在你已更好地掌握了处理无线网络分析中这个常见问题的方法。