1、然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。最后,它需要理解HTTP消息。 WireShark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器.用户界面如图2所示。最初,各窗口中并无数据显示。WireShark的界面主要有五个组成部分:图2 WireShark的用户界面(1)命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常用菜单命令有两个:File、Capture。File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件或退出WireShark程序。Capture菜单允许你开始捕获分组。(
2、2)捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:WireShark赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。 (3)分组头部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或
3、最小化相关信息。另外,如果利用TCP或UDP承载分组,WireShark也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。 (4)分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的完整内容。 (5)显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。三、实验环境与因特网连接的计算机网络系统;主机操作系统为windows; WireShark、IE等软件。四、实验步骤1.WireShark的使用及捕获并分析以太
4、帧(1)清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。(2)启动WireShark,开始分组捕获。(3)启动主机上的web浏览器。(4)启动WireShark。窗口中没有任何分组列表。(5)开始分组捕获:选择“capture”下拉菜单中的“Optios”命令,会出现如图1所示的“WireShark: Capture Options”窗口,可以设置分组捕获的选项。图1 WireShark的Capture Option(6)在实验中,可以使用窗口中显示的默认值。在“WireShark: Capture Options”窗口的最上面有一个“interface”下拉
5、菜单,其中显示计算机中所安装的网络接口(即网卡)。当计算机具有多个活动网卡(装有多块网卡,并且均正常工作)时,需要选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。(7)随后,单击“Start”开始进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。(8)开始分组捕获后,会出现分组捕获统计窗口。该窗口统计显示各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。(9)在运行分组捕获的同时,在浏览器地址栏中输入某网页的URL,如:。为显示该网页,浏览器需要连接的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被Wir
6、eShark捕获。 WireShark主窗口显示已捕获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与服务器交换的HTTP消息。(10)在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。(11)选择分组列表窗口中的第一条HTTP消息。它应该是你的计算机发向服务器的HTTP GET(HTTP定义的用于获取/查询资源信息的方法)消息。(12)选择“Analyze-Enabled Protocols”,取消对IP复选框的选择,单击OK。当你选择该消息后,以太网帧、IP数据报、TCP报文段、以及HTTP消息首部信息都将显示在分组首部子窗口中。单击分
7、组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。(13)选择包含HTTP GET消息的以太网帧,在分组详细信息窗口中,展开Ethernet II部分。根据操作,回答“五、实验报告内容”中的1-4题(14)选择包含HTTP 响应消息第一个字节的以太网帧。2.ARP利用MS-DOS命令:arp -a查看主机上ARP缓存的内容。arp -d * 以清除主机中ARP缓存的内容。五、实验报告内容在实验的基础上,回答以下问题:1.你的主机的48位以太网地址(MAC地址)是多少?答:我的主机的以太网地址为:70:5a:0f:3b:1
8、e:652.目标MAC地址是服务器的MAC地址吗?如果不是,该地址是什么设备的MAC地址?不是。目标MAC地址为:04:25:c5:96:fa:66,这应该是网关的地址。3.给出Frame头部Type字段(2字节)的十六进制值。由上图可知是0x08004.在包含“HTTP GET”的以太网帧中,字符“G”的位置(是第几个字节,假设Frame头部第一个字节的顺序为1)?由上图可知是第55位。实验二IP层协议分析1.了解ICMP、IP数据包格式;2.理解ARP命令、PING命令与ARP、ICMP协议的关系;3.熟悉ARP和ICMP协议包格式;4.了解ARP、ICMP会话过程。二、实验环境操作系统为
9、windows;WireShark、IE等软件。三、实验步骤(说明:以下所截界面上的数据与你电脑上的数据会有所不同)1.首先进入MS DOS字符界面2.在MS DOS下使用ARP d *命令清除自己电脑中MAC和IP映射表。见图1所示:图1 ARP及PING命令运行结果3.回到windows图形界面下4.启动WireShark,开始捕获分组。5.在MS DOS下键入Ping ,见图1所示。6.回到WireShark并停止抓包7.查找到ARP请求和应答数据包,回答实验报告内容中的1-2题8.查到PING命令执行时,产生的ICMP请求和应答报文,回答实验报告内容中的3题四、实验报告内容1.什么是A
10、RP?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数据报发送
11、出去。实验三TCP协议分析一、实验目的及任务1. 熟悉TCP协议的基本原理2. 利用WireShark对TCP协议进行分析捕获大量的由本地主机到远程服务器的TCP分组(1)启动WireShark,开始分组捕获。(2)启动浏览器,打开网页 (3)停止分组捕获。浏览追踪信息(1)在显示筛选规则编辑框中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和HTTP消息,你应该能看到包含SYN Segment的三次握手。也可以看到有主机向服务器发送的一个HTTP GET消息和一系列的“http continuation”报文。(2)根据操作回答“四、实验报告内容”中的1-2题。TCP基础
12、根据操作回答“四、实验报告内容”中的3-10题TCP拥塞控制在WireShark已捕获分组列表子窗口中选择一个TCP 报文段。选择菜单: Statistics-TCP Stream Graph- Time-Sequence-Graph(Stevens)。你会看到如下所示的图。1.向服务器传送文件的客户端主机的IP地址和TCP端口号分别是多少?请截图并回答。主机:172.22.215.172端口号:1678服务器的IP地址是多少?对这一连接,它用来发送和接收TCP报文的端口号是多少?IP地址:202.202.32.52803.客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(seq
13、uence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的?初始化的sequence number序号是0,它是通过SYN被设置为1来标识这是SYN字段的。4.服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,Acknowledgement字段的值是多少?服务器是如何决定此值的?在该报文段中,是用什么来标识该报文段是SYN ACK报文段的?SYNACK报文段序号是0,Acknowledgement字段的值是1,故可以看出ACK的值是由SYN消息中Sequence number加一所得,Acknowledgement和SYN都设置为1说明这是一个SYNAC
14、K片段。5.包含HTTP GET消息的TCP报文段的序号是多少?由上图可知包含HTTP GET消息的TCP报文段的序号是339。实验四HTTP和DNS分析1、熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。2、分析HTTP和DNS协议主机操作系统为Windows;HTTP分析(2)启动主机上的web浏览器,在浏览器的地址栏中输入: ;浏览器将显示XX搜索网页。(3)在窗口的显示过滤规则编辑框处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。选择分组列表窗口中的第一条http报文。它应该是你的计算机发向服务器的HTTP GET报文。(4)停止分组捕
15、获。 根据捕获窗口内容,回答“实验报告内容”中的问题。1.跟踪并分析DNSnslookup工具允许主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。 nslookup的一般格式是: nslookup option1 option2 host-to-find dns-server ipconfig命令用来显示你当前的TCP/IP信息,包括:你的地址、DNS服务器的地址、适配器的类型等信息。如果,要显示与主机相关的信息用命令: ipconfig/all 如果查看DNS缓存中的记录用命令:ipconfig/displaydns
16、要清空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)
17、上进行nslookup(即执行命令:nslookup )。(8)停止分组捕获。四、实验报告问题1.HTTP分析(1)从发出HTTP GET消息到接收到HTTP OK响应报文共需要多长时间?(在默认的情况下,分组列表窗口中Time列的值是从WireShark开始追踪到分组被捕获时总的时间,以秒为单位。若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择Time Display Format,然后选择Time-of-day。)需要0.009192的时间。(2)写出第3步所显示的HTTP消息头部行信息并说明其含义?HTTP消息头部行通常包含Accept:浏览器能够处理的
18、内容的类型;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消息的状态
19、代码是多少?表示什么意思?304;表示重定向,如果完成请求还必须采取进一步的行动200 OK,表示请求成功。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)考虑一下你的主机随后发送TCP SYN Segment,包含SYN Segment的IP分组头部中目的IP地址是否与在DNS查询响应消息中提供的某个IP地址相对应?他们是肯定存在相对应的IP地址。