当前位置:文档之家› 实验1.数据链路层与网络层协议实验doc

实验1.数据链路层与网络层协议实验doc

《计算机网络》实验指导书徐州工程学院信电工程学院通信与网络教研室编实验1-1预备实验(Ethereal工具的使用)Ethereal 是当前较为流行的一种计算机网络调试、数据包嗅探和网络协议分析软件。

该软件使用libpcap库或winpcap库从主机网络接口中捕获数据包。

Ethereal具有设计完美的GUI 和众多分类信息及过滤选项。

用户通过Ethereal,同时将网卡插入混合模式,可以查看到网络中发送的所有通信流量并捕获到所有的数据包。

一、下载安装Ethereal从网站上可以下载Ethereal软件的最新版本,新版本Ethereal 已经整合winpcap,下载Ethereal即可完成安装。

二、Ethereal的使用1.执行安装目录下的ethereal.exe文件,选择菜单Capature->Options,打开选项配置对话框,如图1所示。

对以下选项进行配置。

图1:Option配置窗口(1)Interface:指定在哪个接口(网卡)上抓包。

一般情况下都是单网卡,所以使用缺省的就可以了。

(2)Limit each packet:限制每个包的大小,缺省情况不限制。

(3)Capture packets in promiscuous mode:是否使用混杂模式。

如果选中,抓取所有的数据包。

如果只需要监听本机收到或者发出的包,这个选项不选。

(4)Capture Filter:过滤器。

只捕获满足过滤规则的分组,例如,捕捉主机202.14.26.53和www服务器之间的通信(主机202.14.26.53是自身),capture filter 的filter string设置为:host 202.14.26.53 and (5)Capture File:可以指定将捕获到的分组直接保存在一个文件里,而不是存于内存中,在这里输入文件名称。

如果选择Using ring buffer(使用环行缓冲区),分组可以被写入多个文件,当每个文件写满或者在指定秒数的时间后交换文件。

这些控制对捕获较大较长的跟踪记录是很重要的。

(6)Display options(显示选项)在网络活动量很高的时候,要想同步显示是很困难的。

大家可以选择观察实时更新分组,通过让显示屏自动滚动到最后捕获的分组。

(7)Capture limits(捕获限制)可以使用Stop按钮来手动停止跟踪。

也可以使用这些选项来要求在捕获一定数量的分组、跟踪记录达到一定的大小或在一个特定的时间后停止跟踪。

(8)Name resolution(名字解释)可以把分组中不同的数字翻译成人们易读的名字。

如启用MAC地址转换,Ethereal会将一部分地址转化为厂商的名称。

如启用网络地址转换,Ethereal会试图将一个网络地址(如:201.100.0.1)转化成一个主机名(如:.)2.配置以后,点击图1窗口中的Start按钮,开始跟踪捕获数据包。

如图2所示。

图2:跟踪捕获窗口3.点击图2中的Stop按钮,停止捕获数据包,在Ethereal主窗口中显示已捕获的数据包,如图3所示。

图3:捕获结果分析窗口4.用Ethereal分析数据包图3所示的Ethereal数据包分析窗口被分成三个部分:(1)列表框:最上面为数据包列表框,用来显示截获的每个数据包的信息,在数据包列表中选中一个分组后,下面的两个子窗口中会显示出所选分组的细节。

(2)协议框:中间为协议框,用来显示选定的数据包的协议信息。

如主机的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP 协议的具体内容(Hypertext Trnasfer Protocol)。

通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。

(3)原始框:最下边是以十六进制形式表示的数据包原始框内容,用来显示数据包在物理层上传输时的最终形式。

当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。

5.Ethereal包过滤器在抓包完成以后,显示过滤器可以用来找到你感兴趣的包。

例如,如果只想查看使用TCP协议的包,在Ethereal窗口的左下角的Filter中输入TCP,然后回车,Ethereal就会只显示TCP协议的包,如图4所示。

图4:过滤TCP包例子:(1)捕获IP地址是192.168.2.10 的主机所发送的所有的HTTP报文,对应的显示Filter (过滤器)可设为:ip.src eq 192.168.2.10 and http。

(2)捕获IP地址是192.168.2.10 的主机所接收的所有的HTTP报文,对应的显示Filter (过滤器)可设为:ip.dst eq 192.168.2.10 and http。

(3)捕获IP地址是192.168.2.10 的主机所发送和接收的所有的HTTP报文,对应的显示Filter (过滤器)可设为ip addr=192.168.2.10 and http(4)捕捉主机192.168.2.10发出或接受的所有FTP包(即src or dst port=21),设置为:tcp port 21 and host 192.168.2.10(5)捕捉局域网上主机192.168.2.10发出或接受的所有ARP包,设置为:arp and host 192.168.2.10注意:当你输入的表达式不符合规范时,Filter背景将显示红色说明:本实验中用到的示例文件在traces文件夹中。

