QQ在线支持
商务支持电话
13906050680
技术支持电话
0592-2651619
首页->局域网监控-> 交换环境下网络嗅探原理,局域网监控中网络嗅探工具
  • 摘要:交换环境下网络嗅探原理,局域网监控中网络嗅探工具,网络嗅探,交换机监听,局域网监控,局域网嗅探原理,网络监听,局域网监控

     

    交换环境下网络嗅探原理,局域网监控中网络嗅探工具

    网络嗅探的原理来看,如果不通过交换设备的监视端口或者广播信息是难于进行网络嗅探的,那么是不是在没有监视端口下的交换局域网中就不能进行网络监控了呢?实际上不是这样的,接下来我们就要介绍一种多功能的交换局域网环境中的网络嗅探工具——Ettercap

    Ettercap最初是设计为交换网上的网络嗅探工具,随着发展,它获得了越来越多的功能,成为一款有效的、灵活的中介攻击工具。它支持主动及被动的协议解析并包含了许多网络和主机特性(如OS指纹等)分析。

    一、Ettercap5Sniffing工作方式:

    IPBASED:在基于IP地址的Sniffing方式下,Ettercap将根据源IP地址和端口,以及目的IP和端口来捕获数据包。

    MACBASED:在基于MAC地址的方式下,Ettercap将根据源MAC和目的MAC来捕获数据包,这种方式在捕获通过网关的数据包时很有用。

    ARPBASED:在基于ARP欺骗的方式下,Ettercap利用ARP欺骗在交换局域网内监听两个主机之间的全双工通信。

    SMARTARP:在SMARTARP方式下,Ettercap利用ARP欺骗,监听交换网上某台主机与所有已知的其他主机(存在于主机表中的主机)之间的全双工通信。

    PUBLICARP:在PUBLICARP方式下,Ettercap利用ARP欺骗,监听交换网上某台主机与所有其他主机之间的通信(半双工)。此方式以广播方式发送ARP响应,但是如果Ettercap已经拥有了完整的主机地址表(或在Ettercap启动时已经对LAN上的主机进行了扫描),Ettercap会自动选取SMARTARP方式,而且ARP响应会发送给被监听主机之外的所有主机,以避免在Win2K上出现IP地址冲突的消息。

    二、Ettercap中最常用的功能有:

    1)在已有连接中注入数据:可以在维持原有连接不变的基础上向服务器或客户端注入数据,以达到模拟命令或响应的目的。

    2SSH支持:可以捕获SSH连接上的UserPASS信息,甚至是其他数据。Ettercap是第一个在全双工的条件下监听SSH连接的软件。

    3HTTPS支持:可以监听http SSL连接上加密数据,甚至可以监听通过代理的连接。

    4)监听通过GRE通道的远程通信:你可以通过监听来自远程Cisco路由器的GRE通道的数据流,并对它进行中间人攻击。

    5Plug-in支持:可以通过EttercapAPI创建自己的Plug-in

    6)口令收集:可以收集以下协议的口令信息,TELNETFTPPOPRLOGINSSH1ICQSMBMySQLHTTPNNTPX11NAPSTERIRCRIPBGPSOCK5IMAP4VNCLDAPNFSSNMPHALFLIFEQUAKE3MSNYMSG,当然不久还会有新的协议获得支持。

    7)数据包过滤和丢弃:可以建立一个查找特定字符串(甚至包括十六进制数)的过滤链,根据这个过滤链对TCP/UDP数据包进行过滤并用自己的数据替换这些数据包,或丢弃整个数据包。

    8)被动的OS指纹提取:可以被动地(不必主动发送数据包)获取局域网上计算机系统的详细信息,包括操作系统版本、运行的服务、打开的端口、IP地址、MAC地址和网卡的生产厂家等信息。

    9OS指纹:可以提取被控主机的OS指纹以及它的网卡信息(利用NMAP Fyodor数据库)。

    10)杀死一个连接:杀死当前连接表中的连接,甚至所有连接。

    11)数据包生产:可以创建和发送伪造的数据包。允许伪造从以太帧头到应用层的所有信息。

    12)把捕获的数据流绑定到一个本地端口:可以通过一个客户端软件连接到该端口上,进行进一步的协议解码或向其中注入数据(仅适用于基于ARP的方式)。

    上面介绍了Ettercap的优点在于:它不需要libpcaplibnet等常用库的支持;基于ARP欺骗的sniffing不需要把执行ettercap的主机的网卡设置为全收方式;支持后台执行。

    三、下面就Ettercap的功能选项进行说明:

    1.监听方式

    下面介绍的是Ettercap的监听方式,具体包括“基于ARPsniffing”、“基于IP的监听”和“基于MAC的监听”。

    基于ARPsniffing

    当参数为:-a,--arpsniff时就指定监听交换网的方式。如果要采用中间人技术进行攻击,必须选用这个选项。如果这个参数与静音方式(-z选项)连用,必须为ARPBASED方式指定两对IP-MAC地址(全双工),或者为PUBLICARP方式指定一个IP-MAC地址(半双工)。在PUBLICARP方式下,ARP响应是以广播方式发送的,但是,如果Ettercap拥有了完整的主机表(在启动时对局域网进行了扫描),Ettercap会自动选择SMARTARP方式,ARP响应会发送给除了被控主机以外的所有主机,同时建立一个哈希表,以便以后在全双工条件下的中间人攻击中可以将数据包从监听主机发送给以这种方式截获的客户。

    如果采用 SMARTARP方式的ARP欺骗,要在配置文件中设置网关的IP地址(GWIP选项),并通过-e选项加载这个文件,否则这个客户将无法连接到远程主机。需要进行包替换或包丢弃的数据包过滤功能仅仅可以在ARPBASED方式下使用,因为为了保持连接必须调整数据包的TCP序列号。

    基于IP的监听

    当参数为-s,--sniff时,就是在基于IP进行监听。这是最早的监听方式。它适用于广播式HUB环境,但在交换网下没用。在这项功能中可以仅指定源或目的IP地址,可以指定也可以不指定端口,当什么都比指定的时候,就意味着监听网上的所有主机。当然可以用“ANY”来表示IP地址,其意思是来自或去往每一个主机。

    基于MAC的监听

    当参数为-m-macsniff时,是根据MAC地址进行监听。这种方式适用于监听远程的TCP通信。在HUB环境下,如果要监听通过网关的连接,仅仅指定要监视主机的IP和网关的IP是不行的,因为数据包是从外部主机发送的,而不是从网关发送的,所以不能采取指定IP地址的方法。为了达到监视内外通信的目的,要指定被监视主机的MAC地址和网关的MAC地址,这样就可以监视被监听主机的所有Internet通信。

    2.脱机监听

    如果使用了参数-T,--readpcapfile <FILE>时,Ettercap实际上是监听一个pcap兼容文件中存储的网络数据包,而不是直接监听网络上的数据包。也就是从文件中读取网络数据包,这些文件可以是tcpdump存储下来的文件或是ethereal转储的数据文件。可以运用这个选项参数实现对于这些文件的分析。
    当然Ettercap本身也有数据的转储功能,运用参数-Y,--writepcapfile <FILE>可以将数据包转储到一个pcap格式的文件

    中。当必须要在一个交换的局域网上使用主动sniffing(通过ARP欺骗)方式监听,但又希望利用tcpdumpethereal对截获的数据包进行分析,就可以选用这个选项。利用这个选项时是把监听到的数据包转储在一个文件中,然后加载到适当的应用程序中进行分析。

    3.通用选项

    非交互方式

    当使用参数-N,--simple时,就是在使用非交互式的方式,这种工作方式十分有用,如果希望从一个脚本提交Ettercap,或者已经了解一些目标信息,或者要在后台提交Ettercap,让它收集数据或口令信息(与-quite选项连用)时,就可以采用这个选项。在这种工作方式下,Ettercap的某些功能无法实现,如字符注入等需要交互式处理的功能。但其他功能仍得到全面支持,如过滤功能。所以可以让Ettercap对两个主机进行ARP欺骗(一台被监视主机和它的网关),并过滤它的所有在80端口的连接,并用一些字符串进行替换,那么它到Internet的所有通信都会按照要求而改变。

    以静音方式启动(在启动时没有ARP风暴)

    如果你希望以非攻击方式启动Ettercap(某些NIDS检测到过多的ARP请求时会产生报警信息),所选用的参数为-z--silent。在选用这个选项前,必须了解有关目标系统的所有必要的信息。例如,如果要欺骗两台主机,就需要知道这两台主机的IP地址和MAC地址。如果选择了IP监听或MAC监听,会自动选择这个选项,因为你不需要知道局域网上的主机列表。如果你想要了解全部主机信息,使用“ettercao Nl”选项,但需要指出的是,这种方式是带有攻击性的。

    以被动方式收集信息

    当使用参数-O,--passive的时候,采用的就是被动的数据获取方式,这种方式不会向网上发送任何数据包,它会将网卡置于全收方式,并查看流经的数据包。它将分析每一个需关注的数据包(SYNSYN + ACK),并利用这些信息建立完整的局域网主机映射图。所收集的信息包括主机的IPMAC地址、网卡生产厂家、操作系统类型(被动OS指纹)和运行的服务等。在这个列表中还会包含其他一些信息,如:“GW”,表示该主机是一个网关;“NL”,表示这个IP不属于本网段;“RT”,表示该主机发挥了路由器的功能。如果需要通过被动方式建立一个完整的主机列表的时候,可以选择这个选项。当对所收集的信息感到满意的时候,可以通过按下“C”键,把收集的信息转换为主机列表,然后按照通常的方式工作。在下面将解释在sample方式下,本选项的作用。

    启用广播的方式

    当参数为-b-broadping时,就是在启动时利用广播ping,而不是ARP风暴来获得网络主机信息。这种方法的可靠性差,准确性也低。有些主机不会响应广播Ping(如Windows),所在这种方式下,这些主机是不可见的。如果想要扫描局域网上的Linux主机,这个选项是非常有用的。通常可以把这个选项--list选项连用以便获得主机列表“ettercap -Nlb”。

    如果选择了ARP欺骗方式,可以利用这个选项-D,--delay <n sec>来控制ARP响应之间的延迟秒数。如果希望这种欺骗数据流不要过于集中,这个选项是很有帮助的。在大多数操作系统中,默认的arp缓存有效时间间隔超过一分钟(在FreeBSD系统中为1200S)。默认的延迟为30s

    参数-Z,--stormdelay <n u sec>用于指定在arp风暴开始后arp请求之间的延迟微秒数。如果希望扫描不要过于集中可以使用这个选项。许多IDS对过于大量的arp请求会产生报警信息,但是如果用低一些的速率发送arp数据包,IDS将不会报告任何异常事件。默认的延迟时间为1 500微秒。

    如果你想欺骗IDS,可以利用一个伪造的IP来进行局域网arp扫描。这时就可以选用参数-S,--spoof <IP>。但源MAC地址不能伪造,因为良好配置的交换机会阻断这样的请求包。

    参数-H,--hosts <IP1[,IP2][,IP3][,]>指定在启动是仅扫描这些主机。

    如果希望仅对某些IP进行arp扫描的时候,可以选用这个选项。这样,就既可以从arp扫描中获得好处,又可以尽量保持低攻击性。甚至在希望采用PUBLIC ARP方式,但又想仅仅欺骗某几个主机的时候,这个选项也是很有用的。由于在拥有主机列表的情况下PUBLIC ARP方式会自动转换为SMARTARP方式,只有这些主机被欺骗,可以保持其他主机的arp缓存不受影响。IP地址表的表示法为:点分制表示的IP地址,地址之间用分号分隔(在它们之间没有空格),还可以用中横线表示一个IP地址范围或一个IP地址表(使用逗号)。例:

     192.168.0.2-25:从225
     192.168.0.1,3,5
    :主机135
    192.168.0.-3.1-10;192.168.4,5,7:将要在子网192.168.0192.168.1192.168.2192.168.3中扫描主机110,以及在子网192.168.4中扫描主机57

    参数-d,--dontresolve是用于在启动时不解决IP。如果你在启动程序时遭遇疯狂的“Resolving n hostnames…”消息时,这个选项会有所帮助。这种情况是由于网络中的DNS非常慢而造成的。

    参数-I,--iface <IFACE>用于所有操作所针对的网络接口。

    可以利用参数-n,--netmask <NETMASK>指定一个网络别名,用于扫描局域网络的网络掩码(以点分制表示),以便扫描与当前IP不同的子网。默认的网络掩码为当前ifconfig中定义的掩码。但是,如果掩码为255.255.0.0,那么如果要在启动时进行arp扫描的话,应该另外指定一个限制更强的掩码。

    参数-e,--etterconf <FILENAME>表示你要使用配置文件,而不是命令行参数。

    在软件的tar包中有一个etter.conf文件,其中包含一些配置范例,用户可以参考这些范例来了解如何编写配置文件,在这些例子中给出了所有的指导信息。通过配置文件,可以有选择性地禁止某个协议分析或把它转移到另一个端口。命令行选项和配置文件可以非常灵活地混合使用,需要记住的是配置文件中的选项压倒命令行选项,所以,如果在etter.conf指定了IFACEeth0,并且在启动程序的时候指定了“ettercap -i eth1 -e etter.conf”,那么最终的选择结果是eth0

    注意:“-e etter.conf”选项必须在所有选项的后面出现,也就是说它必须是最后一个选项。

    标志-g--linktype有两个补充功能,因此要十分注意。如果这个标志用于交互式方式,它不检查局域网的类型。另一方面,如果与命令行方式(-N)连用,它要对局域网进行检查,以了解它是否是一个交换网。有时,如果在局域网内只有两台主机,这种发现方法有可能失败。

    参数-j--loadhosts <FILENAME>用于从指定的文件中加载主机表,该文件是通过-k选项创建的。而参数-k,--savehosts把主机列表保存到文件中。当目标网络中有很多主机,并且不希望在每一次启动的时候都做一次arp风暴的时候,这个选项是很有帮助的。也就是只要指定这个选项,并把列表转储到一个文件中。然后加载这个利用-j<filename>选项从文件中加载这些信息。文件名的形式为:“netaddress_neymask.etl”。

    参数-v--version用于检查最新的ettercap版本。在使用这个选项的时候,所有操作都在控制之下。每一个步骤都需要用户确认。利用这个选项ettercap将连接到http://ettercap.sourceforge.net:80 web站点,并请求/latest.php,然后分析查询结果并与当前版本进行比较。如果有一个更新的版本可用,ettercap将询问是否需要wget(必须在路径中)。如果想要对所有的问题自动回答yes,增加选项-y

    4.静音方式选项(仅可以和-N选项连用)

    参数-t-proto<PROTO>表示仅监听协议PROTO的数据包(默认为TCP+UDP)。

    这个选项仅在simple方式下有用,如果以交互式方式启动ettercapTCPUDP数据包都将被监听。PROTO可以是tcpudpall

    选项-J--onlypoison使ettercap不监听任何数据流,但仅对目标进行欺骗。如果需要利用ettercap进行欺骗,而用其他的软件tcpdumpethereal进行监听时,可以利用这个选项(注意在这种方式下要使能IP_forwarding)。

    另外一种用法是多目标监听。即可以利用ettercap监听两个目标之间的连接信息(ARPBASED),或某一个目标的进出信息(SMART ARP)。利用这个选项,可以同时监听若干目标(因为同时启动了多个程序)。启动第一个程序时选用SMART ARP,并用-H选项限制smart功能,仅针对想要欺骗的主机进行(记住如果在欺骗中涉及了网关,必须在以smart方式运行的实例中指定它)。然后再启动其他的“ettercap -J”。

    当设置为-R--reverse时,是监听除选择的连接以外的所有连接。如果在一个远程主机上使用ettercap,并且要求监听除了自己的从本地到远程的连接以外的所有其他连接时,可以选择这个选项。因为如果包含了这样的连接将会使ettercap监听自己的输出,并不断迭加上去。

    参数-Opassive是以被动的方式收集信息。在Simple方式下,我们可以在许多方式中选择这个选项。“ettercap -NO”将以半交互的方式启动ettercap,输入“h”来获得帮助信息。可以查看收集的信息,也可以把它们记录到日志文件中,或简单地浏览分析的数据包。“ettercap -NOL”与上面的方式相类似,不过它会自动地把数据记录到文件中,记录的时间间隔是5分钟。“ettercap -NOLq”使ettercap5分钟把日志写到文件中。

    运行外部插件“NAME”时需要使用参数-p,--plugin <NAME>,大多数插件需要一个目标主机,这只要在插件的名字后面指定目标主机就可以了。事实上,在命令行上的主机解析中,第一个主机为DESTSOURCE也同样。为了获得可用的外部插件列表,使用“list”(不包括引号)作为插件的名字。由于ettercap 0.6.2提供了钩子插件系统,所以一些插件并不是作为独立的程序运行的,它们可以和ettercap交互,可以通过接口或配置文件使能或禁止。有关插件的详细信息以及如何编写自己的插件,可以在README.PLUGING文件中找到。

    -l--list列出局域网中的所有主机,报告每一个MAC地址。这个选项通常与-b(ping广播)选项和-d(不解决主机名)选项连用。

    命令参数-C--collect收集在命令行上指定的那些主机的所有用户和口令信息。

    在配置文件(etter.conf)中配置口令收集器,如果需要的话,可以有选择性地禁止它们,或者把它们转移到另一个端口。如果不希望收集SSH连接信息,但收集其他所有协议的数据的时候,这个选项很有用。如果已知某一台主机在端口4567上提供telnet服务,只要把telnet解码移动到4567/tcp就可以了。

    参数-f,--fingerprint <HOST>是对主机进行OS指纹收集。这个选项利用与nmap所使用的相同的方法和数据库:Fyodor fyodor@insecure.org,引用一段其man手册页中所说的:这个选项通过TCP/IP指纹来标识远程主机。换句话说,它通过一套技术来检测被扫描主机的网络协议栈的特征。它利用这些信息建立一个指纹,这个指纹将同已知OS指纹库相比较,从而确定所扫描主机的系统类型。

    -f选项甚至可以向你提供被扫描主机所用的网络适配器的生产厂家。这些信息被存放在mac-fingerprints数据库中。

    -x,--hexview则以十六进制数方式转储数据。

    提示:在监听的时候,可以改变显示效果,只要按“x”或“h”键就可以实现按十六进制数显示或按ASCII字符显示。

    参数-L,--logtofile单独使用时,会把所有数据保存到特定的文件中。它会为每一个连接建立一个单独的文件,在UNIX系统下文件名为

    YYYYMMDD-P-IP: PORT-IP:PORT.log。
    
    

    Windows环境下的文件名为P-IP[PORT]-IP[PORT].log。如果与C参数连用,它会创建一个名为YYYYMMDD-collected-pass.log文件,其中记录了所有监听到的口令信息。

    如果希望以后台工作方式记录所有的数据,可以使用选项-q,--quiet。这个选项将使ettercap脱离当前的tty,并把它设置为一个daemon。这个选项必须与-NL(或-NCL)选项联合使用,否则的话没有任何作用。显然,还需要指定一种监听方式,因此这个选项还要和一个表示监听方式的选项相配合。

    运用参数-w,--newcert时,EttercapHTTPS中介攻击方式创建一个新的cert文件。如果想利用社会工程方式获得的信息创建一个cert文件,可以使用这个选项。新创建的文件保存在当前工作目录下。为了长期替换默认的cert文件(etter.ssl.crt),必须改写/usr.local/share/etter.ssl.crt

    参数-F,--filter <FILENAME>从文件FILENAME中加载过滤链。过滤链文件是用伪XML格式编写的。可以通过手工改写文件或通过ettercap的用户界面来让ettercap创建这个文件(在连接表界面中按‘F’键)。如果很熟悉XML语言分析,可以写自己的程序来建立过滤链文件。

    过滤规则很简单:

    if ((协议 <proto> 源端口 <source> 目的端口 <dest> 数据流 <search> (匹配) 规则)==TRUE)
    响应<action>

    <goto>
    (过滤器id);
    <elsegoto>

    <elsegoto>后面没有选项(为空的时候),则过滤链断掉。如果源端口和目的端口为0,就意味着任意端口。如果要禁止过滤链,在监听过程中按“S”(源)或“D”(目的)。

    注意:在命令行上,对主机的解析为ettercap F etter.filter DEST SOURCE。所以第一个主机被绑定到目的链,第二个主机被绑定到源链。源链规则应用到从源发出的数据上,而不是发送到源的数据上,对目的地址也是同样。
    运用参数-c--check来检查是否被局域网上特定目标中的其他欺骗者所欺骗。

    对命令行上的目标主机的解析是反向的。第一个主机是DEST,第二个主机是SOURCE。如果你在基于IP的方式下监听,这个顺序没有关系,因为源和目的都被忽略了。但是如果你在对连接进行过滤,这个顺序对于绑定到相关的过滤链就很重要了。这个反向的顺序是由于与插件更加灵活的接口。因为有些插件需要指定目标主机,那么ettercap Np ooze victim这种形式要比ettercap Np ooze NOONE victim简单一些。可以用点分制的格式来输入目标(192.168.0.1)或者以域名的格式来输入目标(victim.mynet.org)。只有在-H选项中可以使用通配符。

    5交互模式

    如果启动ettercap的时候没有指定-N选项,那么就自动选取了交互模式。如果在某些情况下不知道可以做什么,只要键入‘H’就可以弹出帮助画面。在那里可以看到可执行命令的消息列表。

    6脱机工作

    如果想要分析由tcpdumpethereal保存的libpcap格式文件,可以使用Script插件。可以用它来重构连接列表,进行口令收集工作或被动OS指纹收集。要实现这些只要指定-T选项,然后以与收集网络数据同样的方式使用ettercap。为了保存tcpdump文件以便进行进一步的分析,可使用-Y选项。

    网络监控技术的技术实际是网络数据的获取技术和网络数据的分析技术相结合的产物,网络监控技术所采用的网络数据获取技术就是网络嗅探技术sniffering),该方式采用监听方式获取网上通信的数据包,因为采用网络嗅探技术的网络监控设备是并接在网络的通信线路上的,因此它的存在不会造成对于网络运行状况的影响。

    如上所述,传统的网络嗅探技术是利用以太网络的广播方式来实现的。它常常是黑客手中的攻击武器,因此许多人针对其工作方式对其进行监测和杜绝。但作为网络监控而言,我们是利用网络嗅探的方式获取网络中的通信数据从而实现对于网络运行状况的分析、管理。因此应该充分考虑目前的网络环境发挥网络嗅探技术网络安全维护中的作用。上述的交换环境下的网络嗅探工具就是一个好的网络管理工具软件,黑客手中的利器在网络管理员手中正确使用时,就会发挥出完全不同的但同样巨大的作用。


    作者: AnyView(网络警)网络监控软件   时间: 2009-2-19 15:03:37   点击:     

    相关资讯:
    [网络监控软件在企业网管中应用实践] 怎样对员工上网行为管理,网络安全审计,局域网行为监控,员工行为管理
    [网络监控软件在企业网管中应用实践] 企业网管七个错误,网络管理经验谈,怎样做好网络管理,局域网管理策略
    [网络监控软件在企业网管中应用实践] 如何最明智地管理员工上网行为,怎样局域网上网监控,员工上网行为监控
    [网络监控软件在企业网管中应用实践] 企业上网管理系统如何有效建立,怎样局域网上网监控,员工上网权限管理
    [网络监控软件在企业网管中应用实践] 局域网应用软件限制策略,局域网内网监控,应用程序监控,应用软件限制策略
    [网络监控软件在企业网管中应用实践] 局域网网管应用技巧:内网安全十大策略说明,内网安全与网络边界安全不同
    [网络监控软件在企业网管中应用实践] 如何关注中小企业网络管理,中小企业局域网监控,网络管理五大基本功能
    [网络监控软件在企业网管中应用实践] IP网络监控和局域网监控,逐渐成熟并升温的新兴市场,视频监控,网络监控
    [网络监控软件在企业网管中应用实践] 上网行为管理软件和上网监控系统是企业局域网管理的良方,上网监监控系统
    [网络监控软件在企业网管中应用实践] 局域网监控:三分技术七分管理,如何加强内网监控,网络监控软件,内网监控
■ AnyView(网络警)网络监控软件--功能检索
  • 服务电话:0592-2651619 / 13906050680 ; 钉钉:15359220936;微信:15359220936;Skype:Amoisoft;
  • 服务邮箱: Sales@amoisoft.com;Order@amoisoft.com;Tech@amoisoft.com;
  • 支持QQ:9908430(综合),850753251(购买1),573982850(购买2),969263561(技术1),53864605(技术2),332056791(技术3)
■ 联系我们获得支持和服务 ■ 信息留言反馈