计算机网络上机实验 题目
实验一 网络简单观察实验
一、实验目的
1. 观察了解网卡、线缆、集线器等设备;
2. 了解WINDOWS 中的网络组成及参数;
3. 了解通过TCP/IP协议连接上网的方法;
4. 了解Ethereal 软件的作用,以及利用Ethereal 软件捕获、查看网络数据包的方法。
二、 原理概述
Ethereal 是一个免费的网络协议分析软件,支持Linux 、Windows 等多种平台。 由于网络上产生的数据包很多,通常我们只对其中一部分数据包感兴趣,因此在捕捉具体的数据包之前需要定义一个过滤器(filter ),以滤除不需要的信息。一个过滤器实质上是一组规则,只有收到的数据满足规则时才保存,否则丢弃。过滤器通常可以是多个规则的逻辑组合。
在Ethereal 中捕捉数据包前, 首先要选择要监听的接口。点击菜单中“Capture ” “Interface ”,此处选择接口“NDIS5 Driver”。在捕捉前还要设置一些参数,如过滤器。点击“prepare ”,出现设置窗口,在“Capture Filter ”一栏中填写感兴趣的数据包对应规则(见使用手册)。点击“Start ”按钮开始捕捉。打开浏览器访问一些站点后,然后关闭浏览器,最后点击“Stop ”按钮,结束数据包的捕捉。所有捕捉的数据包都显示在主窗口中。
窗口中上面的列表框为所有捕获数据包(帧)的列表,记录了这些数据包的捕获时间、来源、目的地、协议等信息。中间的文本框为当前选中的捕获帧经Ethereal 解释后的协议信息。屏幕最下面的窗口中以二进制形式显示当前选中的数据包的原始内容。如果需要保存所捕获的数据,可选择菜单“File ”中的“Save as „”进行保存。Ethereal 支持多种文件格式。
三、 实验内容
1. 了解网卡的配置情况;
2. 了解对等网的相关数据;
3. 了解TCP/IP协议的相关参数配置;
4. 阅读Ethereal 软件的相关使用手册。
四、 实验方法
1. 实验原理
本实验是是在实验室的基于WINDOWS 的网络上,观察网络的硬件软件,和相关的网络参数,并可以进行进一步的上网和共享硬盘等网络应用。见下图。
2. 实验步骤 步骤1: 实验前准备(联网)
在实验前已经建立计算机网络,并已经设定好网络设备参数及相关协议,如:TCP/IP等。
步骤2:读取网络相关数据
●
我的电脑 -> 属性 -> 硬件 -> 设备管理器 -> 网络适配器,了解网卡类型;双击(在资源中)查看中断请求、内存范围、输入输出范围的参数。
●
控制面板 ->网络连接,或右键网上邻居 -> 属性,本地连接 -> 属性 -> “已安装的网络组件”中的协议 –“internet 协议”,并读出TCP/IP协议的设置参数(IP 地址、子网掩码、网关、DNS 配置等)。
步骤3:
我的电脑 -> 属性 -> 计算机名,完整的计算机名称、工作组等数据。
步骤4:上网及共享数据
◆ 使用IE 浏览器上网,URL 地址: HTTP://www.cumtb.edu.cn(中国矿业大学 北
京);
◆ 使用“网上邻居”,观看相邻计算机。
步骤5:试运行Ethereal 软件
1) 查看本主机的IP 地址
2) 启动Ethereal ,设置过滤器
(1) 在桌面或开始菜单中选择Ethereal 图标,双击运行。
(2) 选择菜单“Capture ”→ “Interfaces... ” →“prepare ”。
(3) 在“Interface ”下拉列表框里选中要监视的本地网络适配器。
(4) 设置包捕捉过滤器为“host (本主机的IP 地址)”,例如:若IP 地址
为192.168.1.102,则设置包捕捉过滤器为“host 192.168.1.102”
(5) 点击“Start ”按钮开始捕捉数据包。
(6) 打开浏览器,在地址栏中输入“http://www.cumtb.edu.cn/”
(7) 点击“Stop ”按钮停止数据包捕捉。
3) 查看并保存所捕获的数据包
(1) 在Ethereal 软件中查看所有窗口显示的内容;
(2) 双击最上面的窗口中的一栏。观察中间窗口中的有关显示;
数据包的数量及有关类型,按时间次序记录
(3) 在最下面的窗口中查看捕获的数据包中的原始数据;
(4) 选择菜单“File ” →“Save as”,将有关数据保存在文件中。
4) 设置过滤器,记录主机在浏览网页过程中产生的所有HTTP 数据包
(1) 设置包捕捉过滤器为 “tcp port 808”或者“tcp port 80”
(2) 点击“Start ”按钮开始捕捉数据包。
(3) 打开浏览器,在地址栏中输入http://www.cumtb.edu.cn/
(4) 点击“Stop ”按钮停止数据包捕捉。
5) 查看并保存所捕获的数据包
(1) 在Ethereal 软件中查看所有窗口显示的内容,比较此次捕获的数据和
上述数据有何不同;
(2) 选择菜单“File ” →“Save as ”,将有关数据保存在文件中。
五、 实验报告要求
1. 记录实验步骤2和步骤3中观察到的相关数据;
2. 记录实验步骤5中两次捕获数据包的数量及有关类型;按时间次序记录所有数据
包的有关信息,如source 、destination 、protocol 以及info 等各字段信息。
实验二 物理层和数据链路层(ping )
一、 实验目的
1. 了解以太网协议
2. 利用Ethereal 软件观察以太帧的结构
二、 原理概述
以太网(Ethernet )是现有局域网采用的最通用的通信协议标准。Xerox 、DEC 和Intel 公司与1980年联合起草了以太网标准,并于1982年发表了第2版的以太网标准(Ethernet II )。1985年,IEEE802委员会吸收以太网为IEEE802.3标准。
以太网为广播网络,采用CSMA/CD(载波监听多路访问/碰撞检测)技术来解决信道共享问题。
Ethernet II 帧格式如图2.1所示。不及前导、帧起始及校验字节,以太帧长最大为1514字节,其中数据部分最大为1500字节。以太帧最短为64字节,不足部分填充0。
以太帧头为14字节,包括6字节目的地址、6字节源地址和2字节类型。
以太网地址(即MAC 地址)用于唯一地表示网络设备。MAC 地址48位6个字节,常用冒号隔开的十六进制来表示,如00:d0:f8:38:a2:06,其中前24位生产厂商代码。如果MAC 地址全部为1,则表示广播地址。正常情况下,当网络设备监听到目的MAC 地址是自己需要的数据帧或广播帧时,就会接收该帧,否则丢弃。
以太帧中2字节类型域表示封装的上层数据协议类型。如IP 协议为“0800”。
三、 实验内容
利用Ethereal 来观察ping 命令中产生的以太数据帧的结构。
四、 实验步骤
1. 查看本主机的IP 地址
2. 启动Ethereal ,设置过滤器
1) 在本主机的桌面或开始菜单中选择Ethereal 图标,双击运行。
2) 选择菜单“Capture ”→ “Interfaces... ” →“prepare ”。
3) 在“Interface ”下拉列表框里选中要监视的本地网络适配器。
4) 设置包捕捉过滤器为“host (本主机的IP 地址)”,例如:若IP 地址为192.168.1.102,则设置包捕捉过滤器为“host 192.168.1.102”
5) 点击“Start ”按钮开始捕捉数据包。
3. 在本主机上用ping 命令访问另一台主机
在本主机的命令窗口下输入:ping (另一台主机的IP 地址)
例如:ping 192.168.200.100
4. 停止数据包捕捉
点击Etherreal 的捕捉窗口中的“Stop ”按钮。
5. 查看捕获的数据包
1) 在Ethereal 中查看所有的窗口显示内容。
2) 查看以太帧中目的地址和源地址。(IP 中的source 和d estination )
3) 查看捕获的以太帧中“类型”的字段有哪些。(Ethernet II -> Type )
4) 保存捕获结果。
五、 实验报告要求
记录ping 命令中产生的以太帧及其类型。
六、 思考
1. 网络上传输的数据字节次序和本地计算机中数据一样吗?观察以太帧中地址是如何传
送的(最高字节先发送还是后发送)?
2. 以太帧中有7个字节的前导、1个字节的起始帧字节和4个字节的校验字节,而在Ethereal
捕获的数据帧有这几项吗?
3. 以太帧中最短帧长是多大,最大帧长为多大?在以太帧中填充域的作用是什么?
4. 在全世界范围内,任何机器是否需要一个唯一的MAC 地址?
5. 以太网中发送数据产生冲突时,如何解决?查看Ethereal 中接口上发送数据的统计信息。
6. 以太帧上运行的协议有哪些?
实验三 网络层 ICMP
一、实验目的
1.了解IP 协议。
2.了解ICMP 协议及其作用。
二、原理概述
1.IP 协议
IP (Internet Protocol )协议是TCP/IP协议族的核心组成部分,是目前应用最广的网络互联协议。IP 层对应于ISO/OSI七层参考模型中的网络层。通过IP 数据包和IP 地址屏蔽掉了不同的物理网络(如以太网、令牌环网等)的帧格式、地址格式等各种底层物理网络细节,使得各种物理网络的差异性对上层协议不复存在,从而使网络互联成为可能。IP 协议只提供了不可靠的数据包传送服务,不能保证数据正确到达目的。
在IP 网络中,每个通信节点有一个唯一的32位地址,通常记成点分十进制形式(如192.168.0.1)。地址分为两部分,网络号和主机号,网络号的长度通常用子网掩码来确定。每个主机都属于一个网络。在IP 网络上通信是通过分组交换方式完成的,即通过不同的路由器来实现转发,最后发送到目标主机所在网络上。在转发过程中,链路层协议以及链路层每帧能够发送的最长数据可能不一致,路由器必须处理这些差异。 2.ICMP协议
ICMP协议用于IP主机和路由器之间传递控制消息,如指主机是否可达、路由是否可用等消息。这些控制消息不传输用户数据,而用于报告用户数据传递情况。 ICMP报文分为两种类型,即ICMP差错报文和ICMP询问报文。
三、实验内容
1.利用Ethereal 来观察ping 命令中产生的IP 及ICMP 数据。
2.利用Ethereal 来观察ping 一个不存在的网络地址时产生的IP 及ICMP 数据。
3.利用ping 发送长度为5000的数据来观察IP 分段。
四、实验步骤
1.查看本主机的IP 地址
2.启动Ethereal ,设置过滤器,开始捕捉
(1)在本主机桌面或开始菜单中选择Ethereal 图标,双击运行。
(2)选择菜单“Capture ”→ “Interfaces... ” →“prepare ”。
(3)在“Interface ”下拉列表框里选中要监视的本地网络适配器。
(4)设置包捕捉过滤器为“icmp ”。
(5)点击“Start ”按钮开始捕捉数据包。
3.在本主机上用ping 命令访问另一台主机
在本主机的命令窗口输入:ping (另一台主机的IP 地址)
例如:ping 192.168.200.100
4.停止数据包捕捉
点击Etherreal 的捕捉窗口中的“Stop ”按钮。
5.查看捕获的数据包
(1)在Ethereal 中查看ping 产生的IP 、ICMP 数据。
(2)查看IP 各个分组中的头部长度(header length)、总长度(total length)、协议(protocol )
字段、序号(identification )、TTL (time to live )值、flags 及offset 等字段。注意序号(+1)、TTL (不变)等的变化。
(3)查看ICMP 报文中的类型(type )、代码(code )、identifier 以及sequence number 等字段。注意上述序号(不变)和IP 分组中的实际序号不同。
(4)保存捕获结果。
6.捕捉ping 一个不存在的主机100.0.0.1时产生的数据包
(1)设置包捕捉过滤器为“icmp ”。
(2)开始捕捉
(3)在本主机的命令窗口上输入:ping 100.0.0.1
(4)停止数据包捕捉
点击Ethereal 的捕捉窗口中的“Stop ”按钮。
(5)查看捕获的数据包
观察当主机不存在时ICMP 的Echo 请求和返回的报文。(data ?)
(6)保存有关结果
7.观察IP 分段
(1)设置包捕捉过滤器为“icmp ”。
(2)开始捕捉
(3)在本主机的命令窗口下输入:
ping –l 5000 192.168.0.1
其中,-l 是指echo 请求时发送数据大小,默认为32字节。此处选择5000个字节(注意,以太网帧的数据最大为1500)。
(4)停止数据包捕捉
点击Ethereal 的捕捉窗口中的“Stop ”按钮。
(5)查看捕获的数据包
观察一个大的IP 分组分解成的多个小段。观察这些的序号(同一数据报道分组序号相同)、flags (0x02)、offset (+1480)、checksum 等字段。
(6)保存有关结果
五、实验报告要求
1.记录ping 命令中产生的IP 分组结构。
2.记录ping 命令中产生的ICMP 报文结构(包括echo 请求及echo 应答)。
3.记录实验中大的IP 分组分段结构。ICMP 中IP fragments
六、思考
1.IP 分组中TTL 字段是什么意思,有何作用?利用Ethereal 观察ping 互联网上一台主机时TTL 字段如何变化?
2.IP 分组最大有多大?为什么在一个具有小的MUT 链路层上传输大的IP 分组要分段?IP 分组中哪些字段与分段有关?接收方如何确定哪些分段属于同一个IP 分组?分组中的校验和是整个段的还是整个IP 分组的?
3.IP 协议能保证接收方收到发送方所有的IP 分组吗?
4.ping 命令中主要发送了哪些ICMP 报文?
5.ICMP 报文中的“identification ”和“sequence number ”有什么作用?利用Ethereal 观察在一次ping 过程中“identification ”和“sequence number”是如何变化的?
6.主机不存在时ICMP 的echo 请求中返回的报文是谁产生的?