实验1 网络协议分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 网络协议分析
1. 实验目的
1.了解一种网络数据捕获工具的基本功能和使用方法。
2.掌握IP、TCP协议的格式及工作过程
3.掌握ICMP协议的格式及工作过程
2. 实验环境
1.实验室提供PC
2.Red Hat Linux 9.0(或Ubuntu Linux 8.04)
3.Windows XP
3.实验原理
网络分析(network analysis)是指捕捉网络流动的数据包,将网络数据转换成可读格式,通过查看包内部数据来发现网络中的问题,分析网络性能并发现瓶颈;监视网络通信量,观察网络协议的行为,了解网络的运行状态;深入了解网络协议的功能。
这一单元介绍些计算机网络分析/监视工具的用法。
3.1网络分析系统的基本原理
3.1.1 Libpcap函数库
网络分析系统的工作依赖于一套捕捉网络数据包的函数库。最早的网络数据包捕捉函数库是UNIX系统中的Libpcap函数库。现在大部分UNIX数据包捕获系统都基于Libpcap或者是在其基础上做些针对性的改进。之后,意大利人Fulvio Risso和Lofts Degioanni为Windows系统提出并实现了一个功能强大的开发式数据包捕获平台——Winpcap函数库。
3.1.2 网络分析系统的结构和工作过程
一个网络分析器通常由5部分组成:硬件、捕包驱动、包缓冲区、实时协议分析和解码器。
网络数据包捕捉函数库工作在网络分析系统的最底层,作用是将一个数据包从链路层接收,即从网卡取得数据包或者根据过滤规则取出数据包的子集。
捕包函数捕回数据包后就需要将其转变给上层的分析模块,进行协议分析和协议还原工
作。由于OSI的7层协议模型,协议数据是从上到下判装后发送的。由于协议分析需要从下至上进行:首先对网络层的协议识别后进行组包还原,然后脱去网络层协议头,将里面的数据交给传输层分析,这样一直进行到应用层。
3.1.3基于插件技术的协议分析器
采用插件技术,就是在程序的设计开发过程中,把整个应用程序分成宿主程序和插件两个部分,宿主程序与插件能够相互通信。在宿主程序不变的情况下,就可以通过增减插件或修改插件来调整应用程序的功能。运用插件技术可以开发出伸缩性良好、便于维护的应用程序,程序有很强的可扩展性,各个功能模块内聚性强。
现在的网络协议种类繁多,为了可以随时增加新的协议分析器,一般的协议分析器都采用插件技术。这样,如果需要对一个新的协议进行分析,只需开发编写这个协议分析器并调用注册函数在系统注册就可以使用了。
3.2网络协议分析器Ethereal
3.2.1 Ethereal概述
1.Ethereal的特点
Ethereal是一个可以对活动的网络上或磁盘中捕获数据并分析的重要软件,它有如下一些特点。
(1)它是当前较为流行的一种计算机网络调试和数据包嗅探软件,可以应用于故障修复、分析、软件和协议开发以及教育领域。
(2)可以在实时时间内,从网络连接处捕获数据,或者从被捕获文件处读取数据。
(3)它是一种开发源代码的许可软件,允许用户向其中添加改进方案。
(4)可以运行在所有的主流操作系统之上(Windows,Linux,Solaris)。
(5)支持的网络通信协议是所有的抓包工具中最全面的,几乎所有的协议,Ethereal都有相应的解码器,可以从以太网、FDDI、PPP、令牌环、IEEE 802.11、ATM上的IP和回路接口上读取实时数据。
(6)支持几乎所有的抓包工具的保存格式,可以读取从tcpdump(1ibpcap)、网络通用嗅探器(被压缩和未被压缩)、SnifferTM专业版等多种网络监控器处捕获的文件。
(7)可以通过editcap程序的命令行交换机,有计划地编辑或修改被捕获文件。
(8)可以通过显示过滤器精确地显示数据,输出文件可以被保存或打印为纯文本格式。
2.Ethereal的下载和安装Ethereal的下载地址
http://winpcap.polito.it/install/default.htm
/distrubution/win32/
注意:以上两个网址中,第一个为;winpcap的网址,第二个网址Ethereal不再使用。Ethereal现在已更名为wireShark,其网址为/,软件中已集成有winpcap。Ethereal作为早期版本可在网络中搜索下载,官方网站似乎不再提供下载。 事实上,Ethereal本身并不能抓包,它只能用来解析数据包;要抓取数据包,需要借助于Pcap(在Windows下面的实现称作Winpcap,所以在Windows操作系统下,在安装
Ethereal之前,首先要安装Winpcap)。
3.Linux下的Ethereal
在Linux环境下,当安装Ethereal成功后,就可以使用命令方式使用Ethereal。命令格式为:
% ethereal -i interface -f filter
其中:
◆ interface网络接口。
◆ filter捕获过滤器表达式。
在过滤表达式中,可以使用如下逻辑连接符和关系运算符。
(1)逻辑连接运算符有not(!),and(&&),or(||)。
(2)关系运算符有eq(==),ne,(!=),gt(>),lt(<),ge(>=),le(<=)。
它们的用法在后面再加以介绍。
4.Windows下的Ethereal
在Windows环境下,安装Ethereal成功后,桌面上出现Ethereal图标。双击该图标,启动Ethereal,Ethereal初始界面如图1所示。
图1 Ethereal的图形初始界面
下面介绍Ethereal初始界面中的几个重要菜单选项。
(1)Capture Options窗口。操作方法:单击初始界面的Capture→Start命令,弹出 Capture Options窗口,如图2所示。