2013-02-06 104 views
1

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

你知道如何使過濾?

我對Ubuntu 12.10

回答

1

使用ettercap NG-0.7.4.2終於找到了答案。 問題是因爲ettercap中的一個bug! 從手冊頁:

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"

解決該錯誤的補丁已發送給ettercap開發人員。