403errors/GardenWiFi

GitHub: 403errors/GardenWiFi

一款 macOS 原生的 Wi-Fi 扫描与抓包工具,能够捕获无线网络流量并自动提取 PMKID/EAPOL 握手哈希为 hashcat 兼容格式。

Stars: 0 | Forks: 0

# GardenWiFi GardenWiFi 是一款使用 SwiftUI 编写的 macOS Wi-Fi 扫描和抓包工具。它可以列出附近的网络,显示信号和安全详细信息,能够从选定的接入点捕获简短的数据包,并将 PMKID / EAPOL 握手哈希值提取为 `.hc22000` 格式,以便与兼容 hashcat 的工具配合使用。 ## 功能 - 使用 `CoreWLAN` 扫描附近的 Wi-Fi 网络 - 查询 SSID、BSSID、RSSI、噪声、信道、频段、安全性和供应商 - 使用 `tcpdump` 将数据包捕获为 `pcap` 格式 - 自动提取 PMKID 和 EAPOL 握手 - 以 `.hc22000` 格式导出哈希值 - 带有刷新和捕获操作的 SwiftUI 表格界面 ## 要求 - macOS 12 或更高版本 - 在 Mac 上启用 Wi-Fi - 为 GardenWiFi 启用位置权限,以便显示 SSID - 需要管理员批准才能进行数据包捕获,因为 `tcpdump` 需要以提升的权限启动 ## 工作原理 GardenWiFi 会扫描附近的网络,让您选择一个目标网络,从 Wi-Fi 接口记录一段简短的捕获,然后解析生成的数据包捕获以获取握手数据。如果找到了 PMKID 或 EAPOL 握手,应用程序会在 `.pcap` 捕获文件旁边写入一个匹配的 `.hc22000` 文件。 捕获的文件保存在: `~/Desktop/GardenWiFi-Captures/` ## 构建 本项目是一个 Swift Package 可执行目标。 ``` swift build -c release ``` App target 在 `Package.swift` 中配置,并包含 `Sources/manuf.txt` 作为捆绑资源。 ## 运行 在 Xcode 中打开该包,或者在构建后从命令行启动它。 ``` swift run ``` 如果您希望直接运行编译好的 release binary: ``` .build/release/GardenWiFi ``` ## 创建 macOS App Bundle 如果需要可分发的 `.app`,请构建 release 产品并将其复制到 app bundle 结构中。 ``` swift build -c release ``` 然后将 release binary 打包成 `.app` bundle,或者使用您偏好的 macOS 打包流程。该仓库在工作区中已经包含了一个 `GardenWiFi.app` 目录,因此如有需要,您可以将其作为签名 release build 的基础。 ## 创建 DMG GitHub Releases 接受 `.dmg` 文件作为发布资产。在 macOS 上一种简单的手动操作方式是: 1. 构建或准备 `.app` bundle。 2. 将该 app 复制到一个临时文件夹中。 3. 使用 `hdiutil` 从该文件夹创建 `.dmg`。 示例: ``` mkdir -p dist cp -R GardenWiFi.app dist/ hdiutil create -volname GardenWiFi -srcfolder dist -ov -format UDZO GardenWiFi.dmg ``` 如果您对 app 进行了签名和公证,请在构建 DMG 之前完成,以便最终下载文件可以直接分发。 ## 在 GitHub Releases 上发布 1. 在 GitHub 上进入该仓库。 2. 打开 Releases 部分。 3. 点击 Draft a new release。 4. 创建一个 tag,例如 `v1.0.0`。 5. 添加发布标题和说明。 6. 上传 `GardenWiFi.dmg` 文件作为发布资产。 7. 发布该版本。 发布后,DMG 将出现在发布资产列表中,用户可以从 Releases 页面下载它。 ## 建议的 GitHub 仓库描述 GardenWiFi 是一款 macOS Wi-Fi 扫描和捕获工具,可以列出附近的网络,捕获来自选定接入点的流量,并将 PMKID/EAPOL 哈希值提取为 `.hc22000` 格式。 ## 建议的 GitHub Topics - macos - swift - swiftui - wifi - wlan - corewlan - packet-capture - tcpdump - pcap - handshake - pmkid - eapol - hashcat - security-tooling ## 注意事项 - 仅捕获您拥有或经授权测试的网络的流量。 - SSID 的可见性取决于 macOS 的位置权限。 - 数据包捕获依赖于 `tcpdump` 和系统级权限。
标签:SwiftUI, Wi-Fi扫描, Wildcard支持, 密码哈希提取, 网络安全, 网络抓包, 隐私保护