实验2SNIFFER的应用.docx

上传人:b****5 文档编号:7760329 上传时间:2023-01-26 格式:DOCX 页数:18 大小:698.10KB
下载 相关 举报
实验2SNIFFER的应用.docx_第1页
第1页 / 共18页
实验2SNIFFER的应用.docx_第2页
第2页 / 共18页
实验2SNIFFER的应用.docx_第3页
第3页 / 共18页
实验2SNIFFER的应用.docx_第4页
第4页 / 共18页
实验2SNIFFER的应用.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

实验2SNIFFER的应用.docx

《实验2SNIFFER的应用.docx》由会员分享,可在线阅读,更多相关《实验2SNIFFER的应用.docx(18页珍藏版)》请在冰豆网上搜索。

实验2SNIFFER的应用.docx

实验2SNIFFER的应用

注意:

实验课程名称统一填写“计算机网络实验”

实验2

实验项目名称:

Sniffer的应用

实验日期:

2010-09-29,2010-10-13

实验地点:

理学实验楼507B

实验目的:

1.理解OSI七层模型中相关网络协议。

2.熟悉和掌握协议分析软件Sniffer的使用,并应用其完成相关协议分析实验。

实验内容:

(蓝色部分为必做,其余部分选做)

1.       数据链路层协议分析实验

●       以太网的工作原理,以太网的MAC层协议分析

●       虚拟局域网的基本概念,VLAN的划分,Trunk配置和分析

●       网络实验相关工具软件简介;

2.       网络层协议分析实验

●       IP数据报的格式分析,

●       ARP协议分析

●       ICMP协议分析

●       PING、tracert命令执行过程

3.       传输层协议分析实验

●       TCP、UDP报文格式分析

●       TCP连接的建立和释放过程分析

●       TCP的滑动窗口机制分析

4.       应用层协议分析实验

●       DNS报文格式分析,DNS工作过程分析

●       Http报文格式分析,Http工作过程分析

●       ftp协议和工作过程分析

基础知识:

Internet协议与标准

Internet的实质是实现不同网络之间的互联,它充分利用各种通信子网的数据传输能力,通过在依赖通信子网的通信模块和应用程序之间插入新的协议软件来保证应用程序之间的互操作性。

Internet的协议族称为TCP/IP协议族,其中包括众多协议,如应用层的TelnetFTPHttpsmtpDNS等协议、传输层tcpudp协议,网络层的IPARPRARPicmpIGMP等协议。

Internet的一个公认标准是RFC(RequestForComment),RFC可以说是TCP/IP和Internet发展及成长的基石,所有关于TCP/IP和因特网的规格、协议内容、会议记录、发展历史等文件数据都以RFC数字编号的方式,由美国网络信息中心(NetworkInformationCenter,NIC)所收集。

这里介绍一下协议分析软件Sniffer,并应用其完成相关协议分析实验。

Sniffer软件简介

Sniffer软件是NAI公司推出的功能强大的协议分析软件。

与Netxray比较,Sniffer支持的协议更丰富,例如PPPOE协议等在Netxray并不支持,在Sniffer上能够进行快速解码分析。

Netxray不能在Windows2000和WindowsXP上正常运行,SnifferPro4.6可以运行在各种Windows平台上。

Sniffer软件比较大,运行时需要的计算机内存比较大,否则运行比较慢,这也是它与Netxray相比的一个缺点。

功能简介

下面列出了Sniffer软件的一些功能介绍,其功能的详细介绍可以参考Sniffer的在线帮助。

捕获网络流量进行详细分析

利用专家分析系统诊断问题

实时监控网络活动

收集网络利用率和错误等

在进行流量捕获之前首先选择网络适配器,确定从计算机的哪个网络适配器上接收数据。

位置:

File->selectsettings

选择网络适配器后才能正常工作。

该软件安装在Windows98操作系统上,Sniffer可以选择拨号适配器对窄带拨号进行操作。

如果安装了EnterNet500等PPPOE软件还可以选择虚拟出的PPPOE网卡。

对于安装在Windows2000/XP上则无上述功能,这和操作系统有关。

下面将对报文的捕获及网络性能监视等功能进行详细的介绍。

下图为在软件中快捷键的位置。

数据报文解码详解

