如何借助Sniffer来诊断Linux网络故障?
作者:网络转载 发布时间:[ 2013/4/9 10:16:58 ] 推荐标签:
夫运维者、善假于物也、形如 Sniffer(嗅探器)。Sniffer 在网络安全领域是一把双刃剑、或被黑客作为网络攻击工具、或协助运维诊断网络故障,本文以 Linux 平台下三个常用的网络嗅探器 Tcpdump、Ethereal 和 EtherApe 为例,介绍如何借助 Sniffer 来诊断网络故障,从而保障网络高效安全地运行,但由于 Sniffer 实在太强大、本文也只是入门性的做些介绍、有兴趣的朋友可进一步学习。
● Tcpdump是一个命令行方式的网络流量监测工具。它诞生的时间较早,是许多图形化嗅探器的雏形
● Ethereal是一个图形化的网络流量监测工具,比命令行方式的Tcpdump友好很多,可以实时地观看捕获过程
● EtherApe也是一个图形化的网络流量监测工具、与Ethereal不同,EtherApe可以通过对主机间的连接进行检测
㈠ Tcpdump
在网络性能急剧下降的时候,可以通过 Tcpdump 来分析原因,找出造成网络阻塞的根源,Tcpdump 能截获网卡上收到的数据包,并能够协助网络管理员对其中的内容进行相应的分析。
对于运维人员、了解如何使用 Tcpdump 来捕获感兴趣的数据包是一项必须掌握的基本功。
⑴ Tcpdump 安装
GNU/Linux 发行版缺省都会安装、如果没有可到:http://www.tcpdump.org下载。
⑵ Tcpdump 命令行选项
Tcpdump是一个命令行方式的网络嗅探器、如果不进行过滤,过多数量的包会使运维人员很难理清头绪。
Tcpdump 常用命令行选项:
-a:将网络地址和广播地址转变成容易识别的名字
-d:将已截获的数据包的代码以人容易理解的格式输出
-dd:将已截获的数据包的代码以C程序的格式输出
-ddd:将已截获的数据包的代码以十进制格式输出
-e:输出数据链路层的头部信息
-f:将internet地址以数字形式输出
-l:将标准输出变为行缓冲方式
-n:不将网络地址转换成易识别的主机名,只以数字形式列出主机地址(如IP地址),这样可以避免DNS查询
-t:不输出时间戳
-v:输出较详细的信息,例如IP包中的TTL和服务类型信息
-vv:输出详尽的报文信息
-c:在捕获指定个数的数据包后退出
-F:从指定的文件中读取过滤规则,忽略命令行中指定的其它过滤规则
-i:指定监听的网络接口
-r:从指定的文件中读取数据包(该文件一般通过-w选项产生)
-w:将截获的数据包直接写入指定的文件中,不对其进行分析和输出
-T:将截获的数据包直接解释为指定类型的报文
⑶ 例子
① 从指定的网络接口截获5个 ARP 数据包,并且不将网络地址转换成主机名
[plain] view plaincopy
[root@Rocky ~]# tcpdump arp -i eth0 -c 5 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
10:59:46.728425 arp who-has 192.168.1.1 tell 192.168.1.110
11:00:17.315719 arp who-has 192.168.1.1 tell 192.168.1.111
11:00:17.317911 arp who-has 192.168.1.1 tell 192.168.1.111
11:00:17.418271 arp who-has 192.168.1.1 tell 192.168.1.111
11:00:17.418980 arp who-has 192.168.1.1 tell 192.168.1.111
5 packets captured
5 packets received by filter
0 packets dropped by kernel
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11