当前位置:文档之家› 局域网攻击软件Ettercap中文说明

局域网攻击软件Ettercap中文说明

局域网攻击软件Ettercap中文说明
局域网攻击软件Ettercap中文说明

Ettercap中文说明

信息包工厂:你能够用飞一般的速度创建和发送伪造的包.他能够让你发送从网络适配器到应用软件各种级别的包.绑定监听数据到一个本地端口:你能够从一个客户端连接到这个端口并且能够为不知道的协议解码或者把数据插进去(只有在arp为基础模式里才能用)(不知道这段是不是这个意思)

OPTIONS

一般而言ettercap的参数都能够联合,如果遇到不支持的联合参数,ettercap将会提示你.

监听模式

-a,--arpsniff

arp为基础的监听

这是交换机网络中的监听模式,如果你想使用mitm(man in the middle)技术的话你就不得不使用这种模式.在和安静模式(-z参数)联合使用的时候,如果决定采用ARPBASED模式(full-duplex),你必须指定两个IP和两个MAC地址,如果采用PUBLICARP模式(half-duplex),你就只需要指定一个IP地址和一个MAC地址.在使用PUBLICARP模式的时候,arp答复采用广播形式发送,但如果ettercap有完整的主机列表(启动的时候ettercap会扫描网络),ettercap会自动选择SMARTARP模式,arp答复会发送给除了肉机以外的所有主机,and an hash table is created to re-route back the packet form victim to client obtaining in this way a full-duplex man in the middle attack.这时候路由表关于从肉机到客户端的这部分被重新改写,这样就开始了一个mitm攻击(这一段也不是很清楚).

注意:如果你想使用smartarp模式来poison一台机器,记得在conf文件里面设置好网关的IP(GWIP项目)而且用-e参数来启动,否则那台机器不能连接到别的机器上.

利用过滤来进行包替换和包的丢弃,只能用在ARPBASED的监听中,是因为在

full-duplex中必须重新调整序列号以能够使连接保持活动.

-s,--sniff

基于IP的监听

这是一种比较老的也是不错的监听模式.但它只能在基于hub的网络上面使用,在使用了交换机的网络上面没法工作.你可以指定源,也可以指定目标,可以指定端口或者不制定,甚至可以什么也不指定(监听所有连接)让它工作.特殊的IP "ANY"表示从或者到任何的机器.

-m,--macsniff

基于mac的监听

监听远程的机器上面的tcp通讯可以使用这种模式.在基于hub的网络上你如果想要监听一个通过网关的连接,制定目标机器和网关的ip是没有用的,因为包不是发给网关的.在这个时候你就可以使用这种模式.只需要指定目标机器和网关

的mac你就能够看到它们所有的连接.

脱机监听

-T,--readpcapfile

脱机监听

使用了这个参数以后,ettercap会检查一个pcap兼容文件,而不是在网络上取包.如果你有一个用tcpdump或者ethereal记录下来的文件而且你想在这个文件上做一些分析工作(查找密码或者被动指纹)的话,你可以采用这个参数.

-Y,--writepcapfile

把包纪录到一个pcap文件中

如果你不得不在一个交换机网络上使用一个活动的监听(arp欺骗)但你想使用tcpdump或者ethereal分析的话,你可以用这个参数.你能够使用这个参数来把包记录到一个文件中然后把它导入到你感兴趣的软件中.

GENERAL OPTIONS

-N,--simple

无交互模式

当你需要在脚本中运行ettercap或者你已经知道目标的一些信息,或者你想在后台运行ettercap帮你收集数据以及密码(和--quiet参数一起使用),这种模式是比较有用的。一些功能在这种模式下面不能使用,当然是指那些需要交互的功能,就像字符的插入功能。但其他的(就像过滤)是完全可以用的,所以你能够设置ettercap监听两台机器(目标机器和它的网关)、过滤他的80端口的连接并且替换掉一些字符串,它的所有在internet上的通过80端口的通讯就会按照你所希望地进行改变。

-z,--silent

安静模式(启动的时候没有arp风暴)

