MikkoParkkola/nowifi

GitHub: MikkoParkkola/nowifi

一款通过多技术自动探测与绕过 captive portal 并提供 WPA 破解的一体化工具。

Stars: 14 | Forks: 0

# nowifi [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/MikkoParkkola/nowifi/actions/workflows/ci.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/MikkoParkkola/nowifi)](https://goreportcard.com/report/github.com/MikkoParkkola/nowifi) [![Release](https://img.shields.io/github/v/release/MikkoParkkola/nowifi)](https://github.com/MikkoParkkola/nowifi/releases) [![Downloads](https://img.shields.io/github/downloads/MikkoParkkola/nowifi/total)](https://github.com/MikkoParkkola/nowifi/releases) [![Go Version](https://img.shields.io/github/go-mod/go-version/MikkoParkkola/nowifi/master?filename=go.mod)](go.mod) [![Dependencies](https://img.shields.io/librariesio/github/MikkoParkkola/nowifi)](https://libraries.io/github/MikkoParkkola/nowifi) [![GitHub Stars](https://img.shields.io/github/stars/MikkoParkkola/nowifi?style=social)](https://github.com/MikkoParkkola/nowifi) ### 没有 WiFi?现在就有了。 **作者:Mikko Parkkola** 一条命令。43 种技术。浏览器即刻恢复工作。 ``` sudo nowifi ```

nowifi dashboard