主要对:

数据报文分层、以太报文结构、IP协议、ARP协议、PPPOE协议、Radius协议等的解码分析做了简单的描述,目的在于介绍Sniffer软件在协议分析中的功能作用并通过解码分析对协议进一步了解。

对其他协议可以通过协议文档和Sniffer捕获的报文对比分析。

数据报文分层

如下图所示,对于四层网络结构,其不同层次完成不通功能。

每一层次有众多协议组成。

如上图所示在Sniffer的解码表中分别对每一个层次协议进行解码分析。

链路层对应“DLC”;网络层对应“IP”;传输层对应“UDP”;应用层对应的是“NETB”等高层协议。

Sniffer可以针对众多协议进行详细结构化解码分析。

并利用树形结构良好的表现出来。

以太报文结构

EthernetII以太网帧结构

Ethernet_II以太网帧类型报文结构为:

目的MAC地址(6bytes)+源MAC地址+(6bytes)上层协议类型(2bytes)+数据字段(46-1500bytes)+校验(4bytes)。

Sniffer会在捕获报文的时候自动记录捕获的时间,在解码显示时显示出来,在分析问题时提供了很好的时间记录。

源、目的MAC地址在解码框中可以将前3字节代表厂商的字段翻译出来,方便定位问题,例如网络上2台设备IP地址设置冲突,可以通过解码翻译出厂商信息,方便的将故障设备找到,如00e0fc为华为,010042为Cisco等等。

如果需要查看详细的MAC地址,用鼠标在解码框中点击此MAC地址,在下面的表格中会突出显示该地址的16进制编码。

对于IP网络来说,Ethertype字段承载的是上层协议的类型。

主要包括0x800为IP协议,0x806为ARP协议。

IEEE802.3以太网报文结构

上图为IEEE802.3SNAP帧结构,与EthernetII不同点是:

目的和源地址后面的字段代表的不是上层协议类型而是报文长度。

并多了LLC子层。

IP协议

IP报文结构为IP协议头+载荷,其中对IP协议头部的分析,是分析IP报文的主要内容之一,关于IP报文详细信息请参考相关资料。

这里给出了IP协议头部的一个结构。

版本:

4——IPv4

首部长度:

单位为4字节,最大60字节

TOS:

IP优先级字段

总长度:

单位字节,最大65535字节

标识:

IP报文标识字段

标志:

占3比特,只用到低位的两个比特

MF(MoreFragment)

MF=1,后面还有分片的数据包

MF=0,分片数据包的最后一个