如果你希望用一种比较安静的模式启动ettercap(因为一些NIDS在监测到过多的arp请求包的时候会发出警告)。你在使用这种参数的时候你必须知道所有你必须知道的目标机器的数据。例如如果你想要监听两台机器,你就必须知道这两台机器的ip地址以及mac地址。如果你选择了基于ip的监听或者基于mac的监听,ettercap会自动切换到这种模式,因为你这个时候不需要知道lan中的机器列表。

如果你想要知道机器列表可以使用命令"ettercap -Nl',但你必须知道这种模式是很危险的。

-O --passive

这个参数使用被动模式收集数据。使用这个参数不会在网络中发送任何数据包。使用这个参数以后网卡进入混杂模式并且察看任何经过它的包。所有感兴趣的包(SYN或者SYN+ACK)会被分析,并且这种模式可以用来完整地了解整个网络。收集的信息包括:机器的ip和mac,操作系统的类型(操作系统的指纹),网络适配器厂家以及运行的服务。(详细的技术说明可以查阅readme)列表里面还包含有这些信息:“GW"表示网关,"NL"表示这个ip不属于LAN,"RT"表示机器是路由器。

这个参数在你想通过被动模式来制作一个网络主机列表时能发挥作用,如果你对收集到的信息比较满意,你可以通过按下'C'键把信息转换成为网络主机列表,而且这时候ettercap象平常一样工作。

ettercap在普通模式下的功能在下一部分会有详细介绍。

-b,--broadping

在启动的时候用一个ping广播代替arp风暴

这种模式减少了危险,但也减少了精确度。一些机器在收到ping广播以后不会回复(就像windows)所以这些机器在这种模式下面不能被看到.如果你想扫描一个linux主机组成的网络这种模式是有用的.使用"ettercap -Nlb"你会得到一个网络主机列表.

-D,--delay

如果你使用了arp监听模式,这个参数可以帮你确定在arp 回复之间的延迟时间(秒数).如果你想在监听中减少被发现的可能性,这个参数是很有用的.在很多OS上面默认的arp缓存的保存时间是超过一分钟(在FreeBSD上面是1200秒). 默认的延迟值时30秒.

-Z,--stormdely

确定启动发送arp风暴的时候在arp请求之间的时间间隔(微秒).如果你想在扫描中减少被发现的可能性,使用这个参数会很有帮助.很多IDS在监测到大量的arp请求之后会发出警告,但如果你降低发送arp请求的速度,它们将不会报告任何东西.

默认的延迟值是1500微秒.

-B,--bufferlen(n pck)

确定每个连接的缓存的长度.如果是0表示不使用连接缓存.每个连接的最后n

各报将会被记录并保存下来.

默认的值时3.

-S,--spoof

如果你想躲避IDS监测,你可以指定一个欺骗IP用来发送arp 请求扫描网络.源MAC不能用来欺骗,因为一个设置的好的交换机将会阻挡你的请求.(这一段我也不明白)

-H,--hosts

启动的时候仅仅扫描指定的机器.

如果你想扫描一个网络中特定的ip,可以使用这个参数.很明显使用这个参数以后你可以减少被发现的可能性.在你想做PUBLIC ARP但你又想pison指定的一些机器的时候你可以使用这个参数.因为使用了一个IP列表以后PUBLIC ARP会自动转换成SMARTARP,仅仅指定的机器会被posion,其他的机器的arp 缓存不会被变更.(posion的意思应该是进行arp欺骗).IP列表必须用点和分号隔开(中间不能有空格),你也可以使用ip范围(使用连字符)或者单独的IP列表(用逗号隔开) 例子:

192.168.0-25->从2到25

192.168.0.1.3.5->主机 192.168.0.1,192.168.0.3,192.168.0.5

192.168.0-3.1-10;192,168.4.5,7->指

192.168.0,192.168.1,192.168.2,192.168.3网段里面的从1到10的主机,还有网段192.168.4里面的5和7主机.

-d,--dontresolve

