新闻详情

新闻详情

首页 / 资讯中心 / 详情

Airgorah源码剖析:Rust手工构造802.11 Deauth帧的34字节奥秘

发布时间:2026/9/28 20:56:56来源:尧图网络
Airgorah源码剖析:Rust手工构造802.11 Deauth帧的34字节奥秘
Airgorah源码剖析Rust手工构造802.11 Deauth帧的34字节奥秘【免费下载链接】airgorahA WiFi security auditing software项目地址: https://gitcode.com/gh_mirrors/ai/airgorahAirgorah 是一款用 Rust 编写的 WiFi 安全审计软件能捕获附近 WiFi 流量、发现连接客户端、发起 Deauth去认证攻击并抓取握手包。它的 Deauth 功能不依赖任何第三方协议库而是手工拼装一个仅34 字节的 802.11 帧通过原始套接字直接注入到监控模式的无线网卡上。本文带你逐字节拆解这个 802.11 Deauth 帧的构造奥秘。Airgorah 图形界面上方为扫描到的热点含 BSSID、加密方式、是否抓到握手包下方为可发起攻击的客户端列表️ 攻击链路从按钮到网卡Airgorah 采用「GUI 特权代理」双进程架构图形界面以普通用户运行需要提权的操作通过polkit拉起特权代理airgorah-agent。一次 Deauth 攻击的完整链路是用户在界面上勾选目标客户端、设置速率点击 AttackGUI 侧 crates/gui/src/frontend/connections/deauth.rs 收集选中的 MAC 地址通过 IPC 转发到特权代理 crates/agent/src/server.rs核心逻辑落在 crates/agent/src/backend/deauth.rs —— 手工构造帧并注入真正有奥秘的就是第 4 步里build_mgmt_frame函数拼出来的 34 个字节。 34 字节 8 字节 Radiotap 26 字节 802.11 帧在 crates/agent/src/backend/deauth.rs 中帧的组装分为两段Radiotap 头部8 字节0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00这是注入时网卡驱动要求的元数据头版本号 0、填充 0、长度 8、字段标志位为 0不携带任何额外字段。标志位全 0 的含义是发射参数速率、功率等全部交给驱动自行决定应用层无需关心。802.11 管理帧26 字节偏移字节数字段值82帧控制Frame Control0xC0去认证或0xA0去关联102Duration全 0126Address 1目的地址目标 MAC 或广播地址186Address 2源地址源 MAC246Address 3BSSIDAP 的 MAC302序列号全 0322原因码7去认证/8去关联小端序0xC0的二进制是11_000_000高 2 位11表示 Management 类型后 6 位000000即 subtype 12Deauthentication。管理帧没有加密、没有认证信息这正是它能被任意伪造的根本原因。 广播还是点名两种攻击模式crates/agent/src/backend/deauth.rs 的launch_deauth_attack函数支持两种目标全员模式目的地址填0xFF:FF:FF:FF:FF:FFBROADCAST常量一行定义搞定AP 会踢掉所有连接的客户端——这是最容易触发握手包重连的模式点名模式对每个选中客户端构造AP→客户端和客户端→AP两个方向各一帧双向同时攻击发射速率被限制在 1~1000 帧/轮/秒攻击线程按间隔循环发送直到用户停止。 原始套接字帧怎么飞出去构造好的 34 字节交给 crates/agent/src/backend/raw_socket.rs创建一个AF_PACKET类型的SOCK_RAW原始套接字绑定到监控模式的网卡索引之后send()出去的每个字节都原样变成无线信号——不经过协议栈任何处理。这也是为什么网卡必须支持监控模式和包注入注入通常只在 2.4GHz 频段可靠。✅ 单元测试34 字节一个都不能少作者在 crates/agent/src/backend/deauth.rs 的测试里对每段字节都做了断言assert_eq!(frame.len(), 34); // 总长 34 assert_eq!(frame[0..4], [0x00,0x00,0x08,0x00]); // radiotap: v0, len 8 assert_eq!(frame[8], SUBTYPE_DEAUTH); // 0xC0 assert_eq!(frame[32..34], REASON_DEAUTH.to_le_bytes());MAC 解析的边界情况段数不足、非法十六进制、超长也在 parse_mac 测试 中覆盖。这种字节级的测试正是手工构造协议帧的可靠保障。 小结Airgorah 用不到 20 行核心代码揭示了 Deauth 攻击的本质一帧 34 字节的管理帧伪造 3 个 MAC 地址 一个原因码即可让客户端掉线。理解这 34 个字节你就理解了 802.11 管理帧为何缺乏认证保护——这也正是现代 WPA3 引入对管理帧进行 PMF 保护的意义所在。⚠️法律提示Deauth 攻击仅可用于审计你自己拥有或获授权测试的无线网络。在绝大多数国家和地区对非自有网络发起此类攻击均属违法行为。想继续深入可以从这两个入口读起帧构造与攻击线程crates/agent/src/backend/deauth.rs原始套接字收发crates/agent/src/backend/raw_socket.rs【免费下载链接】airgorahA WiFi security auditing software项目地址: https://gitcode.com/gh_mirrors/ai/airgorah创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Substrate本质解析:不是框架,而是区块链乐高底盘 2026/9/28 22:48:59

