我不能使用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/ //
msg未打印。通过数据包可视化,我确实看到了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
答案 0 :(得分:1)
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,这是我在Ubuntu上apt-get install ettercap
时下载的版本。这与ettercap网站相反,并指出"The latest Ettercap release is: 0.7.4.1"
解决该bug的补丁已发送给ettercap开发人员。