计算机网络技术Word文档下载推荐.docx
《计算机网络技术Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机网络技术Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
通过开始-附件-远程桌面连接,打开桌面连接,输入控制对象ID,点连接,输入控制用户帐户密码,取得连接
Wireshark实验
总体要求
一、实验目的
1.学习并掌握网络协议分析软件Wireshark的使用方法,学会捕获网络上传输的协议数据单元,观察、分析网络协议首部。
2.加深理解以太网EthernetⅡ协议及其帧的语法(帧格式)和语义
3.加深理解互联网IP协议及其数据报的语法(包格式)和语义
4.加深理解互联网TCP协议及其报文段的语法(报文段格式)和语义
5.加深理解互联网DNS服务及其报文的语法(报文格式)和语义
6.加深理解互联网HTTP协议及其报文的语法(报文格式)和语义
二、实验原理
1.以太网MAC层EtherⅡ协议原理
2.TCP/IP协议族中网络层、传输层、应用层相关协议原理
3.网络协议分析工具Wireshark的工作原理和基本使用规则
三、实验环境
1.与因特网连接的计算机网络系统;
2.主机操作系统为windows;
3.主机上安装了WireShark、IE等软件。
四、实验内容
访问XX主页,用WireShark工具捕获以下五个协议的有关协议数据单元,并分析以下五个协议:
1.以太网EtherⅡ协议
2.互联网IP层协议
3.互联网UDP协议
4.互联网DNS
5.互联网HTTP
五、
实验步骤
1.关闭所有上网的软件(如QQ等)
2.在MSDOS下
(1)使用ARP–d*命令清除自己电脑中MAC和IP映射表。
(2)用ipconfig/flushdns:
清空本地的DNS解析器的缓存。
(3)Ping,找出对应的IP地址,用来验证WireShark实验的结果
3.启动web浏览器,清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。
4.启动网络协议分析软件WireShark,完成相关的设置(“capture-Optios”),开始捕获数据帧。
5.使用主机上的web浏览器,浏览XX主页()
6.在PacketListPane(列表面板/列表框)分别查看并分析相关的数据帧,查看并分析其中封装的有关协议的首部控制信息,完成以下五个实验报告。
(1)实验报告一:
Wireshark使用方法和以太网协议分析
(2)实验报告二:
IP协议分析
(3)实验报告三:
TCP协议分析
(4)实验报告四:
DNS分析
(5)实验报告五:
HTTP协议分析
实验一Wireshark使用方法和以太网协议分析
1.学习并掌握网络协议分析软件Wireshark的使用方法,学会捕获、观察、分析网络协议首部。
2.熟悉以太网帧的格式
3.熟悉ARP报文的格式
4.分析协议
1.以太网MAC层相关协议原理
3.安装WireShark、IE等软件。
四、实验步骤
1.捕获并分析以太帧
(1)关闭所有上网的软件(如QQ等)
(2)启动web浏览器,清空浏览器缓存。
(在IE窗口中,选择“工具/Internet选项/删除文件”命令)
(3)启动网络协议分析软件WireShark。
(4)选择“capture”下拉菜单中的“Optios”命令,设置分组捕获的选项。
(5)分组捕获:
单击“Start”开始进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。
(6)在运行分组捕获的同时,在浏览器地址栏中输入某网页的URL,如:
。
浏览器下载该网页并显示。
包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。
WireShark主窗口显示已捕获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与服务器交换的HTTP消息。
(7)停止分组捕获
(8)在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示顶层协议为HTTP的帧。
(9)在分组列表窗口找到你的计算机向服务器发送的HTTPGET消息和服务器发送到你主机上的HTTP响应消息。
(10)选择“Analyze->
EnabledProtocols”,取消对IP复选框的选择,单击OK。
当你选择该消息后,以太网帧、IP数据报、TCP报文段、以及HTTP消息首部信息都将显示在分组首部子窗口中。
单击分组首
部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。
(11)选择包含HTTPGET消息的以太网帧,在分组详细信息窗口中,展开EthernetII部分。
根据操作,回答“实验报告内容”中的1-4题
(12)选择包含HTTP响应消息第一个字节的以太网帧,根据操作,回答“实验报告内容”中的5-8题。
五、实验报告内容
在实验的基础上,回答以下问题:
1.你的主机的以太网MAC地址是多少
答:
40:
8d:
5c:
63:
aa
2.目标MAC地址是服务器的MAC地址吗如果不是,该地址是什么设备的MAC地址
不是。
是主机的mac地址,是固定不变的
3.给出Frame头部Type字段(2字节)的十六进制值。
0800
4.在包含“HTTPGET”的以太网帧中,字符“G”的位置(是第几个字节,假设Frame头部第一个字节的顺序为1)
g的位置为55。
5.以太Frame的源MAC地址是多少该地址是你主机的MAC地址吗是服务器的MAC地址吗如果不是,该地址是什么设备的MAC地址
源mac地址为00:
a6:
00:
17:
45:
00
该mac地址既不是主机mac地址也不是web服务器的mac地址,它是网关的地址。
6.以太网帧的目的MAC地址是多少该地址是你主机的地址吗
以太网帧的目的地址为40:
aa该地址是为我的主机地址。
7.给出Frame头部2-字节Type字段的十六进制值。
十六进制值为0800
8.在包含“OK”以太网帧中,从该帧的第一个字节算起,”O”是第几个字节
o为第15个字节。
9.给出Frame头部Type字段的十六进制值。
为0800
实验二IP层协议分析
1.了解ICMP、IP数据包格式;
2.掌握IP数据报的组成和各字段的功能,分析数据报的IP首部;
3.理解ARP、ICMP与IP的关系;
4.理解ARP命令、PING命令与ARP、ICMP协议的关系;
5.熟悉ARP和ICMP协议包格式;
6.了解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并停止抓包,见图2所示。
7.查找到ARP请求和应答数据包,回答实验报告内容中的1-2题
8.查到PING命令执行时,产生的ICMP请求和应答报文,回答实验报告内容中的3-5题
图2WireShark抓包结果
四、实验报告内容
1.什么是ARPARP与IP的关系。
ARP,即地址解析协议,实现通过IP地址得知其物理地址。
在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。
为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。
这样就存在把IP地址变换成物理地址的地址转换问题。
以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。
这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。
另有电子防翻滚系统也称为ARP。
还有RARP:
逆地址解析协议
arp作用就是把一个已知的IP地址解析成mac地址,以便可以在mac地址层(osi的第二层)进行通信。
arp-a可以显示windows的arp缓存表。
tcp/ip是osi参考模型转换过来的,描述的了开放式通信系统的各个层次,其实就就是对osi的简化,tcp/ip为四层:
网络接口层,互联网层,传人输层,应用层。
2.ARP请求和应答数据包的数据部分的内容是什么代表什么意思
IP地址是不能直接用来进行通信的。
这是因为IP地址只是主机在抽象的网络层中的地址。
若要将网络层中传送的数据报交给目的主机还要传到链路层转变成MAC帧后才能发送到实际的网络上。
因此,不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
由于IP地址有32bit而局域网的硬件地址是48bit因此它们之间不存在简单的映射关系。
此外在一个网络上可能经常会有新的主机加入进来或撤走一些主机。
更换网卡也会使主机的硬件地址改变。
可见在主机中应存放一个从IP地址到硬件地址的映射表并且这个映射表还必须能够经常动态更新。
地址解析协ARP很好地解决了这些问题。
每一个主机都设有一个ARP高速缓存ARPcache里面有所在的局域网上的各主机和路由器的IP地址
到硬件地址的映射表这些都是该主机目前知道的一些地址。
如果不使用ARP高速缓存那么任何一个主机只要进行一次通信就必须在网络上用广播方式发送ARP请求分组这就使网络上的通信量大大增加。
ARP将已经得到的地址映射保存在高速缓存中这样就使得该主机下次再和具有同样目的地址的主机通信时可以直接从高速缓存中找到所需的硬件地址而不必再用广播方式发送ARP请求分组。
ARP将保存在高速缓存中的每一个映射地址项目都设置生存时间例如1020分钟。
凡超过生存时间的项目就从高速缓存中删除掉。
设置这种地址映射项目的生存时间是很重要的。
设想有一种情况。
主机A和B通信。
A的ARP高速缓存里保存有B的物理地址。
但B的网卡突然坏了B立即更换了一块因此B的硬件地址就改变了。
A还要和B继续通信。
A在其ARP高速缓存中查找到B原先的硬件地址并使用该地址向B发送数据帧。
但B原先的硬件地址已经失效了因此A无法找到主机B。
但是过了一段时间A的ARP高速缓存中已经删除了B原先的硬件地址因为它的存在时间到了于是A重新广播发送ARP请求分组,又找到了B。
这里需要指出ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
如果所要找的主机和源主机不在同一个局域网上例如在TCP/IP详解卷1中第29页的例子那么这时就要借助于网络层的协议配合链路层协议才能将数据报成功的发送到目的主机上。
这里要指出的是这种从IP地址到硬件地址的解析是自动进行的主机的用户对这种地址解析过程是不知道的。
只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。
3.什么是ICMPICMP与IP的关系。
ICMP是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。
当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
我们可以通过Ping命令发送ICMP回应请求消息并记录收到ICMP回应回复消息。
通过这些消息来对网络或主机的故障提供参考依据ICMP是“InternetControlMessageProtocol”(Internet控制报文协议)的缩写。
它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。
比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。
还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。
4.ICMP的请求和应答报文的头部各字段的十六进制值分别是什么,代表什么含义数据部分的内容以及IP头部的十六进制值分别是什么内容
ICMP的请求和应答报文的头部各字段的十六进制值为:
0800/0040/6365/7374
IP头部的十六进制值
5.什么是“会话”本实验中那些协议有会话过程IP有否“会话”
会话是在用户的桌面上所给出的应用程序、设置及资源的集合。
会话管理是一套惯例和协议,它们启用"
会话管理器"
保存和恢复用户的会话。
用户能够登录到系统,并且提供给用户的处于运行状态的应用程序、设置和资源的集合与用户注销时提供给用户的相同。
用户第一次登录到桌面时,会装入缺省的初始会话。
此后,"
便支持当前和起始会话的概念。
6、你主机的IP地址是什么你所访问的主页所在服务器的IP地址是什么
主机ip地址为。
服务器ip地址为。
实验三TCP协议分析
一、实验目的及任务
1.熟悉TCP协议的基本原理
2.利用WireShark对TCP协议进行分析
与因特网连接的计算机网络系统;
主机安装WireShark、IE等软件。
捕获本地主机与远程服务器交换的TCP报文段
(1)启动WireShark,开始分组捕获。
(2)启动浏览器,打开网页,
(3)停止分组捕获
(4)在显示筛选规则编辑框中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和HTTP消息,你应该能看到包含SYNSegment的三次握手。
也可以看到有主机向服务器发送的一个HTTPGET消息和一系列的“httpcontinuation”报文。
(5)分析TCP的拥塞控制,在WireShark已捕获分组列表子窗口中选择一个TCP报文段。
选择菜单:
Statistics->
TCPStreamGraph->
Time-Sequence-Graph(Stevens)。
你会看到如下所示的图。
回答“四、实验报告内容”中的有关问题。
1.向服务器传送文件的客户端主机的IP地址和TCP端口号分别是多少
主机IP地址为。
TCP端口号为:
49159
2.服务器的IP地址是多少对这一连接,它用来发送和接收TCP报文的端口号是多少
服务器的IP地址为:
它用来发送和接收TCP报文的端口号是5871。
3.客户服务器之间用于初始化TCP连接的TCPSYN报文段的序号(sequencenumber)是多少在该报文段中,是用什么来标示该报文段是SYN报文段的
客户服务器之间用于初始化TCP连接的TCPSYN报文段的序号(sequencenumber)是0。
4.服务器向客户端发送的SYNACK报文段序号是多少该报文段中,Acknowledgement字段的值是多少服务器是如何决定此值的在该报文段中,是用什么来标识该报文段是SYNACK报文段的
服务器向客户端发送的SYNACK报文段序号是0。
该报文段中,Acknowledgement字段的值是2。
5.包含HTTPGET消息的TCP报文段的序号是多少
6.如果将包含HTTPGET消息的TCP报文段看作是TCP连接上的第一个报文段,那么该TCP连接上的第六个报文段的序号是多少是何时发送的该报文段所对应的ACK是何时接收的
7.前六个TCP报文段的长度各是多少
8.在整个跟踪过程中,接收端向发送端通知的最小可用缓存是多少限制发送端的传输以后,接收端的缓存是否仍然不够用
9.在跟踪文件中是否有重传的报文段判断的依据是什么
10.TCP连接的吞吐率(bytestransferredperunittime,单位时间传输的字节数)是多少写出你的计算过程。
11.利用Time-Sequence-Graph(Stevens)plotting工具,浏览由客户端向服务器发送的报文段序号和时间对应关系图。
你能否辨别出TCP慢启动阶段的起止,以及在何处转入避免拥塞阶段
12.阐述所测量到的数据与TCP理想化的行为有何不同
实验四DNS分析
1.熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。
2.分析DNS协议
与互连网连接的计算机;
主机操作系统为Windows;
在MSDOS环境(开始菜单->
运行->
输入命令“cmd”)运行nslookup、ipconfig命令,可以帮助你分析。
nslookup允许主机向指定的DNS服务器查询某个DNS记录。
如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。
nslookup的一般格式是:
nslookup–option1–option2host-to-finddns-server
ipconfig命令用来显示你当前的TCP/IP信息,包括:
你的地址、DNS解析器和服务器的信息、适配器的类型等信息。
ipconfig/all:
显示与主机相关的信息用命令
ipconfig/displaydns:
查看DNS缓存中的记录用命令
ipconfig/flushdns:
清空DNS缓存
跟踪并分析DNS的基本步骤:
(1)利用ipconfig命令清空主机上的DNS缓存。
(2)启动浏览器,并将浏览器的缓存清空。
(3)启动WireShark,并进行适当的设置。
如,在捕获过滤框处输入:
“==your_IP_address”(如:
==)
过滤器将会删除所有目的地址和源地址与指定IP地址都不同的分组。
(4)开始WireShark捕获分组。
(5)在浏览器的地址栏中输入:
后,回车。
(6)按stop按钮或菜单停止分组捕获。
(7)开始WireShark分组捕获。
(8)上进行nslookup(即执行命令:
)。
(9)停止分组捕获。
(10)在显示筛选规则编辑框中输入“dns”,找到dns相关的协议数据单元,分析协议控制信息,回答“实验报告内容”中的有关问题。
跟踪并分析DNS,根据捕获窗口内容,回答以下问题
(1)定位到DNS查询消息和查询响应报文,这两种报文的发送是基于UDP还是基于TCP的
UDP
(2)DNS查询消息的目的端口号是多少DNS查询响应消息的源端口号是多少
DNS查询消息的目的端口号是63494,DNS查询响应消息的源端口,53。
(3)DNS查询消息发送的目的地的IP地址是多少利用ipconfig命令(ipconfig/all查看你主机的本地DNS服务器的IP地址。
这两个地址相同吗
DNS查询消息发送的目的地的IP地址是。
地址相同。
(4)考虑一下你的主机随后发送的TCPSYNSegment,包含SYNSegment的IP分组头部中目的IP地址是否与在DNS查询响应消息中提供的某个IP地址相对应
(5)DNS查询消息的目的端口号是多少DNS查询响应消息的源端口号是多少
DNS查询消息的目的端口号是53,DNS查询响应消息的源端口,63494。
(6)DNS查询消息发送的目的地的IP地址是多少这个地址是你的默认本地DNS服务器的地址吗
DNS查询消息发送的目的地的IP地址是,不是DNS服务器地址,是主机的IP地址。
(7)检查DNS查询响应消息,其中提供了多少个“answers”每个answers包含哪些内容
实验五HTTP分析
2.分析HTTP协议
HTTP分析
(2)启动主机上的web浏览器,浏览XX主页()。
(3)在WireShark主窗口的显示过滤框处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。
(4)选择分组列表窗口中的第一条http报文。
它应该是你的计算机发向服务器的HTTPGET报文。
(5)停止分组捕获。
1.HTTP分析,根据捕获窗口内容,回答以下问题
(1)从发出HTTPGET消息到接收到HTTPOK响应报文共需要多长时间(在默认的情况下,分组列表窗口中Time列的值是从WireShark开始追踪到分组被捕获时总的时间,以秒为单位。
若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择TimeDisplayFormat,然后选择Time-of-day。
)
从发出HTTPGET消息到接收到HTTPOK响应报文共需要时间为361637S。
(2)写出所显示的HTTP消息首部行信息并说明其含义
(3)你的浏览器使用的是,还是你所访问的Web服务器所使用HTTP协议的版本号是多少
答:
由上面的图可知,我的浏览器使用的是。
我所访问的Web服务器所使用HTTP协议的版本号是HTTP/200ok
(4)从服务器向你的浏览器返回response消息的状态代码是多少表示什么意思
从服务器向你的浏览器返回response消息的状态代码是301,表示对象已永久移走,即永久定向。