Substrate本质解析:不是框架,而是区块链乐高底盘

1. Substrate不是框架,是区块链的“乐高底盘”很多人第一次听说Substrate,第一反应是:“哦,又一个区块链开发框架?”——这个理解偏差,直接决定了后续学习路径是通途还是死胡同。我2019年刚接触Substrate时…

阅读更多 →
CLI-Anything实战:用命令行统一自动化工作流与AI编程助手联动 2026/9/28 22:48:59

CLI-Anything实战:用命令行统一自动化工作流与AI编程助手联动

我给自己的工具链起了一个名字,叫CLI-Anything。说白了,就是把手里凡是能脚本化、能自动化的操作,全部收编成命令行工具,让终端成为唯一的操作入口。这两年codex cli、claude cli这些 AI 编程助手一个接一个推出命令行版本&#x…

阅读更多 →
CLI-Anything:面向 CLI 工具链的协议栈与操作系统层 2026/9/28 22:48:52

CLI-Anything:面向 CLI 工具链的协议栈与操作系统层

1. 项目概述:CLI-Anything 不是又一个命令行工具,而是 CLI 生态的“操作系统层”你有没有过这种体验:刚在 GitHub 上 clone 下来一个新项目,README 里第一行就写着pip install -e .,结果跑完发现缺了pydantic&#xff…

阅读更多 →
鸿蒙6适配实战:UI交互与基础能力API变化全解析及兼容处理 2026/9/28 22:48:45

鸿蒙6适配实战:UI交互与基础能力API变化全解析及兼容处理

刚开始接触鸿蒙适配的时候,我一度以为把 API 换一换、编译跑通就算完事。等真正把项目从 HarmonyOS NEXT 迁到鸿蒙 6 之后才发现,UI 交互和基础能力这一层的 API 变化才是最磨人的——它们不像底层接口那样有清晰的替代函数,而是散布在组件属…

阅读更多 →
STM32音频输出实战:PWM与DAC方案对比及WAV播放器实现 2026/9/28 22:48:45

STM32音频输出实战:PWM与DAC方案对比及WAV播放器实现

1. 从蜂鸣器到高保真:为什么STM32音频输出值得折腾很多人第一次在STM32上做音频,都是从蜂鸣器或者PWM驱动小喇叭开始的。那种“滴——”一声的效果确实能响,但离“音乐播放器”四个字还差得远。我最早做这个项目的时候,用STM32F10…

阅读更多 →
一人公司SaaS架构:数据细胞理论,多租户隔离与扩展的最佳实践 2026/9/28 22:48:38

一人公司SaaS架构:数据细胞理论,多租户隔离与扩展的最佳实践

做SaaS这件事,很多人有一个误区:总觉得“一人公司”就先别碰架构,功能跑起来、客户收进来才是正经事。我在企业服务领域摸爬滚打这些年,反而得出了一个相反的结论——正因为他是一个人,技术架构才是决定你还能不能睡好…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