利用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模式。单击“捕获”菜单并选择“模式”菜单项。