计算机网络实验带截图.docx
《计算机网络实验带截图.docx》由会员分享,可在线阅读,更多相关《计算机网络实验带截图.docx(16页珍藏版)》请在冰豆网上搜索。
计算机网络实验带截图
实验一 802.3协议分析和以太网
一、实验目的
1.分析802.3协议
2.熟悉以太网帧的格式
3.熟悉ARP报文的格式
二、预备知识
要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。
为探究协议操作细节,可使协议实体执行某些动作,观察这些动作及其影响。
这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。
观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packetsniffer)。
顾名思义,一个分组嗅探器捕获(嗅探)计算机发送和接收的报文。
一般情况下,分组嗅探器将存储和显示出被捕获报文的各协议头部字段内容。
图1为一个分组嗅探器的结构。
图1右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:
Web浏览器和ftp客户端)。
分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。
分组捕获库接收计算机发送和接收的每一个链路层帧的拷贝。
高层协议(如:
HTTP、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧(Frame)中,并沿着物理介质(如以太网的电缆)传输。
图1假设所使用的物理媒体是以太网,上层协议的报文最终封装在以太网帧中。
分组嗅探器的第二个组成部分是分析器。
分析器用来显示协议报文所有字段的内容。
为此,分析器必须能够理解协议所交换的所有报文的结构。
例如:
我们要显示图1中HTTP协议所交换的报文的各个字段。
分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。
分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。
然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。
最后,它需要理解HTTP消息。
WireShark是一种可以运行在Windows,UNIX,Linux等操作系统上的分组分析器.用户界面如图2所示。
最初,各窗口中并无数据显示。
WireShark的界面主要有五个组成部分:
图2 WireShark的用户界面
(1)命令菜单(commandmenus):
命令菜单位于窗口的最顶部,是标准的下拉式菜单。
最常用菜单命令有两个:
File、Capture。
File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件或退出WireShark程序。
Capture菜单允许你开始捕获分组。
(2)捕获分组列表(listingofcapturedpackets):
按行显示已被捕获的分组内容,其中包括:
WireShark赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。
单击某一列的列名,可以使分组按指定列进行排序。
在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。
(3)分组头部明细(detailsofselectedpacketheader):
显示捕获分组列表窗口中被选中分组的头部详细信息。
包括:
与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。
单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。
另外,如果利用TCP或UDP承载分组,WireShark也会显示TCP或UDP协议头部信息。
最后,分组最高层协议的头部字段也会显示在此窗口中。
(4)分组内容窗口(packetcontent):
以ASCII码和十六进制两种格式显示被捕获帧的完整内容。
(5)显示筛选规则(displayfilterspecification):
在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。
三、实验环境
与因特网连接的计算机网络系统;主机操作系统为windows;WireShark、IE等软件。
四、实验步骤
1.WireShark的使用及捕获并分析以太帧
(1)清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。
(2)启动WireShark,开始分组捕获。
(3)启动主机上的web浏览器。
(4)启动WireShark。
窗口中没有任何分组列表。
(5)开始分组捕获:
选择“capture”下拉菜单中的“Optios”命令,会出现如图1所示的“WireShark:
CaptureOptions”窗口,可以设置分组捕获的选项。
图1 WireShark的CaptureOption
(6)在实验中,可以使用窗口中显示的默认值。
在“WireShark:
CaptureOptions”窗口的最上面有一个“interface”下拉菜单,其中显示计算机中所安装的网络接口(即网卡)。
当计算机具有多个活动网卡(装有多块网卡,并且均正常工作)时,需要选择其 中一个用来发送或接收分组的网络接口(如某个有线接口)。
(7)随后,单击“Start”开始进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。
(8)开始分组捕获后,会出现分组捕获统计窗口。
该窗口统计显示各类已捕获分组的数量。
在该窗口中有一个“stop”按钮,可以停止分组的捕获。
(9)在运行分组捕获的同时,在浏览器地址栏中输入某网页的URL,如:
。
为显示该网页,浏览器需要连接的服务器,并与之交换HTTP消息,以下载该网页。
包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。
WireShark主窗口显示已捕获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与服务器交换的HTTP消息。
(10)在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。
(11)选择分组列表窗口中的第一条HTTP消息。
它应该是你的计算机发向服务器的HTTPGET(HTTP定义的用于获取/查询资源信息的方法)消息。
(12)选择“Analyze->EnabledProtocols”,取消对IP复选框的选择,单击OK。
当你选择该消息后,以太网帧、IP数据报、TCP报文段、以及HTTP消息首部信息都将显示在分组首部子窗口中。
单击分组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息 的显示量。
(13)选择包含HTTPGET消息的以太网帧,在分组详细信息窗口中,展开EthernetII部分。
根据操作,回答“五、实验报告内容”中的1-4题
(14)选择包含HTTP响应消息第一个字节的以太网帧。
2.ARP
利用MS-DOS命令:
arp-a查看主机上ARP缓存的内容。
利用MS-DOS命令:
arp -d * 以清除主机中ARP缓存的内容。
五、实验报告内容
在实验的基础上,回答以下问题:
1.你的主机的48位以太网地址(MAC地址)是多少?
答:
我的主机的以太网地址为:
70:
5a:
0f:
3b:
1e:
65
2.目标MAC地址是服务器的MAC地址吗?
如果不是,该地址是什么设备的MAC地址?
答:
不是。
目标MAC地址为:
04:
25:
c5:
96:
fa:
66,这应该是网关的地址。
3. 给出Frame头部Type字段(2字节)的十六进制值。
答:
由上图可知是0x0800
4. 在包含“HTTPGET”的以太网帧中,字符“G”的位置(是第几个字节,假设Frame头部第一个字节的顺序为1)?
答:
由上图可知是第55位。
实验二 IP层协议分析
一、实验目的
1.了解ICMP、IP数据包格式;
2.理解ARP命令、PING命令与ARP、ICMP协议的关系;
3.熟悉ARP和ICMP协议包格式;
4.了解ARP、ICMP会话过程。
二、实验环境
与因特网连接的计算机网络系统;操作系统为windows;WireShark、IE等软件。
三、实验步骤
(说明:
以下所截界面上的数据与你电脑上的数据会有所不同)
1.首先进入MSDOS字符界面
2.在MSDOS下使用ARP–d*命令清除自己电脑中MAC和IP映射表。
见图1所示:
图1ARP及PING命令运行结果
3.回到windows图形界面下
4.启动WireShark,开始捕获分组。
5.在MSDOS下键入Ping,见图1所示。
6.回到WireShark并停止抓包 。
7.查找到ARP请求和应答数据包,回答实验报告内容中的1-2题
8.查到PING命令执行时,产生的ICMP请求和应答报文,回答实验报告内容中的3题
四、实验报告内容
1.什么是ARP?
ARP与IP的关系。
答:
ARP是地址解析协议,是根据IP地址获取物理地址的一个TCP、IP协议,在TCP/IP模型中,ARP属于IP层。
地址解析协议ARP解决这个问题的方法是在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表。
2.ARP请求和应答数据包的数据部分的内容是什么?
代表什么意思?
答:
Arp请求和应答数据包数据部分内容分别为:
分别代表答意思是响应对方,发出hi去确认对方存在。
3.什么是ICMP?
ICMP与IP的关系。
答:
ICMP是网络控制报文协议。
ICMP报文是装在IP数据报中,作为其数据部分,属于IP层的协议。
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。
实验三 TCP协议分析
一、实验目的及任务
1. 熟悉TCP协议的基本原理
2. 利用WireShark对TCP协议进行分析
二、实验环境
与因特网连接的计算机网络系统;操作系统为windows;WireShark、IE等软件。
三、实验步骤
1. 捕获大量的由本地主机到远程服务器的TCP分组
(1)启动WireShark,开始分组捕获。
(2)启动浏览器,打开网页
(3)停止分组捕获。
2. 浏览追踪信息
(1)在显示筛选规则编辑框中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和HTTP消息,你应该能看到包含SYNSegment的三次握手。
也可以看到有主机向服务器发送的一个HTTPGET消息和一系列的“httpcontinuation”报文。
(2)根据操作回答“四、实验报告内容”中的1-2题。
3. TCP基础
根据操作回答“四、实验报告内容”中的3-10题
4. TCP拥塞控制
在WireShark已捕获分组列表子窗口中选择一个TCP报文段。
选择菜单:
Statistics->TCPStreamGraph->Time-Sequence-Graph(Stevens)。
你会看到如下所示的图。
四、实验报告内容
在实验的基础上,回答以下问题:
1.向服务器传送文件的客户端主机的IP地址和TCP端口号分别是多少?
请截图并回答。
答:
主机:
172.22.215.172
端口号:
1678
服务器的IP地址是多少?
对这一连接,它用来发送和接收TCP报文的端口号是多少?
请截图并回答。
答:
IP地址:
202.202.32.52
端口号:
80
3.客户服务器之间用于初始化TCP连接的TCPSYN报文段的序号(sequencenumber)是多少?
在该报文段中,是用什么来标示该报文段是SYN报文段的?
答:
初始化的sequencenumber序号是0,它是通过SYN被设置为1来标识这是SYN字段的。
4.服务器向客户端发送的SYNACK报文段序号是多少?
该报文段中,Acknowledgement字段的值是多少?
服务器是如何决定此值的?
在该报文段中,是用什么来标识该报文段是SYNACK报文段的?
答:
SYNACK报文段序号是0,Acknowledgement字段的值是1,故可以看出ACK的值是由SYN消息中Sequencenumber加一所得,Acknowledgement和SYN都设置为1说明这是一个SYNACK片段。
5.包含HTTPGET消息的TCP报文段的序号是多少?
答:
由上图可知包含HTTPGET消息的TCP报文段的序号是339。
实验四 HTTP和DNS分析
一、实验目的及任务
1、熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。
2、分析HTTP和DNS协议
二、实验环境
与因特网连接的计算机网络系统;主机操作系统为Windows;WireShark、IE等软件。
。
三、实验步骤
1. HTTP分析
(1)启动WireShark,开始分组捕获。
(2)启动主机上的web浏览器,在浏览器的地址栏中输入:
;浏览器将显示XX搜索网页。
(3)在窗口的显示过滤规则编辑框处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。
选择分组列表窗口中的第一条http报文。
它应该是你的计算机发向服务器的HTTPGET报文。
(4)停止分组捕获。
根据捕获窗口内容,回答“实验报告内容”中的问题。
1.跟踪并分析DNS
nslookup工具允许主机向指定的DNS服务器查询某个DNS记录。
如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。
nslookup的一般格式是:
nslookup–option1–option2host-to-finddns-server
ipconfig命令用来显示你当前的TCP/IP信息,包括:
你的地址、DNS服务器的地址、适配器的类型等信息。
如果,要显示与主机相关的信息用命令:
ipconfig/all
如果查看DNS缓存中的记录用命令:
ipconfig/displaydns
要清空DNS缓存,用命令:
ipconfig/flushdns
运行以上命令需要进入MSDOS环境。
(开始菜单->运行->输入命令“cmd”)
(1)利用ipconfig命令清空主机上的DNS缓存。
启动浏览器,并将浏览器的缓存清空。
(2)启动WireShark,在显示过滤筛选规则编辑框处输入:
“ip.addr==your_IP_address”(如:
ip.addr==10.17.7.23)
过滤器将会删除所有目的地址和源地址与指定IP地址都不同的分组。
(3)开始WireShark分组捕获。
(4)在浏览器的地址栏中输入:
后,回车。
(5)停止分组捕获。
(6)开始WireShark分组捕获。
(7)上进行nslookup(即执行命令:
nslookup)。
(8)停止分组捕获。
四、实验报告问题
1.HTTP分析
(1)从发出HTTPGET消息到接收到HTTPOK响应报文共需要多长时间?
(在默认的情况下,分组列表窗口中Time列的值是从WireShark开始追踪到分组被捕获时总的时间, 以秒为单位。
若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择TimeDisplayFormat,然后选择Time-of-day。
)
答:
需要0.009192的时间。
(2)写出第3步所显示的HTTP消息头部行信息并说明其含义?
答:
HTTP消息头部行通常包含Accept:
浏览器能够处理的内容的类型;Accept-Charset:
浏览器能够显示的字符集;Accept-Language:
浏览器当前语言;Accept-Encoding:
浏览器能够处理的压缩编码;Connection:
浏览器与服务器之间连接的类型;Cookie:
当前页面设置的任何Cookie;Host:
发出请求的页面所在域;User-Agent:
浏览器的用户代理字符串。
(3)你的浏览器使用的是HTTP1.0,还是HTTP1.1?
你所访问的Web服务器所使用HTTP协议的版本号是多少?
答:
我使用的浏览器是HTTP1.1,Web服务器使用的协议版本号也是HTTP1.1。
(4)从服务器向你的浏览器返回response消息的状态代码是多少?
表示什么意思?
304;表示重定向,如果完成请求还必须采取进一步的行动
答:
200OK,表示请求成功。
2.跟踪并分析DNS
(1)定位到DNS查询消息和查询响应报文,这两种报文的发送是基于UDP还是基于TCP的?
答:
是基于UDP的。
(2)DNS查询消息的目的端口是多少?
DNS查询响应消息的端口号是多少?
答:
查询消息目的端口为53,相应查询相应端口为60367。
(3)DNS查询消息发送的目的地址IP是多少?
利用ipconfig命令(ipconfig/all)查看你主机的本地DNS服务器的IP地址。
这两个地址相同吗?
答:
发送消息的DNS为172.22.215.172,本地是172.22.215.172.这两个地址相同。
(4)考虑一下你的主机随后发送TCPSYNSegment,包含SYNSegment的IP分组头部中目的IP地址是否与在DNS查询响应消息中提供的某个IP地址相对应?
答:
他们是肯定存在相对应的IP地址。