任何想法为什么Ettercapfilter没有看到分组数据?

我正在使用Ettercap筛选器来检测远程计算机上特定服务返回的查询响应。 当我看到服务的响应时,我正在search数据包中的数据,看看偏移是否是一个特定的值,如果是的话,我改变另一个偏移值。

麻烦的是,当我在一个新的虚拟机上尝试这个时,我构build了我的Ettercapfilter,它不再获取可用的DATA.datavariables中的任何数据。

if(ip.proto == TCP && tcp.src == 17867) { msg("Response seen!\n"); if(DATA.data + 2 == "\0x01") { msg("Flag detected!\n"); DATA.data + 5 = 0x09; } } 

filter正在被应用于stream量,因为“看到了响应!” 消息由Ettercap打印出来。 但是,“检测到标志!” 消息不。 我认为 DATA.data确实是空的,因为如果我改变我的第二个“if”语句来检查DATA.data == ""那么“检测到标志! 消息被打印。

任何想法,为什么这可能会发生?!

另外,如果这是错误的网站提出这样的问题,请让我知道。 我不确定它是否适合在这里或超级用户或服务器错误的地方。

顺便说一下,这是从StackOverflow的交叉post…我应该张贴在这个论坛,而不是我想。 🙂

我有同样的问题。 (ettercap接收null(0x00)字符或0x20(DECODED ONE))。 我试图从源代码编译ettercap,一切工作正常。 尝试logging什么ettercap接收使用LOGfilter,然后看看收到。 如果它是一堆零或零,你的问题可能就像我的! 在etterilter或ettercap本身似乎是一些问题。

改变你的ettercap版本,它会工作(我的)。 我的问题是在回溯5 R1,它是ettercap。 我更新了ettercap,一切工作正常。