被困在酒店/机场/咖啡店的 WiFi 登录页面?`nowifi` 会检测 captive portal,探测其弱点,并自动尝试 35 种绕过技术——优先使用最强大的方式,并在首个生效的方法出现时停止。您的浏览器会立刻恢复正常。按下 `Ctrl+C` 即可恢复所有原始设置。 需要真实的 WiFi 密码?`nowifi crack` 可运行包含 8 种技术的 WPA/WPA2 破解流水线。它将按顺序从 PMKID 和 WPS Pixie-Dust 提升到握手抓包、字典/智能破解,最后才会尝试 WPS PIN 或在线暴力破解,一旦成功找回密码即会停止。 ## 安装说明 ### Homebrew(推荐) ``` brew trust --tap MikkoParkkola/tap # Homebrew 6.0+ brew install MikkoParkkola/tap/nowifi ``` ### Go ``` go install github.com/MikkoParkkola/nowifi/cmd/nowifi@latest ``` 就这么简单。预编译二进制文件,无需 Go 工具链,无需 `sudo install`。支持 Apple Silicon、Intel Mac、Linux x86_64 和 Linux arm64。 ### 预编译二进制文件(手动) 为您的平台从 [GitHub Releases](https://github.com/MikkoParkkola/nowifi/releases/latest) 下载最新版本 并对照 [`checksums.sha256`](https://github.com/MikkoParkkola/nowifi/releases/latest/download/checksums.sha256) 校验哈希值。 发布资产还包括 CycloneDX SBOM、Sigstore 无密钥签名 (`.sigstore.json` 包)以及 GitHub 来源证明。 ``` # macOS Apple Silicon curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/nowifi-darwin-arm64.tar.gz curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/checksums.sha256 shasum -a 256 -c checksums.sha256 --ignore-missing tar xzf nowifi-darwin-arm64.tar.gz sudo install -m 0755 nowifi-darwin-arm64 /usr/local/bin/nowifi # macOS Intel curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/nowifi-darwin-amd64.tar.gz curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/checksums.sha256 shasum -a 256 -c checksums.sha256 --ignore-missing tar xzf nowifi-darwin-amd64.tar.gz sudo install -m 0755 nowifi-darwin-amd64 /usr/local/bin/nowifi # Linux x86_64 curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/nowifi-linux-amd64.tar.gz curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/checksums.sha256 sha256sum -c checksums.sha256 --ignore-missing tar xzf nowifi-linux-amd64.tar.gz sudo install -m 0755 nowifi-linux-amd64 /usr/local/bin/nowifi # Linux ARM64 curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/nowifi-linux-arm64.tar.gz curl -LO https://github.com/MikkoParkkola/nowifi/releases/latest/download/checksums.sha256 sha256sum -c checksums.sha256 --ignore-missing tar xzf nowifi-linux-arm64.tar.gz sudo install -m 0755 nowifi-linux-arm64 /usr/local/bin/nowifi ``` ### 从源码构建 ``` git clone https://github.com/MikkoParkkola/nowifi.git cd nowifi make build make test-short make ci sudo install -m 0755 bin/nowifi /usr/local/bin/nowifi # optional ``` 需要 Go 1.26+。macOS 菜单栏(`nowifi menubar`)需要 CGO,并且仅 包含在原生 macOS 构建版本中。 ## 快速开始 ``` # 一条命令。检测、bypass、cloak,并保持连接直到你停止。 sudo nowifi # 只读评估(不对网络进行更改) nowifi diagnose # 当环境无法被 bypass 时捕获取证包(只读) nowifi forensics # WPA 密码破解 sudo nowifi crack # 检查系统健康状态 nowifi doctor ``` `sudo nowifi` 会自动完成所有工作:检测 portal、探测漏洞、使用可用的最强大技术进行绕过、应用流量伪装(防网络共享检测),并**维持您的连接**,直到您按下 `Ctrl+C`。所有网络更改都会在退出时恢复。 ## 核心功能 - **会话持久化** — 绕过后保持连接。在会话到期时自动续期(MAC 轮换 → 全面重新绕过 → 重新探测)。登机前运行一次命令,整个飞行途中均保持连接。 - **流量伪装** — TTL 标准化以击败反共享检测(macOS 还通过 PF 添加了 IP ID 随机化和 MSS 钳制)。您绕过限制后的连接看起来与直连设备完全相同。 - **机上 WiFi 智能** — 针对七大主要供应商(Panasonic、Gogo、Viasat、Inmarsat、Thales、SITA、Anuvu)的配置文件,涵盖 40 多家航空公司。自动检测供应商并优化技术排序。 - **卫星感知** — 检测高延迟链路(RTT > 400ms)并动态调整所有超时设置。防止在机上网络中出现误报的空闲检测。 - **零配置隧道** — 如果未配置隧道服务器,则自动部署 Cloudflare Workers 代理。对 `cloudflared` 进行哈希校验并自动下载,以实现 DoH 隧道传输。 - **干净恢复保证** — `Ctrl+C` 始终会恢复原始的 MAC、代理、DNS、TTL、PF 规则和隧道进程。通过信号处理器处理 SIGINT/SIGTERM,并通过 `defer` 处理任何正常退出。 ## 常用命令与示例 | 命令 | 功能说明 | |---------|-------------| | `sudo nowifi` | 全面审计:检测、探测、绕过、维持访问权限、退出时恢复 | | `sudo nowifi -p` | 仅探测——在不利用漏洞的情况下发现安全泄漏 | | `sudo nowifi --dry-run` | 只读审计计划:检测、探测并展示可行的绕过方式,而不改变系统状态 | | `sudo nowifi --fast` | 跳过隐身计时(速度更快,但更容易被检测到) | | `sudo nowifi -t URL` | 使用特定的 chisel 隧道服务器 | | `sudo nowifi --http3-server https://vps:443` | 连接到 nowifi 服务器的 HTTP/3-ALPN 隧道 (#22) | | `sudo nowifi --doq-server 1.1.1.1:853` | 覆盖默认的 DoQ 解析器 (#21) | | `sudo nowifi --ech-server https://... --ech-config-list ` | TLS 1.3 ECH 域前置 (#24) | | `sudo nowifi --masque-server https://proxy:443` | 通过 HTTP/3 Extended CONNECT 实现的 MASQUE 隧道 (#27) | | `sudo nowifi --wt-server https://proxy:443/wt` | 基于 HTTP/3 的 WebTransport 隧道 (#28) | | `sudo nowifi --h2-proxy https://proxy:443` | HTTP/2 CONNECT 隧道(gRPC 风格) (#29) | | `sudo nowifi --sse-server https://relay.example.com` | SSE 流式隧道 (#30) | | `sudo nowifi --grpc-server https://proxy:443` | gRPC bidi 流式隧道 (#31) | | `sudo nowifi --connectip-server https://proxy:443` | CONNECT-IP 全 IP 隧道 (#32) | | `sudo nowifi -i en1` | 使用不同的 WiFi 网络接口(默认:`en0`) | | `nowifi recon -o klm.json` | 被动网络指纹提取,用于贡献供应商配置文件 | | `nowifi diagnose` | 只读安全评估(不对网络进行任何更改) | | `nowifi diagnose -r json -o report.json` | 将诊断结果保存为 JSON 文件 | | `nowifi forensics` | 捕获便携式取证包,记录哪些通道在强制限制下仍然可用(只读,无需 sudo,仅限本地的 `holes-.{txt,json}`) | | `nowifi forensics --baseline` | 捕获完全访问的基准数据,以便稍后在受限环境下进行对比 | | `nowifi report` | 审查并提交 nowifi 无法绕过的网络队列报告(经同意的 GitHub issue,MAC 地址已脱敏) | | `nowifi crack` | 8 种技术的 WPA/WPA2 破解流水线(按从快到慢排序,在首次恢复密码后停止) | | `nowifi crack --scan-only` | 扫描 WiFi 网络而不进行攻击 | | `nowifi scan` | 扫描附近的 WiFi 网络,包含信号/安全信息 | | `nowifi watch` | 维持访问——会话到期时自动重新连接 | | `nowifi history` | 显示过去的审计会话 | | `nowifi tools` | 显示已安装/缺失的外部工具 | | `nowifi tools -d` | 哈希校验并自动下载缺失的工具(chisel、hysteria、cloudflared) | | `nowifi server create` | 创建隧道服务器(CF Worker 或 VPS) | | `nowifi server list` | 列出活动的隧道服务器 | | `nowifi server rotate-token` | 使用新的 `nowifi_token` 重新部署托管 Worker | | `nowifi server destroy` | 销毁隧道服务器 | | `nowifi server info` | 显示哪些技术需要服务器 | | `nowifi config list` | 显示已保存的默认设置,例如隧道端点和接口 | | `sudo nowifi server listen` | 运行 HTTP/3-ALPN 隧道服务器(作为 `--http3-server` 的对等端) | | `nowifi ecosystem` | 展示互补工具(bettercap、wifiphisher 等) | | `nowifi setup` | 交互式首次设置向导 | | `nowifi doctor` | 系统健康检查 | | `nowifi doctor --json` | 机器可读的健康检查输出 | | `nowifi ui` | 启动 Web 仪表板 | | `nowifi menubar` | 启动 macOS 菜单栏应用 | | `nowifi score` | 为附近的 WiFi 网络评分(A-F) | | `sudo nowifi reset` | 崩溃/被杀掉后的紧急网络重置 | ## 43 种技术 ### Portal 绕过(35 种技术) 当您已连接到 WiFi 但被困在 captive portal 登录页面时,这些方法会起作用。 | # | 技术 | 原理 | 严重程度 | |---|-----------|-------------|----------| | 1 | **IPv6 绕过** | Portal 仅过滤 IPv4;IPv6 流量不受过滤直接通过 | Critical | | 2 | **HTTPS/WS 隧道** | 通过 HTTPS 连接到您服务器的 Chisel WebSocket 隧道 | Critical | | 3 | **CNA User-Agent 欺骗** | Portal 自动批准 Apple CNA/Wispr User-Agent 请求 | High | | 4 | **纯 JS 绕过** | Portal 仅在 JavaScript 中强制进行身份验证,而非服务器端 | High | | 5 | **HTTP CONNECT 滥用** | 通过 CONNECT 利用 portal 的透明代理进行隧道传输 | High | | 6 | **MAC 克隆(空闲设备)** | 克隆非活动状态已认证设备的 MAC 地址 | Critical | | 7 | **MAC 克隆(任意设备)** | 从 ARP 表中克隆任意已认证设备的 MAC | Critical | | 8 | **DNS 隧道** | 通过 iodine 进行 IP-over-DNS(50-500 Kbps) | High | | 9 | **ICMP 隧道** | 通过 hans 进行 IP-over-ping(100-300 Kbps) | High | | 10 | **端口 53 上的 VPN** | 在 DNS 端口上的 WireGuard/OpenVPN,通常是被允许的 | High | | 11 | **白名单域名** | 通过白名单 CDN 域名进行隧道传输 | Medium | | 12 | **会话 cookie 重放** | 嗅探并重放 portal 认证 cookie(HTTP portals) | High | | 13 | **Portal 默认凭据** | 尝试在 portal 管理界面使用默认管理员密码 | Critical | | 14 | **MAC 轮换** | 为获取新会话/配额/时间限制而生成新的随机 MAC | High | | 15 | **DHCP 轮换** | 通过 DHCP 释放/更新循环获取新 IP | Medium | | 16 | **QUIC 隧道** | 通过 UDP/443 运行 Hysteria2(对 DPI 看起来像 HTTP/3) | Critical | | 17 | **CF Workers 代理** | 通过 Cloudflare Workers 的无服务器代理(无需服务器) | Critical | | 18 | **NTP 隧道** | 将数据编码在 UDP/123 的 NTP 扩展字段中 | High | | 19 | **DoH 隧道** | 连接到 Cloudflare/Google 的 DNS-over-HTTPS(白名单端点) | High | | 20 | **CAPPORT 扩展** | RFC 8908 captive-portal API — 获取会话状态和用户 portal URL | Medium | | 21 | **DoQ 隧道** | 连接到公共解析器的 DNS-over-QUIC (RFC 9250),绕过 DNS 拦截 | High | | 22 | **HTTP/3 隧道** | 在 UDP/443 上具有 ALPN `h3` 的纯 Go QUIC 隧道,SOCKS5 包装 | Critical | | 23 | **DHCP Option 121 路由** | CVE-2024-3661 “TunnelVision” — 遵循 DHCP 广播的、绕过 portal 过滤链的静态路由(无服务器) | High | | 24 | **ECH 域前置** | TLS 1.3 加密客户端问候 (RFC 9147) 将真实 SNI 隐藏在 CDN 掩盖名称下 | Critical | | 25 | **基于 WebSocket 的 WG** | 在 TCP/443 的 WS 二进制帧中传输 WireGuard/隧道载荷(看起来像 Teams/Zoom) | Critical | | 26 | **辅助接口** | 使用蜂窝网络/USB-Ethernet/蓝牙 PAN 退出承运商网络,完全绕过 portal(无服务器) | Critical | | 27 | **MASQUE 隧道** | HTTP/3 Extended CONNECT (RFC 9220/9298) — 与 Apple Private Relay/Cloudflare WARP 完全相同 | Critical | | 28 | **WebTransport 隧道** | 基于 HTTP/3 的 RFC 9220 WebTransport — 对 DPI 来说就像 Google Meet/Zoom | Critical | | 29 | **HTTP/2 CONNECT 隧道** | HTTP/2 二进制框架 CONNECT — 对 DPI 看起来像 gRPC/Cloud API | Critical | | 30 | **SSE 流式隧道** | Server-Sent Events 下行 + HTTP POST 上行 — 看起来像新闻推送 | High | | 31 | **gRPC bidi 流式隧道** | HTTP/2 + application/grpc 框架 — 看起来像 Kubernetes/微服务 API 流量 | High | | 32 | **CONNECT-IP 隧道** | 通过 QUIC 数据报实现的 RFC 9484 全 IP 隧道 — 与 Apple Private Relay 相同 | Critical | | 33 | **Cloudflare WARP 隧道** | 零配置 — 自动注册免费 WARP 设备,通过 HTTP/2 CONNECT 进行隧道传输 | Critical | | 34 | **Portal 自中继** | 零配置 — 通过 HTTP/2 CONNECT 利用 portal 白名单域名(Stripe、Google、Apple)进行隧道传输 | Critical | | 35 | **TURN 中继** | 零配置 — 通过 TCP/443 上的公共 WebRTC TURN 服务器进行中继,与视频通话无法区分 | High | ### 当 nowifi 无法绕过时 —— 自我改进的循环 如果所有技术都失败,nowifi 会将死胡同转化为数据。它会自动捕获一个**取证包**(包含在强制限制下存活的出口通道、portal 的控制面概况、排名靠前的候选技术)并将其**在本地排队**——因为绕过失败意味着您处于离线状态,还无法提交任何内容。 下次您**在有可用互联网的情况下**运行 nowifi 时(或 `nowifi watch` 重新连接时),它会询问一次: ``` Unsolved network captured 2026-05-29 — provider=panasonic_nordic_sky, 25 open channels. Submit this report to github.com/MikkoParkkola/nowifi? [y/N] ``` 输入 `y` 后,它会提交一个 GitHub issue,其中包含为该环境构建绕过方法所需的所有信息。如果没有明确的同意,绝不会上传任何内容,并且您的 MAC 和附近设备的 MAC 会首先被脱敏为供应商 ID。可通过 `nowifi config set report_failures false` 禁用此功能。 ### 匿名遥测(选填,零成本) nowifi 可以发送有关哪些绕过技术在哪些 captive portal 上成功的匿名数据。目的:用于安全研究 + 改进未来版本中的技术排序。 ``` nowifi telemetry enable # opt in nowifi telemetry status # show state nowifi telemetry disable # opt out ``` **收集的数据**:技术 ID、是否成功、供应商、持续时间、版本、国家 **绝不收集**:IP、MAC、SSID、portal URL、DNS 名称或任何个人身份信息 数据发送到运行在免费层级(每天 10 万次事件)的单个 Cloudflare Worker。源码:[worker/telemetry/](worker/telemetry/)。 ### WPA 破解(4 种技术) 当您没有实际的 WiFi 密码时,这些技术可以破解它。各个阶段按顺序运行,只有在早期的捕获和智能破解阶段失败时,才会运行较慢的回退步骤。 | # | 技术 | 原理 | |---|-----------|-------------| | 31 | **PMKID 捕获** | 从 AP 的第一条消息中提取 PMKID——无需客户端(约覆盖 60% 的 AP) | | 32 | **WPS Pixie-Dust** | 利用 WPS 中的弱随机数生成器(约 30% 启用 WPS 的 AP,耗时 5-30 秒) | | 33 | **握手捕获 + hashcat** | 对客户端进行 Deauth 攻击,捕获 4 次握手包,进行 GPU 破解 | | 34 | **WPS PIN 暴力破解** | 暴力破解 11,000 种 PIN 组合(耗时 2-10 小时,作为最后手段) | ### 智能破解(4 种额外策略) | # | 技术 | 原理 | |---|-----------|-------------| | 35 | **智能常见密码** | 排名前 1000 的 WiFi 密码(内嵌,无需字典) | | 36 | **数字掩码攻击** | ISP 路由器中常见的 8 位数字模式 | | 37 | **单词+数字规则** | 将字典单词与数字结合的 hashcat 规则 | | 38 | **在线暴力破解** | wpa_supplicant PSK 尝试(无需监控模式) | 智能破解流水线还会在规则和在线暴力破解之间,按成本递增顺序运行字典破解、智能暴力破解以及(选择性开启的)全面暴力破解阶段。 ## 外部工具 nowifi 对于许多技术开箱即用。外部工具可解锁隧道和破解功能。 ``` # 检查已安装的内容 nowifi tools # 支持工具的 Checksum 校验自动下载 nowifi tools -d ``` | 工具 | 解锁内容 | 安装方式 | |------|---------|---------| | chisel | HTTPS/WS 隧道 (#2) | `nowifi tools -d` | | hysteria | QUIC 隧道 (#16) | `nowifi tools -d` | | cloudflared | DoH 隧道 (#19) | `nowifi tools -d` | | iodine | DNS 隧道 (#8) | `brew install iodine` | | hans | ICMP 隧道 (#9) | `brew install hans` | | hashcat | WPA 破解 (GPU) | `brew install hashcat` | | aircrack-ng | WPA 破解 (CPU) | `brew install aircrack-ng` | | hcxdumptool | PMKID/握手包捕获 | `brew install hcxdumptool` | | hcxpcapngtool | 为 hashcat 转换捕获数据 | `brew install hcxtools` | | reaver | WPS Pixie-Dust/PIN 攻击 | `brew install reaver` | ### 杀毒软件误报(chisel、hysteria、cloudflared) 这些工具是合法的 FOSS 隧道实用程序,但几个杀毒引擎将它们归类为 **HackTool / PUA**(潜在不需要的应用程序)——不是病毒,也不是木马,而是一种在真实攻击链中也能看到的双用途工具(CISA AA22-216A、AA23-129A 标出勒索软件团伙使用了 chisel)。 您可能会看到: | 引擎 | 判定 | 严重程度 | |---|---|---| | Microsoft Defender | `HackTool:Win64/Chisel`, `HackTool:Linux/Chisel` | informational | | ESET | `Linux/Chisel.A` (潜在不安全应用) | low | | Sophos | `HackTool/Chisel-A` | low | | Kaspersky | `not-a-virus:RemoteAdmin.*` | informational | | VirusTotal | 15-25 / 70 检测率,均为“HackTool / PUA”类别 | — | **验证您拥有真实的二进制文件:** ``` # nowifi 从官方发布页面自动下载并验证 SHA-256。 # 手动重新检查: shasum -a 256 ~/.nowifi/tools/chisel # compare to github.com/jpillora/chisel/releases shasum -a 256 ~/.nowifi/tools/hysteria # compare to github.com/apernet/hysteria/releases shasum -a 256 ~/.nowifi/tools/cloudflared # compare to github.com/cloudflare/cloudflared/releases ``` **如果您的杀毒软件隔离了某个工具:** 1. 确认二进制路径位于 `~/.nowifi/tools/` 下(自动下载,已通过 SHA 验证)——而不是随机位置。 2. 在您的杀毒软件中通过 SHA-256 加入白名单(首选,属于精确的例外)。通用的路径白名单 `~/.nowifi/tools/*` 也是可以接受的。 3. 如果 SHA-256 与上游发布版本**不**匹配,请**不要**加入白名单——请重新运行 `nowifi tools -d` 下载,或在 [SECURITY.md](SECURITY.md) 中报告供应链安全问题。 这些工具不是恶意软件。它们是世界各地的网络工程师、渗透测试人员和远程访问工具使用的相同二进制文件。请将杀毒软件的判定视为参考信息,而不是停止使用的信号。 ## 隧道服务器设置 许多技术无需任何服务器即可工作(MAC 克隆、IPv6、CNA 欺骗等)。基于隧道的绕过需要一个由您控制、且位于 portal 网络外部的服务器。 ### 最快方式:Cloudflare Workers(免费) ``` nowifi server create # 部署免费的已认证 Cloudflare Worker proxy(每天 10 万次请求) ``` 生成的 Worker URL 包含一个 `nowifi_token` 查询参数。请将完整的 URL 保留在您的 nowifi 配置中;为了避免在您的 Cloudflare 账户上留下开放的公共代理,无 token 的 Worker URL 将被拒绝。 ### VPS(DigitalOcean / Hetzner) ``` nowifi server create -p digitalocean -t do_xxx_token # 创建 $0.007/小时的 droplet,预装 chisel+iodine+hans ``` ### 您自己的服务器 ``` # 在你的服务器上: chisel server --reverse --port 443 # 在你的笔记本电脑上(在 portal 之后): sudo nowifi -t https://your-server.example.com ``` ### HTTP/3-ALPN 隧道服务器(#22,纯 Go,无需外部二进制文件) ``` # 在你的服务器上(执行一次): sudo nowifi server listen --addr 0.0.0.0:443 --hostname tunnel.example.com # 自动生成自签名 cert(或传入 --cert/--key 用于 Let's Encrypt)。 # 在你的笔记本电脑上(在 portal 之后): sudo nowifi --http3-server https://tunnel.example.com:443 ``` 该服务器使用 QUIC 协议,在 UDP/443 上使用 ALPN `h3`。从中间盒的角度来看,其流量与浏览器的 HTTP/3 会话无法区分,因此可以通过仅支持 TCP 的 DPI 和大多数 captive portal 过滤器。 ### DoH/DoQ(无需服务器) 技术 #21(DoQ)连接到公共解析器(默认为 `dns.adguard.com:853`),因此不需要任何基础设施。#19(DoH — Cloudflare/Google)也是如此。 ## 实战方案 针对特定场景的实践指南: - [通过 Cloudflare Quick Tunnel 建立 VPN](docs/recipes/vpn-over-quick-tunnel.md) — 使用零配置 UDP(`nowifi server create -p cloudflare-quick --udp`)通过仅支持 TCP 的 captive portal 传输 VPN,外加四种替代策略(chisel-legacy、OpenVPN TCP、wstunnel、Tailscale/ZeroTier)。 有关完整的发布历史,请参阅 [`CHANGELOG.md`](CHANGELOG.md)。 涉及安全性的更改还应使用 [`SECURITY.md`](SECURITY.md) 策略以及 [`docs/SECURITY-REGRESSION-CHECKLIST.md`](docs/SECURITY-REGRESSION-CHECKLIST.md)。 ## 架构 (Go) ``` cmd/nowifi/main.go Entry point internal/ cli/ Cobra commands (audit, diagnose, crack, tools, ...) detect/ Portal detection: canary URLs, DNS hijack, vendor fingerprinting probe/ Leak enumeration: DNS, ICMP, IPv6, HTTPS, QUIC, NTP, DoH, ports bypass/ 35 portal bypass techniques, ordered most-powerful-first crack/ WPA cracking: PMKID, handshake, hashcat, WPS, smart crack tunnel/ Tunnel management: chisel, iodine, hans, hysteria platform/ OS abstraction: macOS (darwin.go) / Linux (linux.go) report/ Terminal, markdown, and JSON report generation toolchain/ External tool discovery, auto-download, version management server/ Cloudflare Workers + VPS provisioning (DO, Hetzner) config/ Persistent config (~/.nowifi/config.json) capture/ Audit trail storage (~/.nowifi/captures/) guard/ State restoration on exit (MAC, proxy, DNS) monitor/ WiFi monitor mode management discover/ WiFi network scanning portal/ Auto-login to known portal types clone/ MAC address cloning inflight/ Airline portal intelligence: 7 provider profiles, 40+ airlines score/ WiFi network scoring (A-F grade) ui/ Web dashboard + menubar app ``` ## 负责任的使用 此工具用于对 captive portal 实现进行**授权的安全评估**。 - **仅测试您拥有或获得明确书面授权测试的网络。** 在大多数司法管辖区,未经授权访问计算机网络是非法的(例如美国的 CFAA、英国的 Computer Misuse Act、芬兰的 Rikoslaki 38:8)。 - **Deauthentication 攻击**(技术 #22,WPA 握手捕获)会主动干扰其他用户的连接。如果影响到第三方,即使是在您自己拥有的网络上,也可能违反电信法规。 - **MAC 克隆** 另一个设备的地址会接管其经过身份验证的会话,从而导致他们断开连接。仅在受控实验室环境中或在获得明确同意的情况下使用此功能。 - **会话 cookie 重放** 涉及捕获其他用户的网络流量。这可能违反您所在司法管辖区的窃听法。 作者对滥用行为不承担任何责任。发布此工具是出于防御性研究、安全评估和教育目的。 ## 更多工具 | 工具 | 功能说明 | |------|-------------| | [trvl](https://github.com/MikkoParkkola/trvl) | AI 旅行代理——航班、酒店、轮渡,33 个 MCP 工具 | | [axterminator](https://github.com/MikkoParkkola/axterminator) | macOS GUI 自动化——30 个 MCP 工具,音频/摄像头捕获 | | [mcp-gateway](https://github.com/MikkoParkkola/mcp-gateway) | 通用 MCP 网关——单端口多路复用 | | [nab](https://github.com/MikkoParkkola/nab) | 面向 LLM 的 Token 优化 HTTP 客户端 | 所有工具:`brew tap MikkoParkkola/tap && brew install trvl axterminator mcp-gateway nab nowifi` ## 许可证 [AGPL-3.0](LICENSE) -- Copyright (C) 2026 Mikko Parkkola
标签:DOS头擦除, EVTX分析, Go, Ruby工具, 密码破解, 渗透测试, 网络安全, 认证绕过, 隐私保护