实验1-2链路层协议一、实验目的1.了解MAC地址和地址解析协议ARP2.熟悉以太网MAC帧结构3.了解以太网集线器和交换机转发以太网帧的差异二、实验内容1.地址解析协议ARP(1)打开文件Traces\5_1_MACAddresses\arp.cap进行分组分析。

Arp.cap里分组1和分组2是PING的结果。

注意分组1和分组2中的源地址和目的地址。

分组1是从00:06:5B:E3:4D:1D发送到00:07:E9:53:87:D9。

分组2是向相反的方向发送的。

随着ARP高速缓存项的删除,在分组3中看到主机A被迫发出ARP请求。

ARP请求发送到广播地址ff:ff:ff:ff:ff。

主机B监听到广播请求,并在分组4中应答。

这个应答会重新增加到高速缓存,并且允许主机A在分组5中发送ping请求。

发送ping 192.168.0.100。

结果分组在分组7和8中显示。

在分组7之前,不需要ARP 交换,因为ARP高速缓存再一次包含了192.168.0.100项。

(2)在主机命令提示符窗口执行命令arp -a来显示主机ARP高速缓存里的内容。

(3)用Ethereal捕捉ping数据包执行命令ping –n 8 192.168.0.100。

这个命令发送8个小的请求报文给主机192.168.0.100,并等待主机B应答。

(4)分析捕捉结果,查看ARP协议格式。

2.以太网帧结构(1)捕捉分组,选择某个分组(2)在协议框中展开所选分组的Ethernet层,查看帧的源地址、目标地址、类型等字段并与原始框中的数据比较。

如下图所示。

3.比较以太网交换机和以太网集线器实验环境:以太网上有三台计算机A、B、C●在A上发出命令ping192.168.0.105,发送小的请求报文给B,并等待B的应答。

●在A上发出命令ping 192.168.0.255,将小的报文广播到本地网上所有的主机。

●分别在主机B和主机C上捕获的跟踪记录保存在文件ping_switch_B.cap 和ping_switch_C.cap里。

分析文件ping_switch_B.cap里的跟踪记录:捕获的记录中包括一个ARP请求及应答,以及两组ping的请求和应答。

分组1的ARP请求来源于主机A,发送ping包到192.168.0.105之前,主机A必须知道192.168.0.105对应的以太网地址。

这个ARP请求广播到本地网的所有计算机上,目的地址ff:ff:ff:ff:ff:ff表示分组应该发送到所有计算机上。

主机B听到ARP请求广播,在分组2中直接发送响应给A,这个回答不是广播形式。

注意,分组1是以太网Ⅱ型帧。

分组3到分组16时来自主机A的ping请求和来自主机B的ping应答。

分组25到35是从主机A发给广播地址192.168.0.255的ping请求。

分析文件ping_switch_C.cap里的跟踪记录:主机C只看到发送到广播地址的数据包。

在分组1中它看到ARP请求,但没有ARP 应答。

主机C看不到A发给B的ping请求,没看不到B的应答,即主机C看不到A和B 的通信流,因为主机A和B不在一个交换机端口上。

(2)将三台计算机(A、B和C)连接到一个集线器上,重复上面的操作。

在主机B和C上捕获的跟踪记录保存在文件ping_hub_B.cap 和ping_hub_C.cap里。

分析这两个文件中捕获的数据包。

主机B所看到的跟踪结果基本上与用交换机时看到的一样。

在集线器上,主机C所看到的跟踪记录与B所看到的完全相同。

因为集线器连接的计算机A、B、C在一个共享网段上。

4.在局域网中捕获一组数据包,分析ARP协议、ICMP协议、TCP协议的数据包的帧结构。

三、思考题:打开文件frameFormat.cap,它包含一个以太网V2帧和一个IEEE802.3帧。

哪一个字段允许Ethereal正确解释帧?在跟踪的每个分组里,这个字段的值是多少?实验1-3网络层协议一、实验目的1.了解IP数据报的基本原理2.掌握ping和tracert工具的使用3.了解RIP动态路由原理二、实验内容:1.IPv4数据报分析实验环境:在最大支持1514个字节的数据报的网络上发送两个大小为5000字节的报文,数据从192.168.0.100发送到192.168.0.102。

打开文件Traces\4_1_JoiningTheInternet\fragment_5000_isolated.cap,如下图所示。

本例中发送两个UDP(传输层协议)数据包,每个包含5000个字节的数据部分和8个字节的UDP首部。

图中,分组1到4和分组5到8分别代表了先后发送的两个UDP数据报。

当IP层收到5008字节的UDP数据报时,要将其作为IP数据报在以太网上传输,以太网要求一次传输的长度不大于1514个字节(其中14个字节是以太网帧首部),IP被迫将UDP数据报作为多个分片发送。

每个分片都包含以太网帧首部和IP数据报首部,还包含UDP数据报(首部+数据)的一部分。

展开并观察1-4,5-8每个分组的协议框中内容,注意IP首部的标识字段、片偏移量字段、Flags等字段的内容,思考它们的作用。

相关主题