DF(Don'tFragment)

DF=1,不允许分片

DF=0,允许分片

段偏移:

分片后的分组在原分组中的相对位置,总共13比特,单位为8字节

寿命:

TTL(TimeToLive)丢弃TTL=0的报文

协议:

携带的是何种协议报文

1:

ICMP

6:

TCP

17:

UDP

89:

OSPF

头部检验和:

对IP协议首部的校验和

源IP地址:

IP报文的源地址

目的IP地址:

IP报文的目的地址

上图为Sniffer对IP协议首部的解码分析结构,和IP首部各个字段相对应,并给出了各个字段值所表示含义的英文解释。

如上图报文协议(Protocol)字段的编码为0x11,通过Sniffer解码分析转换为十进制的17,代表UDP协议。

其他字段的解码含义与此类似,只要对协议理解的比较清楚对解码内容的理解将会变的很容易。

ARP协议

以下为ARP报文结构

ARP分组具有如下的一些字段:

HTYPE(硬件类型)。

这是一个16比特字段,用来定义运行ARP的网络的类型。

每一个局域网基于其类型被指派给一个整数。

例如,以太网是类型1。

ARP可使用在任何网络上。

PTYPE(协议类型)。

这是一个16比特字段,用来定义协议的类型。

例如,对IPv4协议,这个字段的值是0800。

ARP可用于任何高层协议。

HLEN(硬件长度)。

这是一个8比特字段,用来定义以字节为单位的物理地址的长度。

例如,对以太网这个值是6。

PLEN(协议长度)。

这是一个8比特字段,用来定义以字节为单位的逻辑地址的长度。

例如,对IPv4协议这个值是4。

OPER(操作)。

这是一个16比特字段,用来定义分组的类型。

已定义了两种类型:

ARP请求

(1),ARP回答

(2)。

SHA(发送站硬件地址)。

这是一个可变长度字段,用来定义发送站的物理地址的长度。

例如,对以太网这个字段是6字节长。

SPA(发送站协议地址)。

这是一个可变长度字段,用来定义发送站的逻辑(例如,IP)地址的长度。

对于IP协议,这个字段是4字节长。

THA(目标硬件地址)。

这是一个可变长度字段,用来定义目标的物理地址的长度。

例如,对以太网这个字段是6字节长。

对于ARP请求报文,这个字段是全0,因为发送站不知道目标的物理地址。

TPA(目标协议地址)。

这是一个可变长度字段,用来定义目标的逻辑地址(例如,IP地址)的长度。

对于IPv4协议,这个字段是4字节长。

上面为通过Sniffer解码的ARP请求和应答报文的结构。

PPPOE协议

PPPOE简介

简单来说我们可能把PPPOE报文分成两大块,一大块是PPPOE的数据报头,另一块则是PPPOE的净载荷(数据域),对于PPPOE报文数据域中的内容会随着会话过程的进行而不断改变。

下图为PPPOE的报文的格式:

•数据报文最开始的4位为版本域,协议中给出了明确的规定,这个域的内容填充0x01。

•紧接在版本域后的4位是类型域,协议中同样规定,这个域的内容填充为0x01。

•代码域占用1个字节,对于PPPOE的不同阶段这个域内的内容也是不一样的。

•会话ID点用2个字节,当访问集中器还未分配唯一的会话ID给用户主机的话,则该域内的内容必须填充为0x0000,一旦主机获取了会话ID后,那么在后续的所有报文中该域必须填充那个唯一的会话ID值。

•长度域为2个字节,用来指示PPPOE数据报文中净载荷的长度。

•数据域,有时也称之为净载荷域,在PPPOE的不同阶段该域内的数据内容会有很大的不同。

在PPPOE的发现阶段时,该域内会填充一些Tag(标记);而在PPPOE的会话阶段,该域则携带的是PPP的报文。

捕获报文测试用例图

如图所示,RadiusServerIP地址为172.16.20.76。

PPPOE用户Radius报文交互过程分析如下。

上图为PPPOE从发现阶段到PPPLCP协商,认证IPCP协商阶段和PPPOE会话阶段交互过程。

PPPOE发现阶段,PADI报文,Sniffer解码结构如下所示。

PPPOE会话阶段,Sniffer解码结构如下所示。

 

SnifferPro基本操作

(1)

通过本次实验解释如何使用SnifferPro这个工具来监控网络程序,使你可以初步了解如何用SnifferPro来进行网络和协议分析。

2.1.1开始与停止捕获过程

捕获数据的机制相对比较简单,所有需要做的就是进行实际的分析。

解释要查找什么、分析什么以及分析过程的细节。

进行下面的练习:

1.首先,打开SnifferPro程序,如果系统要求的话,还要选择一个适配器。

打开了程序后,会看到图2.1中的屏幕。

图2.1 浏览SnifferPro程序

2.打开SnifferPro程序后,选择Capture(捕获)-Start(开始),或者使用F10键,或者是工具栏上的开始箭头(通过这次实验,大家应该非常了解这个菜单结构了)。

因为捕获过程需要几分钟才能完成,这时我们可以先了解如何自定义SnifferPro高级与捕获窗口,这样后面就可以节省一点时间。

3.下面,在SnifferPro程序中,会看到高级系统被自动调用,如图2.2所示。

打开这个窗口后,不会看到任何东西,除非停止捕获过程才可以查看内容。

让捕获过程持续运行一段时间,这时可以自定义高级系统,这样就能实时地看到不断出现的问题。

4.浏览图2.2中的屏幕。

高级窗口这时会滚动到窗口左边,只能看到工具栏,而没有任何详细资料。

如果要查看详细资料,就要找到高级窗口对话框左上角的箭头,这个箭头在“层次”这个词的右边。

单击这个箭头后,会显示出高级功能的另一部分窗口,如图2.3所示。

图2.2 开始捕获过程时调用高级系统

这里有很多内容,不要急于了解所有这些内容。

后面学习中再解释所有的SnifferPro的高级功能。

现在,你只需要了解如何进行基本的捕获过程。

在用SnifferPro进行任何分析之前,都必须了解使用工具的机制和基本问题。

在掌握了“怎样”这个问题后,就可以接着去了解“什么”和“为什么”的问题。

5.你可以看到我们能自定义SnifferPro程序用于将来的捕获过程,所以我们在下面要对如何使用高级功能进行分析。

如果要进一步自定义我们的SniffePro高级功能,就要在一个视图中显示所有定义对象的详细资料。

如果再看一次图2.3,你会发现在高级对话框的最右边有两个卷标:

一个是“总结”卷标,另一个是“对象”卷标。

在图2.4中,你会看到这两个卷标都消失了,被两个窗口取代。

如果要改变视图,只需要将鼠标停在图2.4中圈起的位置,这时箭头的形状会改变,然后可以将这一栏上移,就可以看到SnifferPro高级窗口中对象的所有详细资料了。

图2.3在高级系统中查看更多的细节

图2.4浏览高级系统内的对象卷标

6.已经完全了解如何自定义SnifferPro高级窗口后,使浏览更容易。

现在,我们可以停止捕获过程。

再次进入Capture(捕获)菜单,然后选择Stop(停止)或者按下F10键。

还可以使用工具栏,选择黑方框图标来执行同样的功能。

7.停止了捕获过程后,屏幕上不会有任何反应。

这时因为没有要求SnifferPro显示捕获的内容。

还可以按F9键来执行“停止并显示”的功能,或者可以进入Capture(捕获)菜单,选择“停止并显示”。

也可以使用工具栏图标来执行同样的功能,这个图标的样子就像带望远镜的黑色的方盒。

因为我们先停止了捕获过程,所以也可以在停止后选择Capture(捕获)菜单中的“显示”,按下F5键,或者只使用工具栏中的“望远镜”。

在这里,我们使用的是第一种方法,选择了“显示”后,SnifferPro高级窗口会迅速地一直最小化,然后就会再次出现高级对话框,如图2.5所示。

图2.5 选择显示后查看高级对话框

8.现在查看对话框(停止捕获过程后),会看到几个非常重要的变化。

第一个变化是SnifferPro高级窗口中不再增加内容了,可以说是因为停止了捕获过程,所以不再有对象增加了。

第二个变化是对话框的标题栏。

起初只简单地显示“Expert”(高级)。

现在显示的是捕获文件的名字,以及SnifferPro在捕获过程中观察到的帧的数目——在图中是374个以太网帧。

 

尽管还没有保存捕获文件并为它命名,但标题栏仍显示该文件为Snif1,这是系统的默认文件名。

如果选择“文件”菜单,并选择“另存为”,会看到SnifferPro将文件保存为Snif1.cap。

9.另一个主要变化是对话框最下角增加了一组窗口卷标,包括高级(当前查看的视图)、——、——、————、————和————。

10.选择了解码卷标时,屏幕显示如图2.6,会看到SnifferPro缓冲器中的所有实际“数据”。

这里并不是要决定用这些数据来做什么,但是应该知道已经做了什么。

回忆本书前面讨论的内容,现在看到的内容就是(从上至下)——、————和————的内容。

图2.6 查看解码卷标

总结、详细资料和Hex窗格的内容占很大比重。

需要了解它们分别是什么,以及在每个窗格中会看到哪些内容。

2.1.2 浏览并分析捕获结果(请同学们完成以下详细步骤)

(1)总结、详细资料与Hex窗格进行监控————————————————————————————————

(2)显示设定选项:

————————————————————————————————————————

(3)总结帧数据包

图2.7

保存选中帧:

————————————————

选择范围:

————————————————

选择标记:

————————————————————————

上一个被选帧:

————————————————————

下一个被选帧:

————————————————————

(4)重新查看上图,会发现第一栏是No.,其作用是:

——————

右边一栏是状态栏。

这一栏表示帧是否被标记。

标记是捕获文件中的一个记号。

再右边一栏是来源地址,接着是目的地址栏。

作用是:

——————

2.1.3.详细资料窗格

已经了解了帧的内容,现在让我们来看看从数据的表格视图中可以得到哪些信息。

利用sniffer数据捕获功能捕获数据并进行数据帧解析分析,例如:

图2.8专家分析系统

(1).如上图所示,你会看到IP文件头的各部分内容。

现在把它们与图中的数据相对应来看:

(根据自己的Sniffer专家分析系统的分析内容完成以下:

版本 ——————————————

⏹ IHL ——————————————————

⏹ ToS ToS位可以提供服务质量(QoS)信息————————————————————————————————(SnifferPro会提供一些必要的信息,这样就不必为它们的意义伤脑筋了。

⏹总长度 ——————————————————————

⏹ID ————————————————————————

⏹标记 ——————————————————————

⏹分段差距 ————————————————————

⏹ TTL ———————————————————————

⏹协议 ————————————————————————

⏹校验和 ————————————————————

⏹ SA ————————————————————

⏹DA ——————————————————

⏹选项与Padding 这里没有任何选项。

在文件头中不一定必须有选项这部分内容。

⏹数据 —————————————————————————

你很可能从来没想过会了解所有这些内容,不过对于现在阅读的这些关于协议、OSI、字节和字节的内容,应该已经很清楚了。

(2).TCP文件头可以分成几个部分。

现在可以查看TCP文件头的所有详细内容。

在TCP中,需要使用端口序号来识别并建立与上层协议之间的连接。

这个文件头会像IP文件头一样被分解来查看各部分内容,现在我们来了其中各项的详细内容:

(请同学们完成:

⏹来源端口 ——————————————————

⏹目的端口 ————————————————————————

⏹顺序序号 顺序序号(和下一个期望顺序序号)用来进行顺序控制。

⏹确认号 因为已经设定了ACK字节(在下面几行中,确认字节设定为1),确认号代表——————————————————。

⏹差距 数据差设定为20个字节,可以说明——————。

⏹标记 标记为10。

⏹ U 紧急指针(URG)设定为——————。

⏹ A 确认字节(ACK)设定为——————。

⏹ P 入栈程序(PSH)设定为——————。

⏹ R 重新连接(RST)设定为——————。

⏹ S 同步顺序号(SYN)设定为——————。

⏹ F 释放连接(FIN)设定为————————。

⏹窗口 窗口为————。

⏹校验和 校验和为——————。

⏹选项+Padding ————————。

⏹数据 ————————————。

这些信息会使我们更有兴趣深入了解这些内容,我们甚至还没有得到全部的负载内容。

SnifferPro是一种非常有价值的工具,可以用它来深入挖掘数据的详细资料,就像我们正在做的一样。

我们还只是在查看一个数据帧而已!

即使你不能全部理解这些内容(关于协议代码的信息总量非常多),至少可以进行捕获过程,然后研究一些网络或者RFC中的信息,这样会发现正在解析的协议中的更多内容。

直到现在,我们还只是在告诉你如何使用SnifferPro分析窗格(总结、详细资料和Hex)来读取捕获的数据。

(3).Hex窗格

Hex窗格显示的内容最直观,同时也难以理解。

Hex窗格看上去就像是十六进制代码的信息集合。

它的确如此,但是,在这里我们会提供一种更好的方法来理解这个窗格中的内容,这样就可以了解它们,并进行分析。

我们知道数据的传输是按照——————为基本标准进行的。

我们还知道我们可以把二进制数据转换为————————————的格式。

当在Hex窗格中查看数据时,看到的是处于传输状态的原始数据。

在图2.9中,会在窗格的右边看到原始数据,是以URL、HTML以及其他各种传输格式表示的。

图2.9 在Hex窗格中查看捕获的文件

在默认的情况下,Hex窗格会以ASCII格式显示数据。

如果想的话,也可以把格式改变为EBCDIC(IBM)代码,只需要在Hex窗格内单击鼠标右键,将选项改为EBCDIC即可。

现在已经进行了一个捕获过程,得到了一个帧,并在SnifferPro解码栏中用总结、详细资料和Hex窗格对这个帧进行了分析。

通过学习和实验我们将了解更多的协议和问题,现在大家应该了解如何使用SnifferPro来进行基本的捕获和分析。

如果同学们有兴趣,我们可以思考一下应该如何调节SnifferPro,来优化捕获数据的过程。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1