bettercap 介绍与选型指南

bettercap 网络攻击与防御框架的定位、核心架构、功能边界、快速开始与 Wireshark/tcpdump/mitmproxy/ettercap 量化选型对比,基于 v2.41.7 官方与社区资料溯源(2026-10-24)。

bettercapbettercap安全测试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 的两个经典使用形态:

  1. 红队/渗透测试:在授权测试的内网中做主机发现、ARP/DNS 欺骗、HTTP(S) 中间人、凭据与 Cookie 嗅探、WiFi 握手包捕获等;
  2. 蓝队/防御研究:理解攻击手法、验证 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 查询):

  1. 会话核心(Session):启动时绑定网络接口(默认自动选择),维护主机表(endpoints)、环境变量表、事件流与会话历史;交互会话提供 help、set/get、active 等核心命令。
  2. 模块(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
  3. 事件流(events.stream):所有模块产生的发现、抓包、告警事件统一进入事件总线,默认打印到终端,也可落盘为轮转日志或推送给 API/UI。
  4. 变量系统:每个模块的行为参数都是会话变量(如 net.sniff.filter、http.proxy.port),用 set 修改、get 查询,构成比配置文件更灵活的运行时配置模型。
  5. caplet 脚本体系:caplet 是纯文本命令序列(.cap),配合 JS 代理脚本(.js)可实现复杂逻辑;官方维护 bettercap/caplets 仓库提供数十个现成 caplet,caplets.update 一条命令即可下载安装。
  6. Web UI 与 API:api.rest 模块提供 REST API,ui 模块提供内置 Web 图形界面(会话变量 ui.port 默认 8080),浏览器中可查看设备、事件与凭据。

四、功能特性

依据官方文档与模块清单(2026-10-24 查询)归纳:

  1. 主机发现与网络侦查:net.recon 被动收集局域网主机,net.probe 主动发送探测包,支持 mDNS/NBNS/UPnP/WSD 发现(net.probe.mdns、net.probe.nbns 等默认开启);syn.scan 做 TCP SYN 端口扫描。
  2. 流量嗅探与解析:net.sniff 解析 HTTP、HTTPS(SNI)、DNS、mDNS、SIP、FTP、Modbus、MQTT 等应用层协议,支持 BPF 过滤(net.sniff.filter)、正则过滤、落盘 pcap 输出。
  3. 中间人:ARP/NDP/DHCPv6/DNS 欺骗模块 + http/https/tcp 代理模块组合,支持 sslstrip、JS 注入(http.proxy.injectjs)、自定义 JS 代理脚本;https 代理自动生成 CA 证书(~/.bettercap-ca.cert.pem)。
  4. WiFi 攻击与监控:wifi 模块支持信道跳频扫描、AP/客户端列表、去认证攻击、握手包捕获(落盘 pcap)、伪造 AP(wifi.ap)、WPS/WPA 密码爆破辅助;需支持 monitor 模式的无线网卡。
  5. 物联网与近场协议:BLE 设备扫描、HID 攻击(默认针对 Logitech Unifying)、CAN 总线监控与 OBD2 解析、GPS 读取、ZeroConf 服务伪造(zerogod,含 IPP 文档捕获)。
  6. 钓鱼与投放支撑:内置 http/https 服务器(http.server/https.server)托管钓鱼页面或载荷;http.proxy 配合 caplet 可做页面内容替换(web-override caplet)。
  7. 可编程与可视化:caplet 脚本 + JS 代理脚本 + ticker 定时器实现自动化;Web UI 图形化查看;graph 模块把网络拓扑导出为 dot/json。
  8. 部署形态:单二进制零依赖设计(运行期仅需 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 安装指南》):

  1. Linux 下以 root 启动交互会话(嗅探与欺骗需要 root 权限):
sudo bettercap
  1. 进入交互会话后,官方示例的最小工作流(先发现主机,再对目标开启 ARP 欺骗并嗅探):
net.probe on            # 主动探测局域网主机
net.probe off           # 探测完成后关闭,减少噪音
set arp.spoof.targets 192.168.1.64   # 指定欺骗目标
arp.spoof on            # 开始 ARP 欺骗
net.sniff on            # 开启嗅探,观察流经的凭据/URL/请求
  1. 启动自带 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 适用场景

  1. 授权渗透测试与红队演练:内网横向阶段的流量劫持、凭据收集、钓鱼投放与 C2 通道搭建(c2 模块)。
  2. 安全研究与教学:在同一框架内演示 ARP/DNS/DHCPv6 欺骗、sslstrip、WiFi 去认证等经典攻击的原理与防御。
  3. 物联网/无线电侦查:BLE、HID、CAN、GPS、ZeroConf 一站式侦查能力,是同类 MITM 工具中少见的覆盖面。
  4. 网络可视化与资产盘点:net.recon + Web UI 可作为轻量级局域网设备监视器长期运行。
  5. 自动化流水线:caplet 脚本 + REST API 便于把测试动作编排进自动化任务。

6.2 限制与注意

  1. 运行权限与前置:嗅探/欺骗需要 root 与 NET_RAW/NET_ADMIN 能力;http.proxy/dns.spoof 等透明劫持依赖 iptables/nftables 与内核 NFQUEUE 支持;WiFi 模块需独立无线网卡且支持 monitor 模式。
  2. 交换网络效果受限:ARP 欺骗只在同一二层广播域有效,跨 VLAN/三层环境需其他前提。
  3. 加密流量看不到明文:对 HTTPS,需目标信任 bettercap CA(或客户端本身使用 http)才能还原内容,https 代理默认证书会触发浏览器告警。
  4. Windows 支持有限:官方发布 Windows 二进制,但嗅探/欺骗能力主要面向 Linux/macOS;Windows 下部分模块不可用。
  5. 维护节奏:项目由社区维护,v2.x 系列以小版本迭代为主(v2.41.x),重大架构演进(如 v3)无明确时间表(依据 Releases 页发布节奏观察,2026-10-24)。

七、同类选型对比

以下对比数据均来自 shields.io 徽章与各官方仓库 Releases 页(2026-10-24 查询),版本为各仓库最新 tag:

维度bettercapWiresharktcpdumpmitmproxyettercap
GitHub Stars约 20k约 10k约 3.2k约 46k约 2.8k
最新版本v2.41.7v5.0.0rc1(稳定线 v4.x)tcpdump-4.99.7v12.3.0v0.8.4.1
语言GoC/C++CPythonC
形态单二进制交互会话 + Web UIGUI(附带 tshark CLI)纯 CLICLI + TUI + Web UIGUI/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、TLSARP/TCP 会话劫持与嗅探,协议更新缓慢
主动攻击能力ARP/NDP/DHCPv6/DNS 欺骗、sslstrip、JS 注入、去认证、伪 AP、HID 注入无(纯分析)无显式/透明代理、脚本改写ARP 欺骗、会话劫持、插件扩展
扩展机制caplet 脚本 + JS 代理脚本 + REST APILua 插件无Python 插件/脚本(事件钩子)C 插件、lua(ettercap 0.8+)
版本节奏(近年)小步快跑,2025-2026 维持 v2.41.x 系列修补大版本演进,v4.x → v5.0 候选稳定维护,年更活跃,大版本迭代快(v10→v12)长期停滞,0.8.x 系列偶有修补
典型依赖libpcap/libusb/libnetfilter-queueQt/GTK 图形栈libpcapPython 3.10+ 运行时libpcap/libnet/GTK

关键差异与选型建议:

  1. 需要「Web 图形化深度协议分析/取证」→ Wireshark(解析广度与生态无可替代,但无攻击能力)。
  2. 需要「服务器上轻量抓包留存」→ tcpdump(零依赖、脚本友好,可与 bettercap 组合:bettercap 做劫持、tcpdump 做留存)。
  3. 需要「HTTP(S)/API 调试与改写」→ mitmproxy(Python 生态与脚本能力最强,交互体验最好,但只覆盖应用层 HTTP 系)。
  4. 需要「局域网一站式 MITM:欺骗+嗅探+投放+无线+IoT」→ bettercap(模块最全、单二进制、可脚本化)。
  5. 维护老旧的 ettercap 的经典 ARP 劫持功能已被 bettercap 全覆盖且更活跃,除历史项目兼容外新选型不建议优先 ettercap。

组合建议:bettercap(劫持与投放)+ Wireshark/tshark(深度分析)+ mitmproxy(HTTP 细粒度改写)三者互补而非互斥;bettercap 的 net.sniff.output 可直接输出 pcap 供 Wireshark 后续分析。

八、参考链接

  1. 官方仓库:https://github.com/bettercap/bettercap (2026-10-24 查询)
  2. 官方文档:https://www.bettercap.org/
  3. 官方 caplets 仓库:https://github.com/bettercap/caplets
  4. v2.41.7 Release 页:https://github.com/bettercap/bettercap/releases/tag/v2.41.7
  5. 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 命令详解》