因此,在端口3128上有一个使用squid的代理设置。
我也有ettercap的设置。
我的主要目标是在数据通过我的代理时改变它。
基本上,您使用我的代理打开www.something.com,它显示"lala",我希望使用ettercap将"lala“修改为"lala2”。
有什么命令行提示可以做到这一点吗?据我所知,这不是一个MITM ARP程序。
发布于 2015-10-09 23:02:51
如果您已经有了一个工作的代理,在那里数据通过,您不需要arpspoof。你必须为ettercap写一个过滤器。一个普通的文本文件replace.filter,包含(用于http的端口80 ):
if (ip.proto == TCP && tcp.dst == 80) { // suspress gzipped content
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-DontLoad");
msg("zapped Accept-Encoding!\n");
}
}
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "searchstring")) {
replace("searchstring", "replacestring");
}
}您可以在一个文件中为不同的端口使用多个筛选器。您还必须“编译”您的筛选器,以便通过
etterfilter replace.filter -o replace.ef使用此过滤器通过发出
ettercap -T -q -F replace.ef -M ARP /<GATEWAY_IP>/ /<TARGET_IP>/发布于 2011-01-07 19:53:40
在squid.conf中,使用redirect_program配置变量指向程序/脚本。在该脚本中,您可以随意处理正在传递的数据。要获得一个有趣的示例,请参见倒挂-Ternet。
发布于 2012-03-20 16:07:41
您真正需要的是一个代理,它将在应用层进行过滤。虽然快速搜索没有显示任何不需要重新编译Squid的模块,但Squid有一些模块提供了这种功能。或者,您可以通过提供所需功能的代理来链接Squid代理。它可以像使用HTTP::Proxy的Perl脚本一样简单,或者使用您选择的另一种语言和库。
Ettercap确实不是这样的工具,尽管它很可能是可以工作的。您可能需要使用内核路由表才能正常工作。尝试在当前配置中嗅探您的通信量:您可能会发现Ettercap正在重新传输修改过的帧,而没有删除原始帧。另外,确保您有最新版本的Ettercap。它最近被重新发布了许多错误修复,我知道至少有一些与包过滤有关。最新版本为0.7.4。
https://serverfault.com/questions/219965
复制相似问题