引言
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) 未设置为特定信道时会发生此错误。
你练习了两种有效的解决方法:
- 使用
sudo iwconfig <interface> channel <number>直接在接口上设置信道。 - 使用
airodump-ng的--channel标志在运行时指定信道,例如sudo airodump-ng --channel <number> <interface>。
使用 --channel 参数通常是推荐的方法,因为它更明确,并且不太可能干扰其他进程。现在你已更好地掌握了处理无线网络分析中这个常见问题的方法。
