Ettercap – 数据包注入/更改

所以我有一个代理设置使用端口3128鱿鱼。
我也有ettercap设置。

我的主要目标是改变数据stream经我的代理。

基本上,你打开www.something.com使用我的代理,它显示“拉拉”,我想改变“拉拉”使用ettercap,到“lala2”例如。

任何命令行提示,以实现这一目标? 这不是我所知道的MITM ARP程序。

如果你已经有一个工作代理,数据stream经你不需要arpspoof。 你必须写一个ettercap的filter。 包含一个纯文本文件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"); } } 

您可以将一个文件中的多个filter用于不同的端口。 你也必须“编译”你的filter才能工作

 etterfilter replace.filter -o replace.ef 

使用这个filter来启动ettercap

 ettercap -T -q -F replace.ef -M ARP /<GATEWAY_IP>/ /<TARGET_IP>/ 

在squid.conf中,使用redirect_programconfigurationvariables指向一个程序/脚本。 在该脚本中,您可以随意使用正在传递的数据。 有趣的例子,看颠倒的Ternet 。

你真正需要的是一个将在应用层进行过滤的代理。 有提供这个Squid的模块,虽然快速search没有显示任何不需要重新编译Squid。 或者,您可以通过提供所需function的代理链接您的Squid代理。 它可以像使用HTTP :: Proxy的Perl脚本一样简单,或者您select的其他语言和库。

Ettercap真的不是这个工具,虽然它可能会工作。 您可能必须仔细研究内核路由表才能使其工作。 尝试在当前configuration中嗅探stream量:您可能会发现Ettercap正在重新发送已修改的帧,而不会丢弃原来的帧。 另外,确保你有最新版本的Ettercap。 最近重新发布了大量的错误修复,我知道至less有几个与包过滤有关。 最新版本是0.7.4。