ettercap是一款功能强大的网络嗅探与分析工具,主要用于局域网内的流量监控、中间人攻击测试、密码嗅探等安全审计场景,其命令行模式提供了灵活的操作方式,通过组合不同的参数与选项,用户可以实现对网络流量的深度分析,以下从核心功能、常用命令结构、典型应用场景及注意事项等方面详细解析ettercap命令的使用方法。

ettercap命令基础结构与核心参数
ettercap的命令行格式通常为ettercap [选项] [目标1] [目标2],其中目标可以是IP地址、MAC地址或特定关键词(如表示所有主机),核心参数可分为界面选择、目标指定、攻击模式配置等几类。
界面与启动参数
-i <接口>:指定网络接口,如ether0、wlan0,可通过ip a或ifconfig查看可用接口。-T:使用文本界面(Text User Interface),适合远程服务器或无图形环境。-G:启动图形界面(GTK GUI),提供可视化操作面板,适合本地测试。-q:静默模式,减少非必要输出,适用于自动化脚本。-u:以非root用户运行(部分功能仍需root权限)。
目标选择与匹配
目标的指定是ettercap操作的关键,支持多种匹配方式:
- 单目标:
-t 192.168.1.100(仅嗅探指定主机)。 - 目标对:
-T 192.168.1.1 -T 192.168.1.100(指定中间人攻击的目标对,如网关与目标主机)。 - CIDR网段:
-m 192.168.1.0/24(匹配整个子网)。 - MAC地址:
-M aa:bb:cc:dd:ee:ff(精确匹配物理地址)。
攻击与嗅探模式
ettercap的核心功能通过攻击模式实现,常用模式包括:
-M arp:remote // //:远程ARP欺骗,攻击网关与目标主机的ARP表,实现中间人攻击。-L <日志文件>:记录嗅探数据到指定文件,支持txt、pcap等格式。-P <插件名>:加载插件,如sslstrip(剥离HTTPS)、dhcp_cheating(DHCP欺骗)等。
典型应用场景与命令示例
基础流量嗅探
仅捕获指定接口的所有流量,不进行主动攻击:

ettercap -i eth0 -T -q -L capture.pcap //
-i eth0:使用以太网接口eth0;-T -q:文本界面静默运行;-L capture.pcap:将数据保存为pcap格式,可用Wireshark分析。
ARP欺骗与中间人攻击
捕获目标主机与网关之间的明文流量(如HTTP、FTP密码):
ettercap -i eth0 -T -q -M arp:remote /192.168.1.100/ /192.168.1.1/
-M arp:remote:发起远程ARP欺骗;/192.168.1.100/:目标主机;/192.168.1.1/:网关地址。
DNS欺骗
将目标主机访问的域名解析为指定IP(如钓鱼网站):
ettercap -i eth0 -T -q -P dns_spoof -s "www.example.com 192.168.1.50" //
-P dns_spoof:加载DNS欺骗插件;-s:设置欺骗规则,将www.example.com指向168.1.50。
修改
通过过滤器实时修改流量内容(如替换网页图片):
ettercap -i eth0 -T -q -F filter.ef -L modified.pcap //
-F filter.ef:加载 ettercap 过滤脚本(.ef格式),示例脚本可替换HTTP响应中的图片链接。
高级功能与插件扩展
ettercap支持通过插件扩展功能,常用插件包括:

- sslstrip:剥离HTTPS流量,将HTTPS请求降级为HTTP,需配合
-P sslstrip使用。 - grep`:实时过滤包含关键字的流量,如
-P "grep -i password"。 - dhcp_cheating:伪造DHCP服务器,分配错误的网关或DNS服务器。
插件开发可通过Python或C实现,通过-P动态加载,实现定制化攻击或分析逻辑。
注意事项与法律风险
- 授权使用:ettercap仅可用于授权测试,未经许可扫描或攻击他人网络可能违反《网络安全法》。
- 环境配置:需关闭目标主机的防火墙或ARP防护(如
arp -d),否则可能影响欺骗效果。 - 加密流量:默认无法解密HTTPS、SSH等加密流量,需配合中间人代理(如MITMProxy)或SSL证书欺骗。
命令参数速查表
| 参数类别 | 参数示例 | 功能说明 |
|---|---|---|
| 接口选择 | -i wlan0 |
指定无线网络接口 |
| 界面模式 | -T -q |
静默文本模式 |
| 目标匹配 | -m 192.168.1.0/24 |
匹配整个子网 |
| 攻击模式 | -M arp:remote |
远程ARP欺骗 |
| 日志记录 | -L sniff.log |
保存嗅探结果 |
| 插件加载 | -P dns_spoof |
加载DNS欺骗插件 |
相关问答FAQs
Q1:ettercap无法捕获HTTPS流量,如何解决?
A1:HTTPS流量默认加密,需通过SSL剥离(sslstrip插件)或伪造SSL证书实现中间人解密,步骤如下:
- 启动ettercap的ARP欺骗:
ettercap -i eth0 -T -M arp:remote // //; - 加载sslstrip插件:
ettercap -P sslstrip; - 目标访问HTTP网站时,sslstrip会自动将HTTPS链接降级为HTTP,从而捕获明文数据。
Q2:使用ettercap时如何避免被目标主机检测?
A2:降低检测风险的措施包括:
- 启用混杂模式:通过
ettercap -p避免ARP响应中的MAC地址冲突; - 随机化欺骗间隔:在ARP欺骗脚本中添加随机延迟,避免规律性发包;
- 清理痕迹:攻击结束后,通过
arp -d清除目标主机的ARP缓存,或使用ettercap -S恢复原始ARP表。
