ettercap 过滤不起作用

ettercap 过滤不起作用

我不能使用 ettercap 过滤器。我正在编写我能想到的最简单的过滤器:

if (ip.proto == TCP){
    msg("Ran Filter\n");
}

但即使这样也不起作用。当我使用 etterfilter 编译它并运行时:

sudo ettercap -F /tmp/filter.ef -T -M arp -i wlan1 /192.168.1.6/ // 信息未打印。通过数据包可视化,我确实看到了 TCP 数据包,但过滤器似乎不起作用,尽管ettercap显示“内容过滤器已从 加载/tmp/filter.ef”。

为了解决这个问题,我尝试启用 ip_forward,并尝试删除“#”符号,/etc/etter.conf以便它将使用 iptables 作为 redir_command(第 168-169 行)

您知道如何使过滤发挥作用吗?

ettercap NG-0.7.4.2在 Ubuntu 12.10 上使用

答案1

终于找到答案了。问题是由于 ettercap 中的一个错误造成的!来自手册页:

You can also load a script  without enabling it by appending :0 to the filename

从代码来看:

/* enable a loaded filter script? */
uint8_t f_enabled = 0;
/* is there a :0 or :1 appended to the filename? */
if ( (opt_end-optarg >=2) && *(opt_end-2) == ':' ) {
        *(opt_end-2) = '\0';
        f_enabled = !( *(opt_end-1) == '0' );
}

从代码中可以看出,与手册页中所说的相反,您必须将“:1”附加到过滤器的文件名后才能加载它。否则,过滤器不会被使用。

apt-get install ettercap那么为什么只有我遇到这种情况呢?这是因为我使用的是 0.7.4.2 版本,这是我在 Ubuntu 上下载的版本。这与 ettercap 网站的说法相反,该网站称"The latest Ettercap release is: 0.7.4.1"

解决该错误的补丁已发送给 ettercap 开发人员。

相关内容