在启动的时候不解释IP的主机名,你如果不希望在启动的时候看到"Resolving n hostnames...",你可以使用这个参数.因为解释主机名可能导致在你的环境中进行很慢的DNS解析.

-i,--iface

network interface to be used for all the operation. you can even specify network aliases in order to scan a subnet with different ip form your current one.(这段不知道如何翻译)

-n,--netmask

确定用来扫描网络的子网掩码,(点分隔的格式).默认值是你当前机器上使用的子网掩码.但你的子网掩码很可能是255.255.0.0,如果你想要在启动的时候做

一个arp扫描,建议你使用一个限制更加明确的掩码.

-e,-etterconf

使用设置文件取代命令行的参数

etter.conf范例文件在tar包里面也有,看了这个范例文件,应该能知道怎么写一个设置文件.在这个文件里面写有所有的指导,通过conf文件你能够有选择性的景致一个协议剖析工具或者把它移动到另外一个端口上.命令行参数和设置文件能够*性的混合使用,但要记得在设置文件里面的参数能够覆盖命令行参数,所以如果你在etter.conf里面你指定了IFACE:eth0,而且你使用了命令:"ettercap -i eth1 -e etter.conf",被选择的其实是eth0.

注意:参数"-e etter.conf"应该在其他所有参数的后面.

-g,--linktype

这个参数有两个补充函数.所以要留心.

如果在对话模式中使用它不会监察网络的类型.在其他方面,一般和命令行模式(-N)一起使用,这时候会开始检查你的网络是不是交换机网络...如果网络中只有2个主机,判断有可能会出错.

-j,--loadhosts

一般用来导入用-k参数创建的主机列表文件.

-k,--savehosts

保存主机列表到一个文件.当你网络中有很多及其而且你又不想在每次启动的时候都发一个arp请求风暴的时候,使用这个参数可以帮你达到目的.使用这个参数记录下主机列表,然后使用-j 导入信息.

文件名称采用以下形式:"ip地址_子网掩码.ehl"

-X,--forceip

在开始arp欺骗以前禁止掉发送欺骗ICMP包.(????????)

-v,--version

检查ettercap最终版本.

所有操作都在你的控制之下.每一步都需要使用者确认.使用这个参数ettercap 会连接到https://www.doczj.com/doc/b117457163.html,:80网站并向/lastest.php发请求.结果将被分析和跟你的ettercap版本进行比较.如果有一个更新的版本可以使用,ettercap将会问你是不是要下载.(wget必须在path里面).如果你想要对所有的问题自动回答yes,你可以加上参数-y.

-h,--help

打印出一个带有可用参数摘要的帮助窗口.

安静模式参数(必须和-N一起使用)

-t,--proto

监听指定的协议的包(缺省是TCP+UDP).这个参数只能在"simple"模式下面使用,如果你用交互模式启动ettercap,TCP和UDP包都将被监听.

PROTO可以是"tcp","udp"或者是"all".

-J,--only

使用这个参数ettercap不会监听,只会对目标机器进行poison.如果你想用ettercap来进行poison而用ethereal或者tcpdump来进行分析、监听的话可以用这个参数。(使用这个参数必须应用IP_forwarding).

就像你已经知道的,你可以用ettercap监听两个目标之间的连接(ARP BASED)或者监听一个目标发出、接收的包(SMART ARP).而用这个参数你可以一次监听一对目标(因为你可以一次启动多个实例)。

用SMART ARP启动第一个实例,然后用-H参数限制确定出你想要POISON的目标(如果你想把网关也放进你的POISON目标中,你必须把它从SMART ARP实例里面选出来)。然后再启动另外一个ETTERCAP -J.

-R,--revserse

监听除了选定之外的任何连接。如果你想在一个远程机器上面使用ettercap并且你想监听机器上所有的(除了本地与远程的),因为如果你监听本地与远程的连接的话,会构成死循环。

-O,--passive

