如何利用嗅探器TcpDump分析网络安全

  前言:在如令网络系统中,随着网络重要性、复杂性的不断增长,作为一名网络工程师、监测者、分析者或者是网络性能的评估者,您所扮演的角色对公司的成功是至关重要的。为了更好的完成工作,您需要透视整个网络,识别关键的性能问题——从应用的响应时间到带宽的瓶颈以至于识别网络每一层所出现的问题。在您每天的工作中,常常会着眼于未来用新的技术和应用扩展您的网络。网络探针分布在重要网段,监视该网络线路上各协议,各计算机占用情况,监控网络上各种业务的网络流量及带宽,记录网络操作,实现分布集中的网络分析Sniffer系统。本文将为你介绍如何利用嗅探器(sniffer)之网络数据采集分析工具TcpDump来详细网络及其安全分析。

  一、嗅探器技术在网络中的应用

  1、Sniffer简介

  Sniffer即嗅探器的英文写法,嗅探器(sniffer)是最常见,也是最重要的技术之一。用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!Sniffer工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。其实,sniffer工具既可以适合于黑客的使用,也同样有利于网络管理员和网络程序员。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。

  它也可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。简单一点解释:一部电话的窃听装置,可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。可是,计算机直接所传送的数据,事实上是大量的二进制数据。因此,一个网络窃听程序必须也使用特定的网络协议来分解嗅探到的数据,嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。计算机的嗅探器比起电话窃听器,有他独特的优势:很多的计算机网络采用的是"共享媒体"。就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。我们称这种窃听方式为"基于混杂模式的嗅探"(promiscuousmode)。尽管如此,这种"共享"的技术发展的很快,慢慢转向"交换"技术,这种技术会长期内会继续使用下去, 它可以实现有目的选择的收发数据。

  2、Sniffer在工作原理

  以太网的数据传输是基于"共享"原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。这意味着计算机直接的通讯都是透明可见的。正是因为这样的原因,以太网卡都构造了硬件的"过滤器"这个过滤器将忽略掉一切和自己无关的网络信息。事实上是忽略掉了与自身MAC地址不符合的信息。嗅探程序正是利用了这个特点,它主动的关闭了这个嗅探器,也就是前面提到的设置网卡"混杂模式"。因此,嗅探程序就能够接收到整个以太网内的网络数据了信息了。

  二、网络数据采集分析工具TcpDump的应用

  1、网络数据采集分析工具TcpDump的简介

  顾名思义,TcpDump可以将网络中传送的数据包的"头"完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。我们用尽量简单的话来定义tcpdump,就是:dump the traffice on a network.,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东西之一。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

  2、网络数据采集分析工具TcpDump的安装

  在linux下tcpdump的安装十分简单,一般由两种安装方式。一种是以rpm包的形式来进行安装。另外一种是以源程序的形式安装。

  rpm包的形式安装:这种形式的安装是最简单的安装方法,rpm包是将软件编译后打包成二进制的格式,通过rpm命令可以直接安装,不需要修改任何东西。以超级用户登录,使用命令如下:#rpm -ivh tcpdump-3_4a5.rpm

  这样tcpdump就顺利地安装到你的linux系统中。怎么样,很简单吧。

  源程序的安装:既然rpm包的安装很简单,为什么还要采用比较复杂的源程序安装呢?其实,linux一个最大的诱人之处就是在她上面有很多软件是提供源程序的,人们可以修改源程序来满足自己的特殊的需要。所以我特别建议朋友们都采取这种源程序的安装方法。

  第一步.取得源程序 在源程序的安装方式中,我们首先要取得tcpdump的源程序分发包,这种分发包有两种形式,一种是tar压缩包(tcpdump-3_4a5.tar.Z),另一种是rpm的分发包(tcpdump-3_4a5.src.rpm)。这两种形式的内容都是一样的,不同的仅仅是压缩的方式.tar的压缩包可以使用如下命令解开:

#tar xvfz tcpdump-3_4a5.tar.Zrpm的包可以使用如下命令安装:#rpm -ivh tcpdump-3_4a5.src.rpm这样就把tcpdump的源代码解压到/usr/src/redhat/SOURCES目录下.

  第二步.做好编译源程序前的准备活动

没有什么可留恋,只有抑制不住的梦想,

如何利用嗅探器TcpDump分析网络安全

相关文章:

你感兴趣的文章:

标签云: