协议分析网络性能监测及故障分析.docx
《协议分析网络性能监测及故障分析.docx》由会员分享,可在线阅读,更多相关《协议分析网络性能监测及故障分析.docx(17页珍藏版)》请在冰豆网上搜索。
协议分析网络性能监测及故障分析
第九章网络编程实验
实验二十七网络性能监测及故障分析
【实验目的】
1、检验学生对TCP/IP协议原理的掌握情况,以及综合分析问题的能力;
2、掌握监测网络性能的基本方法;
3、掌握网络性能问题的基本分析方法。
【实验学时】
2学时
【实验环境】
在本实验中需要1台交换机、1台协议分析仪、1台实验PC,使用协议分析仪采集数据包,对采集到的数据进行分析,需要可以访问互联网。
将所有的设备都接入到交换机上,并在交换机上配置端口映像功能,具体IP分配如下
表:
表9-1设备IP地址分配表
设备
接口
IP地址
连接到交换机
PCA
Eth0
192.168.0.2/24
FA0/8
RSR-A
FA0/0
192.168.0.1/24
FA0/10
RG-PATS网络协议分析
仪
Eth0
192.168.0.10/24
FA0/24
设备连接如下图所示:
图9-1实验拓扑图
【实验内容】
1、学习使用网络协议分析器进行网络性能监测的基本方法;
2、能够根据性能检测结果分析网络性能问题。
【实验流程】
图9-2实验流程图
386
【实验原理】
网络检测工具:
1、netstat
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,用于显示协议统计信息和当前TCP/IP网络连接。
可以使用此命令来查看计算机的系统服务是否正常,是否被“黑客”留下后门,木马等。
由于这个命令同时还会显示出当前计算机有什么人的IP正连接着你的服务器,所以也是一种实时入侵检测工具,如发现有IP连接着不正常的端口,可以及时做出有效对策。
netstat[-a][-b][-e][-f][-n][-o][-pproto][-r][-s][-t][interval]
具体参数如下所示:
•-a——显示所有连接和侦听端口,如下图所示:
图9-3netstat–a命令
连接状态有如下几种,LISTEN:
在监听状态中;ESTABLISHED:
已建立联机的联机情况;TIME_WAIT:
该联机在目前已经是等待的状态。
387
•-b——显示在创建每个连接或侦听端口时涉及的可执行程序。
在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。
此情况下,可执行程序的名称位于底部[]中,它调用的组件位于顶部,直至达到TCP/IP。
注意,此选项可能很耗时,并且在没有足够权限时可能失败。
如下图所示:
图9-4netstat–b命令
•-e——显示以太网统计。
此选项可以与-s选项结合使用。
图9-5netstat–e命令
若接收错和发送错接近为零或全为零,网络的接口就没有问题。
但当这两个字段有100个以上的出错分组时就可以认为是高出错率了。
高的发送错表示本地网络饱和或在主机与网络之间有不良的物理连接;高的接收错表示整体网络饱和、本地主机过载或物理连接有问题,可以用Ping命令统计误码率,进一步确定故障的程度。
netstat-e和ping结合使用能解决一大部分网络故障。
•-f——显示外部地址的完全限定域名(FQDN),如下图所示:
388
第九章网络编程实验
图9-6netstat–f命令
•-n——以数字形式显示地址和端口号,如下图所示:
图9-7netstat–n命令
•-o——显示拥有的与每个连接关联的进程ID,如下图所示:
389
计算机网络协议原理实验教程
图9-8netstat–o命令
•-pproto——显示proto指定的协议的连接;proto可以是下列任何一个:
TCP、
UDP、TCPv6或UDPv6。
如果与-s选项一起用来显示每个协议的统计,proto可以是下列任何一个:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或UDPv6。
•-r——显示路由表,如下图所示:
图9-9netstat–r命令
•-s——显示每个协议的统计。
默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、
TCPv6、UDP和UDPv6的统计;-p选项可用于指定默认的子网。
390
第九章网络编程实验
•-t——显示当前连接卸载状态,如下图所示:
图9-10netstat–t命令
•Interval——重新显示选定的统计,各个显示间暂停的间隔秒数。
按CTRL+C停止重新显示统计。
如果省略,则netstat将打印当前的配置信息一次。
2、nbtstat
此命令用于显示基于TCP/IP的NetBIOS(NetBT)协议统计资料、本地计算机和远程计算机的NetBIOS名称表和NetBIOS名称缓存。
Nbtstat可以刷新NetBIOS名称缓存和使用WindowsInternet名称服务(WINS)注册的名称。
使用不带参数的nbtstat显示帮助。
命令格式:
nbtstat[[-aRemoteName][-AIPaddress][-c][-n][-r][-R][-RR][-s][-S][interval]]
具体参数如下:
•-a——(适配器状态),列出指定名称的远程机器的名称表,如下图所示:
图9-11nbtstat–a命令
391
计算机网络协议原理实验教程
•-A(适配器状态)列出指定IP地址的远程机器的名称表。
图9-12nbtstat–A命令
•
-c(缓存)列出远程[计算机]名称及其IP地址的NBT缓存。
图9-13nbtstat–c命令
392
第九章网络编程实验
•-n(名称)列出本地NetBIOS名称。
•-r(已解析)列出通过广播和经由WINS解析的名称。
图9-14nbtstat–r命令
•-R(重新加载)清除和重新加载远程缓存名称表
•-S(会话)列出具有目标IP地址的会话表
•-s(会话)列出将目标IP地址转换成计算机NETBIOS名称的会话表
•-RR(释放刷新)将名称释放包发送到WINS,然后启动刷新
3、ping命令
一般用于检测网络通与不通,也叫时延,其值越大,速度越慢。
ping(PacketInternetGrope),因特网包探索器,用于测试网络连接量的程序。
Ping
发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。
它是用来检查网络是否通畅或者网络连接速度的命令。
作为一个网络管理员来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:
网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。
用于测试网络连通性。
命令格式:
pingIP地址或主机域名
ping[-t][-a][-ncount][-lsize][-f][-iTTL][-vTOS][-rcount][-scount][[-jhost-list]|[-khost-list]][-wtimeout][-R][-Ssrcaddr][-4][-6]target_name
具体参数如下:
•-t——Ping指定的主机,直到停止。
若要查看统计信息并继续操作则键入
Control-Break;若要停止则键入Control-C。
•-a——将地址解析成主机名。
393
计算机网络协议原理实验教程
•-ncount——要发送的回显请求数。
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
图9-15ping-n命令
从以上我就可以知道在给220.181.6.6发送50个数据包的过程当中,返回了47个,其中有两个由于未知原因丢失,这47个数据包当中返回速度最快为19ms,最慢为457ms,平均速度为129ms。
•-lsize——发送缓冲区大小。
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能宕机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。
虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令。
•-f——在数据包中设置“不分段”标志(仅适用于IPv4)。
在一般情况下发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
•-iTTL——生存时间。
•-vTOS——服务类型(仅适用于IPv4)。
•-rcount——记录计数跃点的路由(仅适用于IPv4)。
在一般情况下发送的数据包
394
第九章网络编程实验
是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?
通过此参数就可以设定跟踪经过的路由的个数,不过最大值为9,也就是说只能跟踪到9个路由。
•-scount——计数跃点的时间戳(仅适用于IPv4)。
•-jhost-list——与主机列表一起的松散源路由(仅适用于IPv4)。
•-khost-list——与主机列表一起的严格源路由(仅适用于IPv4)。
•-wtimeout——等待每次回复的超时时间(毫秒)。
•-R——同样使用路由标头测试反向路由(仅适用于IPv6)。
•-Ssrcaddr——要使用的源地址。
•-4——强制使用IPv4。
•-6——强制使用IPv6。
4、tracert命令
Tracer(t跟踪路由)是路由跟踪实用程序,用于确定IP数据报访问目标所采取的路径。
Tracert命令用IP生存时间(TTL)字段和ICMP错误消息来确定从一个主机到网络上其他主机的路由。
Tracert程序将包含不同生存时间(TTL)值的Internet控制消息协议(ICMP)回显数据包发送到目标,以决定到达目标采用的路由。
数据包被路径上的每个路由器转发时,其TTL值会递减1,所以TTL是有效的跃点计数。
数据包上的TTL到达0时,路由器应该将“ICMP已超时”的消息发送回源系统。
Tracert先发送TTL为1的回显数据包,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。
路由通过检查中间路由器发送回的“ICMP已超时”的消息来确定路由。
不过,有些路由器悄悄地丢弃包含过期TTL值的数据包,而tracert看不到。
命令格式:
tracertIP地址或主机域名
tracert[-d][-hmaximum_hops][-jhost-list][-wtimeout][-R][-Ssrcaddr][-4][-6]target_name
具体参数如下:
•-d——不将地址解析成主机名。
•-hmaximum_hops——搜索目标的最大跃点数。
•-jhost-list——与主机列表一起的松散源路由(仅适用于IPv4)
•-wtimeout——等待每个回复的超时时间(以毫秒为单位)。
•-R——跟踪往返行程路径(仅适用于IPv6)。
•-Ssrcaddr——要使用的源地址(仅适用于IPv6)。
•-4——强制使用IPv4。
•-6——强制使用IPv6。
如下图所示:
395
计算机网络协议原理实验教程
图9-16tracert命令
2、网络故障分析与监测工具
网络发生故障以后可以利用一些工具和设备去分析检查故障原因。
常见的工具有:
•FlukeNetworks的OptiView
OptiView广域网分析仪可以即时、全面地透视广域网链路性能,对从T1/E1到OC12的广域网链路进行积极主动的管理和高性能的故障诊断。
OptiView广域网分析仪可以用于识别广域网问题,例如病毒攻击、新的未知的应用、无授权的尝试接入以及不规则的流量模板。
如下图所示:
图9-17OptiView软件界面
•SolarWinds
SolarWinds是一款包括网络探测、错误追踪、性能监视以及性能管理工具在内的网络管理工具包。
其中还包括了对授权成功或失败的安全性管理,以及Cisco路由器管理工具。
另外,工具包中的MIBBrowser自带内含超过25万条唯一OID(全局唯一对象标识)、编译自千种以上的标准及私有MIB(管理信息库)的庞大数据库。
其网络性能监视器可对带宽、失败和性能极限做出评分、图表显示和警告。
如下图所示:
396
第九章网络编程实验
图9-18SolarWinds组件界面
•MRTG网络流量监测软件
Mrtg(MultiRouterTrafficGrapher,MRTG)是一个监控网络链路流量负载的工具软件,它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML文档方式显示给用户,以非常直观的形式显示流量负载。
图9-19MRTG界面
•RG-PATS
结合高校教育的实际情况,将网络方面的理论知识通过软件来实现,让学生在实践的过程中更深入地掌握网络方面的基础理论知识。
本系统能够使学生清楚的理解和掌握网络的内部结构和协议,通过编辑各种协议的数据包深入学习计算机网络的内部原理,同时也可以很好的辅助网络编程的调试。
网络协议教学系统作为一门独立的课程体系,以实验为主,强调
397
计算机网络协议原理实验教程
学生的主动性和设计性,能够拓宽学生的思路,达到真正的教学互动。
图9-20RG-PAST界面
【实验步骤】
步骤一:
netstat命令
netstat是有用的网络工具之一,能列出与网络有关的核心数据结构的内容。
可以根据
TCP和UDP来分析通信状态,发现网络中的异常。
在命令行方式下运行:
1、netstat–s:
显示协议统计信息,包括TCP、UDP、ICMP、IP协议的使用情况。
2、netstat–e:
显示以太网统计信息。
3、netstat?
:
查看其他参数的功能并运行。
步骤二:
nbtstat命令
在命令行方式下运行:
1、C:
\>nbtstat-a192.168.1.1;
2、C:
\>nbtstat?
查看其他参数的功能并运行。
步骤三:
tracert命令
在命令行方式下运行:
1、tracert
2、tracert
3、tracert
398
第九章网络编程实验
步骤四:
编辑并发送帧序列,捕获数据并分析
l、打开协议数据发生器,编辑帧序列,通过设置发送次数及发送时间间隔来控制发包的速度和数量,可发送大批量的数据。
2、在网络协议分析仪一端捕获已发送的数据,并利用网络协议分析仪的统计功能进行分析。
3、当协议数据发生器不停地向网络上发送大量的数据包时,在网络协议分析仪端观察网络的流量变化。
步骤五:
性能分析
在网络协议分析仪上捕获局域网上所有的数据包,并利用网络协议分析仪的各种统计功能进行实时分析与判断。
1、点击网络协议分析仪开始按钮,将协议分析仪连接到整个局域网当中。
2、交互序列图;点击协议分析仪的“交互序列图”功能,察看会话情况。
3、主机状况:
点击协议分析仪的“主机状况”功能,察看主机发送和接收信息的情况,分析网络性能。
步骤六:
大量数据帧的分析
1、点击网络协议分析仪开始按钮,将网络协议分析仪连接到局域网当中;
2、启动网络协议分析仪上的协议详细解析功能,捕获2分钟内流经局域网上的所有数据帧;
3、在这2分钟之内,在部分协议数据发生器上运行几种不同的网络应用程序(如WWW
服务、邮件服务等);
4、将捕获到的数据帧保存到文件:
综合实验.xml。
5、对捕获到的所有数据帧进行以下分析:
①、其中有多少MAC会话。
②、其中有多少IP会话。
③、其中有多少UDP会话。
④、其中有多少TCP会话。
⑤、在捕获期间,存在多少TCP连接?
有多少TCP连接失败?
有多少TCP连接正常中断?
在结束捕获时,有多少TCP连接是活跃的?
⑥、共使用了多少种不同的协议,这些协议都属于TCP/IP协议族的哪一层次。
⑦、对IP的上层协议进行统计,计算各协议(TCP、UDP等协议)所占的百分比,从而对TCP和UDP协议的使用情况进行比较。
【思考问题】
l、在实验的过程中,网络上的峰值流量是多少?
2、网络是否出现性能严重下降的情况,如果有,分析产生的原因。
3、请分析在真实的广域网环境中,UDP与TCP协议的使用情况。
399