像前面一些部分所说,这个参数用来在被动模式下面收集信息。一般来说我们可以在很多方式下面使用这个参数。使用“ettercap -NO"将会启动半交互模式,点‘h'会出现帮助。你可以把收集到的信息显示出来或者记录到文件里,或者仅仅显示出分析过的包的警告。

“ettercap -NOL"功能跟上面一样,但他会每5分钟自动记录数据到文件里。“ettercap -NOlq"最小化ettercap并且每5分钟记录一次。你可以走开去抽烟,回来的时候已经有一份关于网络的完整的报告在等着你了。。。

-p,plugin

运行插件"NAME".

很多插件需要一个目标机器。一般把它放在插件名称后面。实际上一般在命令行中目标机器在前面,源机器在后面。

因为ettercap0.6.2的插件支持被证明做得不错,所以一些插件不被做成独立的程序,他们和ettercap相互影响并且能够通过interface(???)或者conf文件来确定使用还是禁用。

在README>PLUGINS文件里面有很多详细的关于插件的介绍,还有关于如何写你自己的插件的说明。

-l,--list

列出网络中所有的机器,报告每个mac地址。

一般和-b(ping?广播)和-d(不要解释机器名)一起使用。

-C,--collect

从命令行指定的主机上收集所有用户和密码信息。

密码收集规则在设置文件(etter.conf)里面设定,你可以选择把它们禁用或者设定在另外的端口上。如果你不想监听SSH连接(KEY的变换会发出警告)但要监听其它协议的连接。甚至如果你知道一个端口在4567的连接,你可以把TELNET 得端口设置在4567.

-f,--fingerprint

采集主机的OS指纹

这个参数使用了nmap的Fyodor数据库,而且也采用了和nmap相同的模式,所以我就引用一段nmap的man信息:

这个参数激活了通过TCP/IP指纹鉴定远程机器的操作系统。用另一句话说,它使用了一系列的巧妙的检测技术对你所扫描操作系统的网络堆栈进行了分析。使用这些信息,它创建了一个“指纹“,用这个和它所知道的OS指纹进行比较(the nmap-os-fingerprints file)来分析你扫描的系统是什么系统。

-f参数甚至能帮你确定你所扫描机器的网卡的厂家。这些信息被保存在

map-fingerprints数据库里。

-1,--hexview

用16进制保存数据。

在监听的时候你可以改变显示方式,比如按'a'就是accii方式,‘x'就是16

进制方式。在线帮助只需按'h'.

-2,--textview

用文本方式保存数据。

-3,--ebcdicview

用扩充的二进制编码的十进制交换码方式保存数据。

-L,--logtofile

把数据保存到指定文件中去。ettercap为每个连接创建一个单独的文件,在unix 下面文件名格式是"YYYYMMDD-P-IP:PORT-IP:PORT.log",在windows下面文件名格式是"P-IP[PORT]-IP[PORT].log"(由于文件名受限制)。

-q,--quiet

"最小化“ettercap.

你如果想在后台记录所有数据,用这个参数可以做到。这个参数把ettercap从当前的界面分离开,用demon方式收集数据并保存到文件中。它必须和-NL(或者-NLC)合用。否则不会有任何作用。Obviously the sniffing method is required, so you have to combine it with this option.

-w,--newcert

为HTTPS 的man-in-the-middle创建一个新的cert文件.

useful if you want to create a certfile with social engineered information...(???)

新文件放在当前工作目录。如果你要一直想用它来替代缺省得cert文件(etter.sll.crt)你必须用它覆盖掉

/usr/local/share/ettercap/etter.ssl.crt

-F,--filter

导入指定的过滤规则文件

过滤文件用类似于XML的风格写成。你可以手工写这些文件,更好的办法是用nscuses界面让ettercap来自己创建(在连接显示界面按下'F')。如果你对XML 语法很熟练,你可以自己手工写过滤的规则。

规则写法如下:

If the proto AND the source port AND the dest port AND the payload match the rules, after the filter as done its action , it jumps in the chain to the filter id specified in the field, else it jumps to . If these field are left blank the chain is inter-rupted. Source and dest port equal to 0 (zero) means ANY port.You can use wildcards in the search string (README 里面有更详细的信息)

