1》网络性能监测
网络性能监测主要是考查网卡的吞吐量是否过载,使用sar工具加上选项-n就可以进行网络活动统计,具体用法为:
sar -n { DEV|EDEV|NFS|NFSD|SOCK|ALL}
不同的参数显示不同的内容,DEV表示统计所有网络设备的活动,NFS表示统计NFS客户端活动,NFSD表示统计NFS服务器端活动,SOCK表示统计Socket连接,而ALL表示统 计所有五类活动,这里主要介绍统计两类活动:
1>查看网络设备活动
参数DEV表示统计所有网络设备的活动,这里给出一个例子:
其中,IFACE表示网络接口卡设备名,rxpck/s和txpck/s分别表示每秒收到和发送的包数,rxbyt/s和txbyt/s分别表示每秒收到和发送的数据字节数,rxcmp/s和 txcmp/s分别表示每秒收到和发送的压缩包数,rxmcst/s表示每秒收到的多播包数;
2>统计网络设备的错误包;
edev表示统计所有网络设备失败包的情况:
其中IFACE表示网络接口卡设备名,rxerr/s和txerr/s分别表示每秒收到和发送的错误包数,coll/s表示每秒钟发送的冲突包数,rxdrop/s和txdrop/s分别表示每秒接 收和发送过程中因Linux空间不够而丢弃的包数,txcarr/s表示每秒发送过程中的载波错误数,rxfram/s表示每秒钟收到的帧序列错误数,rxfifo/s和txfifo/s分别表示每秒接收和 发送FIFO(先进先出)泛滥的错误包数;
2》网络监视器:
使用网络监视器可以截获网络通信数据包,便于精确地监测和更深入的分析,tcpdump是可以将网络中传送的数据包完全截获下来提供分析的常用命令行工具,它支持针 对网络层,协议,主机,网络或端口的过滤,并提供and,or,not等逻辑语句来过滤信息,tcpdump语法格式如下:
tcpdump [选项] [-c 数量] [-F 文件名] [-i 网络接口] [-r 文件名] [-s snaplen] [-T 类型] [w 文件名] [表达式]
tcpdump使用表达式定义过滤报文的条件,如果一个报文满足表达式的条件,它将捕获该报文,如果没有给出任何条件,则网络上所有的信息包将会被截获,表达式作为 一种正则表达式,主要使用关键字和运算符来定义,主要有以下几类:
1)关于类型的关键字,主要有host,net,port,分别定义主机,网络,端口等条件,例如host 192.168.0.1用来限制IP地址为192.168.0.1,port 23指明端口号是23, 如果没有指定类型,默认的类型是host;
2)关于传输方向的关键字,主要包括src,dst,dst or src,dst and src,例如,src 192.168.0.1,指明数据包源地址是192.168.0.1,如果没有提供方向关键字,则默认为 src or dst,即源或目的均可;
3)关于协议的关键字,主要包括fddi,ip, arp, rarp, tcp , udp等,Fddi表示在FDDI网络上的特定的网络协议,实际上,它是ethre(以太网)的别名,可以将fddi协议包当作 以太网的包进行处理和分析,如果没有指定任何协议,则tcpdump监听所有协议的数据包;
4)其他关键字,如gateway(网关),broadcast(广播),less(小于),greater(大于);
5)逻辑运算符,包括与运算(and, &&),或运算(or, ||),非运算(not !);
可以将多个关键字组合起来定义过滤条件,这里举几个例子:
要捕获主机192.168.0.1和主机192.168.0.2或192.168.0.3收到和发出的所有数据包:
tcpdump host 192.168.0.1 and (192.168.0.2 or 192.168.0.3)
要捕获主机192.168.0.1除与主机192.168.0.3之外所有主机通信的IP包:
tcpdump ip host 192.168.0.1 and ! 192.168.0.3
要获取主机192.168.0.1接收或发出的telnet包:
tcpdump tcp port 23 host 192.168.0.1
以下是一个tcpdump命令的输出结果:
不加任何选项可以运行tcpdump命令,如果利用丰富的选项,则可以根据需要捕获并显示包信息,例如-a表示将网络地址和广播地址转变成名称;-e表示输出数据链路层的 头部信息;-n表示不将网络地址转变成名称;-v表示输出详细的信息,如在IP包中可以包括ttl和服务类型的信息;-vv表示输出详细的报文信息;-c表示在收到指定的包数后tcpdump自 动停止;-i用于指定监听的网络接口,这一选项经常要用到;