1

我不能使用 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 行)

我也试过把它放在 askubuntu.com 上

https://askubuntu.com/questions/251866/ettercap-filtering-doesnt-work

你知道如何使过滤工作吗?

我正在ettercap NG-0.7.4.2使用Ubuntu 12.10

4

1 回答 1

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”才能加载它。否则,不使用过滤器。

那么为什么它只发生在我身上呢?那是因为我使用的是 0.7.4.2 版本,这是我apt-get install ettercap在 Ubuntu 上下载的版本。这与 ettercap 网站相反,指出"The latest Ettercap release is: 0.7.4.1"

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

于 2013-02-08T14:04:35.527 回答