注意:用这个参数的话缺省状态下就使用了过滤,如果你想禁止掉,在监听过程中也可以做到,按下"S"就取消掉源的过滤,按下"D“取消目标的过滤。

注意:在命令行下面主机的顺序是"ettercap -F etter.filter 目标源“,所以第一个机器是目标,第二个是源。

重要信息:源的规则表示从源出来的数据而不是到源的数据。时刻注意这一点!对目标来说也是一样。。。

-c,--check

检查你是不是被其他人poison.

目标的指定

在命令行中,目标是倒序排列的。第一个机器是目标,第二个才是源。如果你在ip模式下面监听这个顺序不是很重要,因为目标和源是被忽略的,但是如果你要过滤连接,顺序在绑定规则的叙述中就很重要。

用倒序模式是因为对插件来说这会直观一些。因为一些插件需要制定目标地址,"ettercap -Np ooze victim" 比 "ettercap -Np ooze NOONE victim"用起来要简单一些。

目标机器可以用ip地址指定,也可以用机器名指定(https://www.doczj.com/doc/b117457163.html,).只有在-H(--hosts)参数你才能使用通配符。

交互模式

如果没有指定参数-N,ettercap会自动选择交互模式(nsurses mode).解释你可以怎么使用会花费大量的时间和页面。。。而且我不是一个好的作者。。。所以如果你不知道在一些环境下面怎么做,你可以按'H',帮助界面会*出来。你可以找到所有可用命令的详细列表。

脱机工作

如果你想分析一个用tcpdump或者ethereal用libcap格式保存的文件,你可以使用Sprite这个插件。

使用这个这个插件可以有连接列表、密码收集或者是被动OS指纹收集功能。一般来说你必须使用-T参数然后使用ettercap就像你正在监听网络一样。如果要保存文件以便进一步分析使用可以使用-Y参数。

例子

ettercap -b

启动的时候使用ping广播取代arp风暴扫描网络。

ettercap -H 192.168.0.?,192.168.0.3?,192.168.0.2*

启动的时候仅仅扫描主机

192.168.0.1-9,192.168.0.30-39,192.168.0.2,192.168.0.20-29和

192.168.0.200-255.如果选择了PUBLICARP模式仅仅这些机器会被poisoned.

ettercap -Ozs

进入交互模式并开始在被动模式下收集信息。

一般来说你可以使用"ettercap -NOLq"然后再一个小时后再回来。。。;

ettercap -s 192.168.0.1 192.168.0.2

进入交互模式且仅仅监听192.168.0.1,192.168.0.2之间的连接。

ettercap -Nzs -F etter.filter 192.168.0.1 192.168.0.2

从etter.filter导入过滤规则并且在192.168.0.1和192.168.0.2之间的连接上面使用。仅仅记录动作能够被支持因为它是基于ip的监听模式

(-s ,ipsniffing).192.168.0.1是目标,192.168.0.2是源,激活字符串替代和丢弃功能你不得不使用"ettercap -Nza -F etter.filter IP IP MAC MAC"

ettercap -zs -e etter.conf

使用基于IP的监听模式并从设置文件(etter.conf)导入其它参数。注意文件里的参数会覆盖掉命令行参数。

ettercap -Nzs https://www.doczj.com/doc/b117457163.html, ANY:80

在控制台下面监听(无交互模式)所有在"https://www.doczj.com/doc/b117457163.html,"80端口出入的连接.数据用ASCII方式记录。要用16进制方式记录的话加上-x参数。

ettercap -NRzs https://www.doczj.com/doc/b117457163.html,:23 https://www.doczj.com/doc/b117457163.html,

在命令行模式(无交互)下面监听你运行ettercap的远程网络的所有连接(除了你和远程机器的telnet(:23)连接)。这个例子会阻止显示你的到远程机器telnet(:23)连接.

ettercap -Nclg

生成一个网络主机的详细列表。检查是不是有人在poison你,如果有就会报告它的IP.而且会告诉你所在的网络是不是交换机网络。

ettercap -NCLzs --quiet

把ettercap从控制台分离开,把收集到的密码记录到文件中。只有在网络是hub 网络才会工作,或者如果是在交换机网络的话只能记录直接发送到你运行ettercap的机器中的密码。

ettercap -NCza -D 100 192.168.0.1 192.168.0.2 55:23:A5:B4:C7:89

00:A3:56:FE:4F:6D

用于在交换机网络收集密码信息。这个命令会poison 192.168.0.1和

192.168.0.2两台机器。在arp 回复之间的延迟是100秒。

ettercap -Np triton

运行插件"triton" ,这个插件能够以被动模式寻找网络中的网关。

ettercap -Np ooze https://www.doczj.com/doc/b117457163.html,

运行插件"ooze",这个插件能够检查主机"https://www.doczj.com/doc/b117457163.html,"得端口。

支持平台

Linux 2.0.x 2.2.x 2.4.x

FreeBSD 4.x

OpenBSD 2.[789] 3.0

NetBSD 1.5

Mac OS X (darwin 1.3.x 1.4.x 5.x)

Windows NT4 2000 XP

文件

/usr/local/share/ettercap/etter.conf

- 设置文件

/usr/local/share/ettercap/etter.dns

- 用于插件phantom的主机文件

/usr/local/share/ettercap/etter.filter

- 过滤规则

/usr/local/share/ettercap/etter.mime

- 插件thief所用的网络邮件协议类型

/usr/local/share/ettercap/etter.passive.os.fp

- OS指纹库

/usr/local/share/ettercap/etter.ssl.crt

- HTTPS m-i-t-m所用的SSL证书

/usr/local/share/ettercap/mac-fingerprints

- 网卡厂家库

/usr/local/share/ettercap/nmap-os-fingerprints

- nmap Fyodor os指纹

/usr/local/doc/ettercap-0.6.a/*

-文档

作者

Alberto ornaghi (ALoR)

Marco Valleri (NaGA)

可用网站

https://www.doczj.com/doc/b117457163.html,/download/

或者你如果想要它进行自动检查最终版本的话可以使用"ettercap -vy"

CVS

CVS

cvs -d:pserver:anonymous@https://www.doczj.com/doc/b117457163.html,:/cvsroot/ettercap login cvs -d:pserver:anonymous@https://www.doczj.com/doc/b117457163.html,:/cvsroot/ettercap co ettercap

BUGS

我们的软从来没有bugs.

仅仅是一些develops random features(发展随意的特色???)。:)

已知的bugs

最好不要在网关上面使用ettercap,因为m-i-t-m攻击需要禁止ip_forwarding,而这会给路由带来一些问题。如果你想要用被动模式扫描网络的话,网关是个不错的地方。。。所以你最好清楚你在做什么。

你不能对自己的机器使用插件,输出链路层包不会被俘获,所以他们会被忽略。- You cannot use plugins on yourself. outgoing link layer packets are not captured by the same socket, so they will be ignored.(这一段不知道是不是这个意思)

在一个交换机网络上面监听的时候,ettercap不会监听你自己的机器发出到外面的包。技术上的解释是:ettercap会把你的包发出两次(这可没好处。。。)。另一个理由:你为什么要用m-i-t-m来监听自己呢?用普通的模式就可以了。

在用PUBLIC ARP模式的时候,ettercap 只会显示连接的一种路径,所以一些协议分析器会失败。。。(???)

在X11下面改变xterm的大小可能会导致ettercap的显示界面变得很差。因为SIGWINCH没有被全面支持。

ettercap不能处理碎片包。。。只有第一个碎片会被显示出来。但是所有的碎片都会被正常转发。

请把bug的报告,补丁和建议都发到或者访问https://www.doczj.com/doc/b117457163.html,/forum/把它发表在关于bugs的部分。

要报告一个bug,先重新编译ettercap,"configure --enable-debug',并把ettercap_debug.log附在你解释问题的email里面。

相关主题
文本预览
相关文档 最新文档