利用sniffer排除网络故障的思路,

  利用sniffer排除网络故障的思路,

  善于造假的操作者就像一个嗅探器。

  Sniffer在网络安全领域是一把双刃剑,要么被黑客用作网络攻击工具,要么帮助运维诊断网络故障。

  本文以Linux平台下三种常用的网络嗅探器Tcpdump、Ethereal和EtherApe为例。

  本文介绍了如何使用sniffer来诊断网络故障,从而保证网络的高效安全运行。

  但是因为嗅探器是如此强大,这篇文章只是

  做一些介绍,感兴趣的朋友可以进一步了解。

   Tcpdump是一个命令行网络流量监控工具。它诞生较早,是许多图形嗅探器的原型。

   Ethereal是一款图形化的网络流量监控工具,比命令行方式的Tcpdump友好很多,可以实时观看捕获过程。

   EtherApe也是一个图形化的网络流量监控工具。与Ethereal不同,EtherApe可以检测主机之间的连接。

  当网络性能急剧下降时,可以通过Tcpdump分析原因,找出网络拥塞的根本原因。

  Tcpdump可以拦截网卡上收到的数据包,并帮助网络管理员相应地分析内容。

  对于运维人员来说,知道如何使用Tcpdump捕获感兴趣的数据包是必须掌握的基本功。

  (1) tcpdump安装

  默认情况下会安装GNU/Linux发行版。如果没有,你可以从http://www.tcpdump.org下载。

   Tcpdump命令行选项

  Tcpdump是一个命令行网络嗅探器。如果不过滤,过多的数据包会让运维人员难以理出头绪。

  Tcpdump常见命令行选项:

  -a:将网络地址和广播地址转换成易于识别的名称。

  -d:以通俗易懂的格式输出截获的数据包的代码。

  -dd:以C程序的格式输出截获的数据包的代码。

  -ddd:以十进制格式输出截获的数据包的代码。

  e:输出数据链路层的报头信息。

  -f:以数字形式输出互联网地址。

  -l:将标准输出更改为行缓冲模式。

  -n:不把网络地址转换成容易识别的主机名,只把主机地址(如IP地址)用数字形式列出,避免DNS查询。

  -t:不输出时间戳。

  -v:输出更详细的信息,比如IP包中的TTL和服务类型信息。

  -vv:输出详细的消息信息

  -c:捕获指定数量的数据包后退出。

  -F:从指定文件中读取过滤规则,忽略命令行中指定的其他过滤规则。

  -i:指定要侦听的网络接口。

  -r:从指定文件中读取数据包(该文件通常由-w选项生成)

  -w:将截获的数据包直接写入指定文件,不进行分析输出。

  -T:直接将截获的数据包解释为指定类型的消息。

  3)示例

  拦截来自指定网络接口的五个ARP包,不要将网络地址转换成主机名。

  [root @ Rocky ~]# tcpdump ARP-I eth 0-C5-n

  tcpdump:抑制了详细输出,请使用-v或-vv进行完整的协议解码

  在eth0上侦听,链路类型为MB(以太网),捕获大小为96字节

  10:59:46.728425 arp谁有192.168.1.1告诉192.168.1.110

  11:00:17.315719 arp谁有192.168.1.1告诉192.168.1.111

  11:00:17.317911 arp谁有192.168.1.1告诉192.168.1.111

  11:00:17.418271 arp谁有192.168.1.1告诉192.168.1.111

  11:00:17.418980 arp谁有192.168.1.1告诉192.168.1.111

  捕获了5个数据包

  过滤器收到5个数据包

  内核丢弃了0个数据包

  10:59:46:是数据包被拦截的时间。

  78425:是毫秒数。

  Arp:表示这个包的ARP请求。

  who-has 192 . 168 . 1 . 1 tell 192 . 168 . 1 . 110:表示110请求1的MAC地址。

  拦截主机“9.185.10.57”收发的所有数据包

  tcpdump主机9.185.10.57

  拦截主机“9.185.10.57”和主机“9.185.10.58”或“9.185.10.59”之间传输的数据包

  tcpdump主机9.185.10.57和 (9.185.10.58或9.185.10.59)

  拦截主机“9.185.10.57”与除主机“9.186.10.58”以外的所有其他主机之间通信的IP数据包

  tcpdump ip主机9.185.10.57和!9.185.10.58

  拦截主机“9.185.10.57”接收或发送的FTP(端口号21)数据包

  tcpdump tcp端口21主机9.185.10.57

  如果怀疑系统受到(DoS)攻击,可以拦截所有发送到本机的ICMP数据包,判断目前是否有大量ping流向服务器。

  tcpdump icmp -n -i eth0

  飘渺

  (1)下载并安装

  * * *请确认已经安装了libpcap包* * *

  # CP ethereal-0 . 9 . 9 . tar . bz2/usr/local/src/

  # cd /usr/local/src/

  # bzip2 -d ethereal-0.9.9.tar.bz2

  # tar xvf ethereal-0.9.9.tar

  # cd ethereal-0.9.9

  # ./配置

  #制造

  #进行安装

  简单的捕获过程

  它可以分为两个步骤:

  点击“过滤”:可以直接从预置条件中选择,也可以自己新建一个,例如:

  过滤器名称:洛基

  过滤器字符串:主机124.127.185.106

  埃瑟拉佩

  (1)安装

  #冈兹etherape-0.9.11.tar.gz

  # tar vxf etherape-0.9.11.tar

  # cd以太网-0.9.11

  # ./配置

  #制造

  #进行安装

  简单的捕获过程

  大致如下:

  单击“Pref”按钮,打开“首选项”并单击“捕获”属性页中的“捕获过滤器”。

  .如果您对IP数据包感兴趣,那么您可以将EtherApe切换到IP模式。单击“捕获”菜单并选择“模式”菜单项。

利用sniffer排除网络故障的思路,