bettercap 介绍与选型指南
bettercap 网络攻击与防御框架的定位、核心架构、功能边界、快速开始与 Wireshark/tcpdump/mitmproxy/ettercap 量化选型对比,基于 v2.41.7 官方与社区资料溯源(2026-10-24)。
bettercap 介绍与选型指南
目标:本文面向需要在自有服务器/实验室环境选型网络嗅探与中间人(MITM)测试框架的读者,基于官方与社区公开资料溯源介绍 bettercap 的定位、架构、功能边界与同类工具对比,帮助读者判断 bettercap 是否适合当前工作场景。
一、环境信息
本篇为认知与选型篇,所有数据均来自官方与社区公开渠道的联网溯源,未做本地实测;查询日期统一为 2026-10-24。
- 软件名称:bettercap(官方口号 "The State of the Art Hacker Framework for Network Attacks and Monitoring")
- 官方仓库:github.com/bettercap/bettercap(Go 语言)
- 官方文档:bettercap.org(含 modules 与 caplets 文档)
- 最新稳定版本:v2.41.7(来源:GitHub Releases 页 releases.atom,2026-10-24 查询,为 releases 列表最新条目)
- 社区热度:约 20k GitHub Stars(来源:shields.io 仓库徽章,2026-10-24 查询)
- 官方预编译发布物:
bettercap_linux_amd64.zip、bettercap_darwin_arm64.zip、bettercap_windows_amd64.zip及配套.sha256校验文件(来源:v2.41.7 Release 资产列表,2026-10-24 查询) - 许可证:GPL-3.0(来源:仓库 LICENSE)
- 维护方:bettercap 社区(核心作者 simone margaritelli / evilsocket,现为社区维护)
二、软件概述
bettercap 是一个用 Go 语言编写的、面向网络攻击与监控的开源框架,定位为「瑞士军刀」式的网络 MITM 与侦查工具集。它把网络嗅探、中间人代理、协议欺骗、无线攻击、物联网协议侦查等能力统一到一个单二进制交互式会话里:启动后进入类 shell 的交互会话,通过 模块(module)+ 命令 + 变量 的模型按需启用功能,并支持用 caplet 脚本把一套命令序列固化成可复用的「作战脚本」。
bettercap 的两个经典使用形态:
- 红队/渗透测试:在授权测试的内网中做主机发现、ARP/DNS 欺骗、HTTP(S) 中间人、凭据与 Cookie 嗅探、WiFi 握手包捕获等;
- 蓝队/防御研究:理解攻击手法、验证 IDS/EDR 对 MITM 与欺骗行为的检测能力,配合 Web UI 观察网络中的设备与协议活动。
💡 技术拓展:「中间人攻击(MITM)工具」内部实现机制不止一种,主流路线对比——
机制 原理 代表工具 特点 ARP 欺骗 伪造 ARP 应答劫持二层流量 ettercap、bettercap 局域网经典手法,需与嗅探/转发配合 显式代理 客户端主动配置代理指向工具 mitmproxy、bettercap 无需欺骗流量,适合应用层调试与测试 透明代理 iptables/nftables 重定向流量到代理端口 bettercap、mitmproxy 对客户端透明,需网关或本机流量控制权限 DNS/DHCP/NDP 欺骗 伪造解析应答把目标引到攻击机 bettercap、mitm6 域名级劫持,常与 ARP 欺骗组合 bettercap 的特点是上述机制在一个会话内全部内置,可按模块自由组合;本文即以 bettercap 为主线展开。
三、核心架构
bettercap 采用「会话核心 + 模块 + 事件流 + 脚本扩展」的分层架构(依据官方文档 bettercap.org 与仓库源码结构,2026-10-24 查询):
- 会话核心(Session):启动时绑定网络接口(默认自动选择),维护主机表(endpoints)、环境变量表、事件流与会话历史;交互会话提供
help、set/get、active等核心命令。 - 模块(Modules):全部功能以模块形式组织,截至 v2.41.7 共 35 个模块(依据 v2.41.7 交互会话
help输出的 Modules 区统计),按域划分为:- 网络侦查:
net.recon(主机发现)、net.probe(主动探测)、net.sniff(嗅探) - 中间人与代理:
arp.spoof、ndp.spoof、dhcp6.spoof、dns.spoof、dns.proxy、http.proxy、https.proxy、tcp.proxy、packet.proxy、any.proxy - 服务与投放:
http.server、https.server、mysql.server(伪造 MySQL 服务器)、zerogod(ZeroConf/mDNS/IPP 服务伪造)、c2(IRC 型命令与控制) - 无线与近场:
wifi(WiFi 侦查/去认证/伪 AP)、ble.recon(低功耗蓝牙)、hid(HID 设备注入)、gps(GPS 定位读取)、can(CAN 总线)、wol(网络唤醒) - 基础设施:
events.stream(事件流,默认启动)、api.rest(REST API)、ui(Web UI)、caplets(caplet 管理与下载)、update(自更新)、ticker(定时执行)、graph(网络图导出)、mac.changer、syn.scan、any.proxy
- 网络侦查:
- 事件流(events.stream):所有模块产生的发现、抓包、告警事件统一进入事件总线,默认打印到终端,也可落盘为轮转日志或推送给 API/UI。
- 变量系统:每个模块的行为参数都是会话变量(如
net.sniff.filter、http.proxy.port),用set修改、get查询,构成比配置文件更灵活的运行时配置模型。 - caplet 脚本体系:caplet 是纯文本命令序列(
.cap),配合 JS 代理脚本(.js)可实现复杂逻辑;官方维护 bettercap/caplets 仓库提供数十个现成 caplet,caplets.update一条命令即可下载安装。 - Web UI 与 API:
api.rest模块提供 REST API,ui模块提供内置 Web 图形界面(会话变量ui.port默认 8080),浏览器中可查看设备、事件与凭据。
四、功能特性
依据官方文档与模块清单(2026-10-24 查询)归纳:
- 主机发现与网络侦查:
net.recon被动收集局域网主机,net.probe主动发送探测包,支持 mDNS/NBNS/UPnP/WSD 发现(net.probe.mdns、net.probe.nbns等默认开启);syn.scan做 TCP SYN 端口扫描。 - 流量嗅探与解析:
net.sniff解析 HTTP、HTTPS(SNI)、DNS、mDNS、SIP、FTP、Modbus、MQTT 等应用层协议,支持 BPF 过滤(net.sniff.filter)、正则过滤、落盘 pcap 输出。 - 中间人:ARP/NDP/DHCPv6/DNS 欺骗模块 + http/https/tcp 代理模块组合,支持 sslstrip、JS 注入(
http.proxy.injectjs)、自定义 JS 代理脚本;https 代理自动生成 CA 证书(~/.bettercap-ca.cert.pem)。 - WiFi 攻击与监控:
wifi模块支持信道跳频扫描、AP/客户端列表、去认证攻击、握手包捕获(落盘 pcap)、伪造 AP(wifi.ap)、WPS/WPA 密码爆破辅助;需支持 monitor 模式的无线网卡。 - 物联网与近场协议:BLE 设备扫描、HID 攻击(默认针对 Logitech Unifying)、CAN 总线监控与 OBD2 解析、GPS 读取、ZeroConf 服务伪造(zerogod,含 IPP 文档捕获)。
- 钓鱼与投放支撑:内置 http/https 服务器(
http.server/https.server)托管钓鱼页面或载荷;http.proxy配合 caplet 可做页面内容替换(web-override caplet)。 - 可编程与可视化:caplet 脚本 + JS 代理脚本 +
ticker定时器实现自动化;Web UI 图形化查看;graph模块把网络拓扑导出为 dot/json。 - 部署形态:单二进制零依赖设计(运行期仅需 libpcap/libusb/libnetfilter-queue 等系统库),支持 Linux/macOS/Windows 官方预编译包,官方另有 Kali 安装源与 Docker 镜像分发(来源:仓库 README,2026-10-24 查询)。
五、快速开始(最小可用示例)
以下为官方 README/docs 的标准最小用法(来源:bettercap 官方仓库 README 与 bettercap.org 文档,2026-10-24 查询;命令形态为官方原文,具体回显随环境而异,完整安装与实测流程见《bettercap 2.41.7 安装指南》):
- Linux 下以 root 启动交互会话(嗅探与欺骗需要 root 权限):
sudo bettercap
- 进入交互会话后,官方示例的最小工作流(先发现主机,再对目标开启 ARP 欺骗并嗅探):
net.probe on # 主动探测局域网主机
net.probe off # 探测完成后关闭,减少噪音
set arp.spoof.targets 192.168.1.64 # 指定欺骗目标
arp.spoof on # 开始 ARP 欺骗
net.sniff on # 开启嗅探,观察流经的凭据/URL/请求
- 启动自带 Web UI(浏览器访问 http://127.0.0.1:8080):
sudo bettercap -eval "set api.rest.username admin; set api.rest.password q1w2e3r4; api.rest on; ui on"
⚠️ 注意:bettercap 的嗅探、ARP/DNS 欺骗、WiFi 攻击等能力只应在自有或明确授权的网络环境中使用,对未授权网络实施欺骗/嗅探在大多数司法辖区属违法行为。Web UI 暴露时务必修改默认凭据并限定监听地址。
六、适用场景与限制
6.1 适用场景
- 授权渗透测试与红队演练:内网横向阶段的流量劫持、凭据收集、钓鱼投放与 C2 通道搭建(c2 模块)。
- 安全研究与教学:在同一框架内演示 ARP/DNS/DHCPv6 欺骗、sslstrip、WiFi 去认证等经典攻击的原理与防御。
- 物联网/无线电侦查:BLE、HID、CAN、GPS、ZeroConf 一站式侦查能力,是同类 MITM 工具中少见的覆盖面。
- 网络可视化与资产盘点:net.recon + Web UI 可作为轻量级局域网设备监视器长期运行。
- 自动化流水线:caplet 脚本 + REST API 便于把测试动作编排进自动化任务。
6.2 限制与注意
- 运行权限与前置:嗅探/欺骗需要 root 与 NET_RAW/NET_ADMIN 能力;http.proxy/dns.spoof 等透明劫持依赖 iptables/nftables 与内核 NFQUEUE 支持;WiFi 模块需独立无线网卡且支持 monitor 模式。
- 交换网络效果受限:ARP 欺骗只在同一二层广播域有效,跨 VLAN/三层环境需其他前提。
- 加密流量看不到明文:对 HTTPS,需目标信任 bettercap CA(或客户端本身使用 http)才能还原内容,https 代理默认证书会触发浏览器告警。
- Windows 支持有限:官方发布 Windows 二进制,但嗅探/欺骗能力主要面向 Linux/macOS;Windows 下部分模块不可用。
- 维护节奏:项目由社区维护,v2.x 系列以小版本迭代为主(v2.41.x),重大架构演进(如 v3)无明确时间表(依据 Releases 页发布节奏观察,2026-10-24)。
七、同类选型对比
以下对比数据均来自 shields.io 徽章与各官方仓库 Releases 页(2026-10-24 查询),版本为各仓库最新 tag:
| 维度 | bettercap | Wireshark | tcpdump | mitmproxy | ettercap |
|---|---|---|---|---|---|
| GitHub Stars | 约 20k | 约 10k | 约 3.2k | 约 46k | 约 2.8k |
| 最新版本 | v2.41.7 | v5.0.0rc1(稳定线 v4.x) | tcpdump-4.99.7 | v12.3.0 | v0.8.4.1 |
| 语言 | Go | C/C++ | C | Python | C |
| 形态 | 单二进制交互会话 + Web UI | GUI(附带 tshark CLI) | 纯 CLI | CLI + TUI + Web UI | GUI/CLI |
| 定位 | 网络 MITM 框架(攻击+监控) | 通用协议深度分析 | 轻量抓包 | HTTP(S)/WebSocket 专用 MITM | 经典 ARP MITM |
| 协议覆盖 | HTTP(S)/DNS/mDNS/FTP/SIP/MQTT/Modbus 等应用层 + 二层欺骗 + WiFi/BLE/HID/CAN/GPS | 数千种协议解析(被动分析最强) | 链路层到应用层原始抓包 | HTTP/1、HTTP/2、HTTP/3、WebSocket、TLS | ARP/TCP 会话劫持与嗅探,协议更新缓慢 |
| 主动攻击能力 | ARP/NDP/DHCPv6/DNS 欺骗、sslstrip、JS 注入、去认证、伪 AP、HID 注入 | 无(纯分析) | 无 | 显式/透明代理、脚本改写 | ARP 欺骗、会话劫持、插件扩展 |
| 扩展机制 | caplet 脚本 + JS 代理脚本 + REST API | Lua 插件 | 无 | Python 插件/脚本(事件钩子) | C 插件、lua(ettercap 0.8+) |
| 版本节奏(近年) | 小步快跑,2025-2026 维持 v2.41.x 系列修补 | 大版本演进,v4.x → v5.0 候选 | 稳定维护,年更 | 活跃,大版本迭代快(v10→v12) | 长期停滞,0.8.x 系列偶有修补 |
| 典型依赖 | libpcap/libusb/libnetfilter-queue | Qt/GTK 图形栈 | libpcap | Python 3.10+ 运行时 | libpcap/libnet/GTK |
关键差异与选型建议:
- 需要「Web 图形化深度协议分析/取证」→ Wireshark(解析广度与生态无可替代,但无攻击能力)。
- 需要「服务器上轻量抓包留存」→ tcpdump(零依赖、脚本友好,可与 bettercap 组合:bettercap 做劫持、tcpdump 做留存)。
- 需要「HTTP(S)/API 调试与改写」→ mitmproxy(Python 生态与脚本能力最强,交互体验最好,但只覆盖应用层 HTTP 系)。
- 需要「局域网一站式 MITM:欺骗+嗅探+投放+无线+IoT」→ bettercap(模块最全、单二进制、可脚本化)。
- 维护老旧的 ettercap 的经典 ARP 劫持功能已被 bettercap 全覆盖且更活跃,除历史项目兼容外新选型不建议优先 ettercap。
组合建议:bettercap(劫持与投放)+ Wireshark/tshark(深度分析)+ mitmproxy(HTTP 细粒度改写)三者互补而非互斥;bettercap 的 net.sniff.output 可直接输出 pcap 供 Wireshark 后续分析。
八、参考链接
- 官方仓库:https://github.com/bettercap/bettercap (2026-10-24 查询)
- 官方文档:https://www.bettercap.org/
- 官方 caplets 仓库:https://github.com/bettercap/caplets
- v2.41.7 Release 页:https://github.com/bettercap/bettercap/releases/tag/v2.41.7
- Star/版本徽章数据:https://img.shields.io/github/stars/bettercap/bettercap.json (2026-10-24 查询)
站内相关:《bettercap 介绍与选型指南》、《bettercap 2.41.7 安装指南》、《bettercap 2.41.7 配置参数详解》、《bettercap 2.41.7 常用 CLI 命令详解》