kalidroid-Aircrack-ng MCP 实战教程:用自然语言驱动 WiFi 安全测试

kalidroid-Aircrack-ng MCP 实战教程:用自然语言驱动 WiFi 安全测试

前言

无线网络一直是企业内网和家用环境中最容易被忽视的攻击入口。今天给各位安全从业者介绍一个效率利器——把 Aircrack-ng 套件通过 MCP 协议接入 Claude Desktop,用自然语言就能完成从接口发现、监听模式激活、WiFi 扫描、握手包捕获到离线破解的完整测试流程。Kali 配 Claude,trea等,这波属于是用 AI 武装你的武器库。

人工智能(AI)正在改变各个领域,网络安全也不例外。想象一下,你和像Claude或Gemini这样的AI模型对话,说:“嘿,扫描附近的WiFi网络,捕捉’HackingLab’接入点的握手”,AI真的会在你的机器上执行命令!aircrack-ng

今天,我们正在通过构建一个Aircrack-ng MCP服务器,弥合人工智能与进攻性安全之间的鸿沟。

一、什么是 MCP?

模型上下文协议(Model Context Protocol,MCP) 是一个开放标准,允许 AI 模型与本地工具和数据交互。MCP 不仅仅是“聊天”,而是让 AI 能够

  • 读写本地文件
  • 查询数据库
  • 执行本地命令和工具

MCP 基于 JSON-RPC 2.0,提供了一个有状态的会话协议。Aircrack-ng MCP 服务器就是用 Python 编写的定制 MCP 服务器,封装了整个 Aircrack-ng 套件

二、实验环境

整个测试在隔离的无线测试实验室内完成。攻击者平台使用 Kali Linux,配备一块支持监听模式和帧注入的 USB 无线网卡。Claude Desktop 与 MCP 服务器部署在同一台主机上,LLM 客户端可以直接调用本地 Python 进程。

 
 
组件 详情
攻击主机 Kali Linux(本文用的手机kalidroid)
无线网卡 支持监听模式和帧注入的 USB 外置网卡(如 Realtek RTL8814AU)
LLM 客户端 Claude Desktop ,trae,手机端RikkaHb,termux-x(0.118.3.60.1以上)
MCP 服务器 Aircrack-ng MCP 
目标 AP 授权实验室内的测试接入点

三、前提条件

在开始之前,请确保满足以下要求

  • 操作系统:Linux(推荐 Kali Linux,提供最佳无线驱动支持)

  • Aircrack-ng 套件:已安装并在 $PATH 中

  • Python:3.10 或更高版本

  • 无线网卡:支持监控模式和数据包注入

安装 Aircrack-ng:

# Debian / Ubuntu / Kali Linux
sudo apt install aircrack-ng

# Arch Linux
sudo pacman -S aircrack-ng

四、部署 Aircrack-ng MCP 仓库

首先从 GitHub 克隆 aircrack-mcp 仓库到 Kali 攻击机上:

git clone https://github.com/xheishou-com/aircrack-mcp 
cd aircrack-mcp
ls -la

确认目录中的文件——aircrackmcp.py(服务器主程序)、LICENSE 和 README.md。然后赋予脚本执行权限

chmod +x aircrackmcp.py

五、配置免密码 sudo 权限

Aircrack-ng 的所有操作——开启监听模式、注入去认证帧、打开原始套接字——都需要 root 权限。但 Claude Desktop 启动 MCP 服务器是非交互式的,没法手动输入 sudo 密码。

解决方案是通过 sudoers 文件给当前用户配置一条精准的 NOPASSWD 规则,只允许执行这一个脚本,其他命令一律不放行

用 visudo 打开 sudoers 文件(它会在保存前校验语法,防止写错把自己锁在外面):

sudo visudo

在文件末尾添加下面这行(将 your_username 和路径替换为你的实际值):

your_username ALL=(ALL) NOPASSWD: /usr/bin/python3 /home/your_username/aircrack-mcp/aircrackmcp.py

