gusprojects008/framesniff

GitHub: gusprojects008/framesniff

一款专注于无线网络(主要是Wi-Fi)探索与安全测试的命令行工具,支持流量捕获、PMKID提取、Hashcat哈希生成及原始帧注入。

Stars: 0 | Forks: 0

# framesniff 一款用于网络探索和分析的命令行工具,专注于跨不同层级和通信标准(Wi-Fi (IEEE 802.11 / DLT_IEEE802_11_RADIO)、Ethernet (IEEE 802.3 / EN10MB)、Bluetooth HCI / DLT_BLUETOOTH_HCI_H4))捕获和操作帧。旨在支持对无线网络协议进行深入分析,以及对设备及其传输的帧进行探索。 目前的重点是开发对 IEEE 802.11 标准的支持。尚不支持 Bluetooth 和 Ethernet。 ## 许可证 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) ## 概述 framesniff 允许您: * 使用存储和显示过滤器捕获帧。 * 在 station 模式或 monitor 模式下扫描(支持可选的信道跳变)。 * 从包含 EAPOL/PMKID 数据的 JSON 生成与 Hashcat 兼容的文件(格式 `22000`)。 * 将原始十六进制数据包或帧转换为 pcap。 * 通过接口发送/注入原始(十六进制)帧。 ## 目前可用的主要功能 * `set-monitor ` / `set-station ` — 切换接口模式。 * `scan-monitor` — 支持信道跳变的实时 monitor 模式扫描。 * `sniff ` — 捕获帧,支持 DLT、过滤器、计数、超时、JSON 输出等选项。 * `generate-22000` — 将 JSON (EAPOL/PMKID) 转换为 `hashcat.22000` 文件。 * `hextopcap` — 从包含原始十六进制数据包的 JSON 生成 pcap 文件。 * `send-raw ` — 通过接口发送原始(十六进制)帧/数据包。 ## 支持的格式 / DLT * `DLT_IEEE802_11_RADIO` — 带有 radiotap 头的 802.11 帧。 * `EN10MB` — Ethernet (pcap linktype EN10MB)。 * `DLT_BLUETOOTH_HCI_H4` — Bluetooth HCI (H4)。 ## 系统要求 * 操作系统:Linux。 * 权限:许多操作需要 root 权限(monitor 模式捕获、接口模式更改、原始帧注入)。 * Python 3.13。 * 可选:用于检查结果的工具(例如 Wireshark/tshark),以便在需要时打开生成的 pcap 文件。 ## 安装(建议方式) 1. 克隆仓库: ``` git clone https://github.com/gusprojects008/framesniff/framesniff.git cd framesniff ``` 运行 `setup.sh`,进入 Python 虚拟环境,并探索程序功能: ``` ./setup.sh sudo .venv/bin/python framesniff.py --help ``` 2. 针对来自 WPA2-Personal 网络的 EAPOL 帧 MIC 进行离线暴力破解攻击的示例。 ## 法律声明 * 🧠 查看我的博客,其中解释了 Wi-Fi 网络的工作原理以及常见 Wi-Fi 攻击技术的思维导图: * [无线通信工作原理](https://gustavoaraujo.pages.dev/blogs/como-funcionam-as-comunica%C3%A7%C3%B5es-sem-fio) * [Wi-Fi 思维导图](https://github.com/gusprojects008/mapas-mentais/blob/main/markdowns/ataques-redes-wifi.md) **在目标频率上开始嗅探后,建议向 AP 或未启用 PMF (Protected Management Frames) 的设备发送解认证帧。为此,首先使用本程序或 Wireshark 捕获一个解认证帧,在文本或十六进制编辑器中打开其原始十六进制内容,然后使用 `hextopcap` 将其转换为 pcap。在 Wireshark 中打开 pcap,检查十六进制转储,并相应调整十六进制字段以匹配目标 AP 的 BSSID 和设备的 MAC 地址。** 在执行 `scan-monitor` 或 `sniff` 捕获后,查看每帧的详细信息(包括原始十六进制内容)。 检查特定供应商的信息以获取额外的 AP 详细信息,例如版本号、型号和 UUID,这些信息有时可用于搜索漏洞。 切换到 monitor 模式: ``` sudo venv/bin/python framesniff.py set-monitor wlan0 ``` **这将显示所有附近的 AP 和设备,并实时更新,包括其关联信息。要检查未与任何 AP 关联的设备,请分析 `scan-monitor` 输出文件(操作结束后生成),其中包含扫描期间捕获的所有帧。** ***请密切注意 WPS 状态。如果已启用(YES),请在停止程序后保存的扫描输出文件中检查 WPS 配置。按 Ctrl+S 或 F12 保存 TUI 捕获的数据。根据支持的 WPS 模式,可能可以进行暴力破解和 Pixie Dust 攻击。像 [bully](https://github.com/kimocoder/bully) 这样的工具可以执行这些攻击,尽管 AP 可能会暂时锁定 WPS 认证。*** ``` sudo venv/bin/python framesniff.py scan-monitor wlan0 --dlt DLT_IEEE802_11_RADIO ``` 检测到目标 AP 和设备后,将 monitor 接口设置为其频率或信道: ``` sudo venv/bin/python framesniff.py set-frequency wlan0 2417 ``` 捕获 EAPOL 帧: ``` sudo venv/bin/python framesniff.py sniff wlan0 --dlt DLT_IEEE802_11_RADIO --store-filter "mac_hdr.fc.type == 2 and mac_hdr.sa.mac in ('aa:bb:cc:dd:ee:ff', 'ab:cd:ef:ab:cd:ef') and mac_hdr.da.mac in ('aa:bb:cc:dd:ee:ff', 'ab:cd:ef:ab:cd:ef') and mac_hdr.bssid == 'aa:bb:cc:dd:ee:ff' and llc.type == 0x888e and body.eapol" --display-filter "mac_hdr, body" -o eapol-frames-attack.json ``` 生成 hashcat 22000 文件: ***如果捕获的 EAPOL 帧包含 PMKID(通常在消息 1 中),则可以执行更快的暴力破解攻击。有关详细信息,请参阅 `generate-hashcat help`。*** ``` venv/bin/python framesniff.py generate-hashcat --bitmask 0 --ssid MyNetwork --input eapol-frames-attack-msg1-msg2.json --output hashcat.22000 hashcat -m 22000 hashcat.22000 wordlist.txt --show ``` 其他使用模式: 将原始十六进制帧/数据包转换为 pcap: ``` venv/bin/python framesniff.py hextopcap --dlt DLT_IEEE802_11_RADIO -i raw_packets.json -o output.pcap ``` 发送原始帧: ``` sudo venv/bin/python framesniff.py send-raw wlan0 -i raw_packets.json --count 10 --interval 0.5 ``` ## JSON 文件结构 — 输入格式示例 ### `send-raw` / `hextopcap` ``` { "raw": [ "00112233445566aabbccddeeff...", "00112233445566aabbccddeeff...", ... ] } ``` ### `generate-hashcat` #### format 22000 ##### bitmask 0 (原始 EAPOL 消息 (消息对 1 和 2)) ``` { "raw": [ "0103005f02030a...", "0103005f02030a..." ] } ``` ##### bitmask 1 (PMKID)(速度更快) ``` { "ap_mac": "aa:bb:cc:dd:ee:ff", "sta_mac": "11:22:33:44:55:66", "pmkid": "e4f3... (32 hex chars)" } ```
标签:Bitdefender, EAPOL, Hashcat, IEEE 802.11, Monitor模式, PCAP, PMKID, Python, Radiotap, WiFi, 以太网, 协议分析, 帧嗅探, 抓包工具, 报文注入, 无后门, 服务管理, 权限提升, 系统分析, 网络分析, 网络嗅探, 网络安全, 蓝牙, 逆向工具, 防御绕过, 隐私保护