《网络与通信实验-协议分析》由会员分享,可在线阅读,更多相关《网络与通信实验-协议分析(60页珍藏版)》请在金锄头文库上搜索。
1、 中 北 大 学 网络与通信实验课程 网络协议分析实验 参考资料(一) 电子与计算机科学技术学院网络工程系 2007 网络与通信实验课程参考资料(一) 中北大学网络工程系 王东 目录目录目录目录 第 5 章 网络协议分析实验.1 5.1 网络协议分析器 Ethereal.1 5.1.1 Ethereal 主窗口简介.1 5.1.2 Ethereal 菜单栏简介.3 5.1.3 Ethereal 的工具栏4 5.1.4 Ethereal 的网络数据抓包过程4 5.1.5 由 Ethereal 协议窗口分析协议的格式.6 5.2 数据链路层协议分析9 5.2.1 以太网链路层帧格式分析实验.9
2、5.2.2 VLAN 802.1Q 帧格式分析实验11 5.3 网络层协议分析.16 5.3.1 ICMP 协议分析实验.17 5.3.2 IP 协议分析实验21 5.3.3 IP 数据报分片实验24 5.3.4 ARP 协议分析实验25 5.4 传输层协议分析.28 5.4.1 TCP 协议分析实验28 5.4.2 UDP 协议分析实验.32 5.5 应用层协议分析.35 5.5.1 DNS 协议分析实验.35 5.5.2 FTP 协议分析实验39 5.5.3 HTTP 协议分析实验.44 5.5.4 电子邮件相关协议分析实验.48 5.5.5 TELNET 协议分析实验54 计算机网络实训
3、教程草案 第五章 网络协议分析实验 第 1 页 共 58 页 第第第第 5 章章章章 网络网络网络网络协议分析实验协议分析实验协议分析实验协议分析实验 本章按照 TCP/IP 的层次结构对网络互连中的主要协议进行分析。本章实验的基本思路 是使用协议分析工具从网络中截获数据报,对截获的数据报进行分析。通过试验,使学生了 解计算机网络中数据传输的基本原理, 进一步理解计算机网络协议的层次结构、 协议的结构、 主要功能和工作原理,以及协议之间是如何相互配合来完成数据通信功能的。 Windows 环境下常用的协议分析工具有: Snifer Pro、 Natxray、 Iris、 Ethereal 以及
4、 Windows 2000 自带的网络监视器。本书选用 Ethereal 作为协议分析工具。 5.1 网络协议分析器网络协议分析器网络协议分析器网络协议分析器 Ethereal Ethereal 是目前最好的、开放源码的、获得广泛应用的网络协议分析器,支持 Linux 和 windows平台。 在该系统中加入新的协议解析器十分简单, 自从1998年发布最早的Ethereal 0.2 版本发布以来,志愿者为 Ethereal 添加了大量新的协议解析器,如今 Ethereal 已经支持五百 多种协议解析。其原因是 Ehereal 具有一个良好的可扩展性的设计结构,这样才能适应网络 发展的需要不断加
5、入新的协议解析器。本节以 Ethereal 0.10.14 版本为依据。 Ethereal 的安装比较简单,按下述网址下载,下载完 Ethereal 即可完成安装。 http:/ 新版本 Ethereal 已经整合 winpcap,应用比较方便。 5.1.1 Ethereal 主窗口简介主窗口简介主窗口简介主窗口简介 图 5.1 是抓包完成后的 Ethereal 的主窗口。 过滤栏以上是 Ethereal 本身的菜单, 过滤栏以 下是抓获的包经过分析后的显示信息。 图 5.1 抓包完成后的 Ethereal 主窗口 其中: 计算机网络实训教程草案 第五章 网络协议分析实验 第 2 页 共 58
6、 页 1菜单栏通常用来启动 Ethereal 有关操作; 2工具栏提供菜单中常用项目的快速访问; 3过滤器栏提供一个路径,来直接控制当前所用的显示过滤器; 4包列表窗格显示当前抓包文件的全部包的摘要。 包列表的每一行对应抓包文件中的一个包,不同报文有不同的颜色,但是没有明显的规 律。如果你选择了一行,则更详细的信息显示在协议窗格和包字节数据窗格中。 注意:在此窗格里单击某个包,就会在另外的第二个窗口里显示这个包的信息。 当 Ethereal 解析一个包时, 由协议解析器将信息放置到行列中去,比较高级协议会改写较低级协议的信息, 你只能看到最高级协议的信息。 例如, IP 内部包含有 TCP 的
7、 Ethernet包,Ethernet 解析器将写出它的数据(如 Ethernet 地址),而 IP 解析器将用自己的数据改写它(如 IP 地址),等等。 在包列表窗格中的每一列代表抓获的一个包,每个包的摘要信息包括: No:抓包文件中包的编号。,即使已经用了一个显示过滤器也不会改变。 Time:包的时间戳,即抓获该包的时间,该时间戳的实际格式可以改变。 Source:包的源地址。 Destination:包的目标地址。 Protocol:包协议的缩写。 Info:包内容的附加信息,这是一种可用的上下文菜单(鼠标右键)。 5包协议窗格(包细节窗格) 包协议窗格以更详细的格式显示从包列表窗格选中
8、的协议和协议字段。包的协议和字段用树型格式显示,可以扩展和收缩。这是一种可用的上下文菜单,单击每行前的“”就可以展开为以“”开头的若干行,单击“”又可以收缩。 在每个协议行中,会显示一些指定的协议字段: (1)生成的字段:Ethereal 自己会生成附加的协议字段(括号括起来者)。这些字段的信息是从抓包文件中已知的与其它字段的上下文推导出来的。例如,Ethereal 分析每个 TCP流的顺序号/确认号时,就会在 TCP 协议的SEQ/ACK 分析中显示出来。 (2)链接: 如果 Ethereal 检测到抓包文件中存在着与其它包的关系,就会产生一个到其它包的链接。链接用蓝色显示,双击它,Ethe
9、real 就跳到相应的包。 6包字节窗格(十六进制数据窗格) 包字节窗格以十六进制形式显示出从包列表窗格中选定的当前包的数据,并以高亮度显示在包协议窗格中选择的字段。在常用的十六进制区内,左边示出包数据的编号,中部为相应的十六进制示出包数据,右边为对应的 ASCII 字符。 7状态栏 显示当前程序状态和抓获的数据的信息。通常左边显示相关信息的状态,右边显示包的当前数目。 (a) (b) 图 5.2 状态栏示例示例 (a) 图示出没有装载抓包文件,即 Ethereal 开始时的情况。 (b) 图为已经装载抓包文件时的状态栏。左边显示关于抓包文件的名字、大小、开始抓包经过的时间等信息。右边显示抓包
10、文件中包的当前数目。显示的数值如下: 计算机网络实训教程草案 第五章 网络协议分析实验 第 3 页 共 58 页 P: 抓获包的数目; D: 当前正显示的包的数目; M: 已经标记的数目。 5.1.2 Ethereal 菜单栏菜单栏菜单栏菜单栏简介简介简介简介 1File 文件菜单 文件菜单包括打开和合并抓包文件,全部或部分存储、打印、输出抓包文件,退出 Ethereal。 2Edit 编辑菜单 编辑菜单包括查询包,时间查询,标记或标识一个或多个包,设置你的选项(剪切,拷 贝,粘贴当前不能实现) 3View 视图菜单 视图菜单控制抓抓获的包数据的显示,包括对抓获包的着色,字型的缩放,协议窗格中
11、 协议树的压缩和展开。 4Go 指向菜单 以不同方式指向特定的包。 5Capture 抓包菜单 开始和停止抓包过程以及编辑抓包过滤器。 6Analyze 分析菜单 包括的选项由操作显示过滤器,允许和不允许对协议解析,配置用户指定的译码器和跟 踪一个 TCP 流。 7Statistics 统计菜单 显示各种统计窗口的菜单项,包括已经抓到的包的摘要,显示协议的分层统计等等。 8Help 帮助菜单 包括帮助用户的选项,诸如一些基本帮助,所支持的协议列表,手工页面,在线访问一 些 web 页面,以及常用的对话框。 5.1.3 Ethereal 的工具栏的工具栏的工具栏的工具栏 Ethereal 工具栏
12、提供主菜单中常用的选项的快速访问。工具栏不能由用户定制,但是如 果屏幕空间需要显示更多的包数据,就可以用视图菜单将它隐蔽。 作为菜单,只有当前程序被选用时该选项才是可用的,其它选项变成灰色(如果尚未装 载数据就不能存入抓包文件) 。图 5.3 为各种工具图标的名称。 接口 选项 开始 停止 重开始 打开 存储为 关闭 重载 打印 查询包 向后 向前 指定包 到首包 到末包 包着色 卷屏 放大 取消放大 图 5.3 各种工具图标的名称 接口:单击此图标,出现一个抓包选项表对话框; 选项:引出一个抓包选项对话框; 开始:根据选项在最近时间开始抓包; 停止:停止当前运行的抓包过程; 计算机网络实训教
13、程草案 第五章 网络协议分析实验 第 4 页 共 58 页 重开始:为了方便起见,停止当前运行的抓包过程,重新开始; 打开:出现打开文件对话框,让你打开一个抓包文件来观察; 存储为:让你将当前的抓包文件存储为你希望的文件。弹出“Save Capture File As”对话框; 关闭:关闭当前的抓包文件,如果没有存储该包被会询问是否存储; 重载:允许重装当前的抓包文件; 打印:引出打印对话框,允许全部或部分打印包文件中的包; 查询包:引出查询一个包的对话框; 向后:在包历史中向回跳; 向前:在包历史中向前跳; 指定包:引出对话框,跳到指定编号的包; 到首包: 跳到包文件中第一个包; 到末包:跳到包文件中最后一个包; 着色:对包列表中抓获的色,用不同颜色显示; 放大:放大打开的包数据(增大字型); 取消放大:取消包数据放大。 5.1.4 Ethereal 的网络数据抓包过程的网络数据抓包过程的网络数据抓包过程的网络数据抓包过程 Ethereal 的抓包有如下特征: 可以从不同类别的网络硬件抓包,如 Ethernet、 Token Rin