六、配置 Claude Desktop(本地模式

服务器安装好了,权限也配置好了,接下来把 MCP 服务器注册到 Claude Desktop。

方式一:通过应用内设置

  1. 打开 Claude Desktop
  2. 点击侧边栏底部的用户头像,进入 Settings 设置
  3. 在左侧菜单找到 Desktop app 下的 Developer 标签页
  4. 点击 Edit Config,这会打开 claude_desktop_config.json

方式二:直接编辑配置文件

配置文件位置:

  • Linux:~/.config/Claude/claude_desktop_config.json
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

在 mcpServers 区块中添加 aircrack 条目:

{
  "mcpServers": {
    "aircrack": {
      "command": "sudo",
      "args": [
        "python3",
        "/home/your_username/aircrack-mcp/aircrackmcp.py"
      ]
    }
  }
}

七、验证 MCP 服务器注册状态

保存配置并重启 Claude Desktop 后,回到 Developer 设置页面,确认服务器已经注册成功。

正常的注册会显示:

  • 服务器名称(aircrack)
  • 启动命令和传入参数
  • Running 状态徽章

如果徽章显示 Failed,点击 View Logs 查看子进程的标准错误输出——这个阶段最常见的问题是:

  • 路径写错了
  • sudoers 规则没配对
  • Python 版本不兼容

也可以在 Claude Desktop 的聊天框底部点击 “+” 按钮,选择 Connectors,查看已连接的 MCP 服务器及其工具列表。

模式二:SSE(远程访问)

在 Kali 机器上将服务端作为 HTTP 服务运行,然后从任意远程 MCP 客户端(如 Trae IDE、Claude Desktop)连接。

第一步:在 Kali 上启动服务端

# 默认端口 8080,绑定所有网络接口
sudo python3 aircrackmcp.py --transport sse

# 自定义主机和端口
sudo python3 aircrackmcp.py --transport sse --host 0.0.0.0 --port 9090

输出示例:

[aircrack-mcp] INFO Aircrack-ng MCP server (SSE transport) listening on http://0.0.0.0:8080
[aircrack-mcp] INFO SSE endpoint: http://0.0.0.0:8080/sse

20260715025330635-1119

第二步:配置远程 MCP 客户端

将以下配置添加到你的 MCP 客户端配置中(如 Trae IDE、claude_desktop_config.json):

{
  "mcpServers": {
    "aircrack": {
      "url": "http://<kali-ip>:8080/sse"
    }
  }
}

将 <kali-ip> 替换为你的 Kali 机器 IP 地址(如 192.168.1.100)。

使用演示:RikkaHub + DeepSeek

下面演示在同一台手机上使用 RikkaHub 连接 MT 的 APK MCP 服务,并让 DeepSeek 分析和修改一个 APK。

1. 准备 RikkaHub 和 DeepSeek

先安装 RikkaHub,并准备一个 DeepSeek API 密钥。RikkaHub 的提供商配置可参考其官方快速开始 (opens new window)文档,MCP 连接可参考其官方 MCP (opens new window)文档。

在 RikkaHub 中进入设置 > 提供商,添加或打开 DeepSeek 提供商,填写 API 密钥,并选择一个可用模型。模型列表以 RikkaHub 和 DeepSeek 当前提供的选项为准。

20260715033943369-image

3. 在 RikkaHub 中添加 MCP 服务

在 RikkaHub 的 MCP 设置页面中新建连接:

  • 名称填写 aircrack 
  • 连接地址填写 :http://<kali-ip>:8080/sse(将 <kali-ip> 替换为你的 Kali 机器 IP 地址(如 192.168.1.100)。)
  • 传输类型选择 see

20260715034219167-a996f731cfcbd448e051820f5a6a6c02

保存后确认连接成功。回到聊天页面时,如果 RikkaHub 需要手动启用 MCP 服务器,请在聊天工具或 MCP 服务器列表中启用aircrack 

20260715035821300-image

20260715035946545-image

 

 

trae演示

20260715023815420-image

20260715023842479-image

九、查看可用工具列表

服务器注册并运行之后,就可以在 Claude Desktop 里跟它交互了。任何 MCP 驱动的测试任务,第一步都是让 AI 助手列出服务器暴露的所有工具

在 Claude 聊天框中输入:

list aircrack mcp commands

Claude 会返回完整的工具包,每个条目对应一个 MCP 工具,包装了一个 Aircrack-ng 操作

可用工具列表

 
工具 描述
start_monitor 在无线网卡上启用监听模式
stop_monitor 禁用监听模式
scan_wifi 扫描附近的 WiFi 网络
capture_handshake 捕获目标 BSSID 的 WPA 握手包
deauth 发送解除认证帧以强制客户端重连
crack_wifi 使用字典破解 WPA/WEP 密钥
list_interfaces 列出所有可用的无线网卡
fake_auth 伪造认证攻击(WEP)
arp_replay ARP 请求重放攻击(WEP)
decrypt_capture 使用已知密钥解密捕获的数据包
create_evil_twin 创建伪造 AP 用于中间人测试
auto_crack_wep 自动破解附近所有 WEP 网络
clean_capture 清理捕获文件以加速 WPA 破解

工具覆盖了接口枚举、监听模式控制、被动发现、WPA/WPA2 握手包捕获、去认证攻击、字典暴力破解、WEP 自动化攻击和恶意 AP 创建——完整无线测试链需要的所有功能都在这儿了。

十、枚举无线网卡接口

每次无线评估的第一步都是确认用哪张网卡来干活。通过自然语言调用 list_interfaces 工具

list_interfaces
 

Claude 把请求发给 MCP 服务器,服务器调用 airmon-ng,把解析结果返回来。

输出会显示系统中有哪些网卡、驱动信息和芯片型号。例如:

PHY Interface Driver Chipset 
phy0 wlan0 rtw88_8814au Realtek RTL8814AU

这种外置 USB 网卡之所以普及,就是因为开箱即支持监听模式和帧注入——这是进行后续所有测试的前提条件。

十一、开启监听模式

监听模式(Monitor Mode)将网卡置于混杂状态,可以接收指定信道上的所有 802.11 帧,而不需要关联到任何接入点。扫描、握手包捕获、帧注入,全都依赖这个模式

让 Claude 执行:

start_monitor

服务器把 wlan0 切换到监听模式(实际效果相当于创建了 wlan0mon),同时会特别标注会抢信道的进程——NetworkManager 和 wpa_supplicant。这两个服务在后台会自动切换信道或者悄悄把网卡拽回管理模式,是导致抓包结果不稳定最常见的原因。正式测试中,在继续下一步之前应该先在 shell 里把它们 kill 掉。

十二、扫描周围的 WiFi 网络

扫描是一个纯被动操作:网卡在各个信道间切换,记录接收到的 Beacon 帧和 Probe Response 帧。整个过程不向外发任何帧,所以不会直接触碰任何目标

让 Claude 执行一次扫描:

scan all wifi
 

过滤后的结果会显示范围内的网络信息

 
 
BSSID ESSID Channel Encryption Signal
xx:xx:xx:xx:xx:xx TestAP_5g 11 WPA2-CCMP -45 dBm
yy:yy:yy:yy:yy:yy iPhone_Hotspot 6 WPA2-PSK -42 dBm

关键信息:iPhone 热点上显示有客户端关联,说明有活跃流量——这对接下来抓握手包是个好消息,因为必须要有客户端在线才能触发重连,从而拿到握手包。

十三、捕获 WPA2 握手包

WPA2 的四次握手包含了离线破解所需的所有材料。抓包的原理是:锁定目标信道,持续监听流量,直到有客户端重新认证

让 Claude 执行:

capture handshake [目标网络名称]
 

例如,针对名为 “iPhone_Hotspot” 的目标:

capture handshake iPhone_Hotspot

抓到的数据会同时保存为:

  • 原始 .cap 文件:供 Aircrack-ng 使用
  • .csv 汇总文件:记录所有见过的终端

抓包完成后生成的文件(如 handshake-01.cap),大小明显比只有 Probe 请求的抓包文件大得多——说明四次握手的帧确实被录进去了。

十四、用 rockyou.txt 破解握手包

离线破解的原理是:把词表中的每个候选密码通过 PBKDF2-HMAC-SHA1 算法推导 PMK,再用 PMK 尝试还原握手包中的 MIC 值,看能否匹配

让 Claude 用 rockyou.txt 这个无线评估中最常用的字典来跑破解:

crack_wifi with dictionary rockyou.txt

如果密码较弱(例如 12345678),密码几乎瞬间就会被跑出来

这是一个典型的反面教材——纯数字密码在几乎所有常见词表里都排在前几位,一跑就中。从防御角度看,这个例子正好说明了为什么要推 WPA3/SAE,为什么要设置 12 位以上的随机密码。

十五、执行去认证攻击(可选)

去认证帧利用了 WPA2 的一个设计特点:管理帧未经认证。攻击者可以伪造这类帧,强制指定客户端(或所有客户端)断开与 AP 的连接。客户端通常会立即尝试重连,这时候就能抓到新的四次握手

让 Claude 执行:

deauth [目标网络名称]

例如:

deauth TestAP_5g

去认证攻击执行完毕后,客户端与 AP 的连接会被成功打断。这标志着 WiFi 测试链的最后一个环节完成:接口发现 → 监听模式激活 → 被动扫描 → 握手包捕获 → 离线破解 → 定向去认证,每一步都是通过 Claude Desktop 驱动,MCP 服务器在后台调用实际的 Aircrack-ng 二进制工具完成。

十六、防御建议

本文演示的攻击能成功,有一个非常明确的前提:WPA2-PSK + 弱密码 + 管理帧无保护。针对每个攻击环节,都有对应的防御措施

1. 升级到 WPA3-SAE

SAE(Simultaneous Authentication of Equals,等方认证)从协议层面杜绝了离线字典攻击——即使攻击者抓到了握手包,也没法拿来做暴力破解。

2. 强制使用强密码

至少 12 到 16 位的高熵随机字符。纯数字或常见单词组成的密码,在 rockyou.txt 面前撑不过一秒。

3. 开启 802.11w(受保护管理帧)

对管理帧进行加密认证,包括去认证帧。这样就破掉了强制客户端断开这个握手包捕获的前置条件。

4. 彻底关闭 WPS

即便不使用,WPS PIN 的实现方式仍然是一个众人皆知的绕过手段,可以绕过密码强度限制。

5. 访客和 IoT 网络隔离

同一个 SSID 下密码被破解,攻击者就拿到了局域网的横向通行权限。用独立 SSID 和 VLAN 把影响范围控制在最小。

6. 监控去认证 Flood

WIDS/WIPS 平台,甚至轻量级的监控器,都会对短时间内的去认证帧爆发发出告警——这是最可靠的攻击前兆信号。

7. 事件后轮换凭据

一旦怀疑握手包被拿走,立刻换密码。握手包材料不会过期,硬件算力只会越来越强,今天破解不了的明天可能就破解了。

十七、总结

Aircrack-ng MCP 服务器把一个成熟但语法繁琐的命令行工具套件,变成了一套可以用自然语言调用的工具集,而且没有隐藏底层的操作逻辑

本文覆盖的每一个评估步骤——枚举网卡接口、开启监听模式、扫描 WiFi 网络、捕获 WPA2 握手包、用 rockyou.txt 破解、发起定向去认证——全部通过 Claude Desktop 驱动,MCP 服务器在后台调用真实的 Aircrack-ng 二进制工具完成。操作者对每一条执行的命令、每一份输出的结果都保持完整的可见性,AI 负责处理工具选择、参数构建和输出解读这些操作层面的负担。

AI 辅助工具的价值在于:让安全人员验证防御措施是否真正落地的工作,变得比以前高效得多。

⚠️ 法律与道德声明

本文仅供教育用途。这些工具仅在合法、授权的环境中使用。未经授权访问网络是犯罪。

本工具仅用于授权的渗透测试和安全研究。未经授权访问计算机网络是违法的。测试前务必获得书面许可

未经授权对他人网络实施扫描、攻击或破解,违反《中华人民共和国网络安全法》第 27 条及《刑法》第 285 条,将承担法律责任。


保持安全,保持道德,继续学习! 💻💪

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容