利用WireShark分析HTTP和DNS

时间:2024.4.5

利用WireShark分析HTTP和DNS

一、实验目的及任务

   1、熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。

   2、分析HTTP协议

   3、分析DNS协议

二、 实验环境

   与因特网连接的计算机网络系统;主机操作系统为Windows2000或Windows XP;WireShark等软件。

三、 预备知识

   要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。为探究协议操作细节,可使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。顾名思义,一个分组嗅探器捕获(嗅探)计算机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被捕获报文的各协议头部字段内容。图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的用户界面

   命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常用菜单命令有两个:File、Capture。File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件或退出WireShark程序。Capture菜单允许你开始捕获分组。      

   捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:WireShark赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。

   分组头部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。另外,如果利用TCP或UDP承载分组,WireShark也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。

   分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的完整内容。

   显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。

四、 实验步骤

(一) WireShark的使用

   1. 启动主机上的web浏览器。

   2. 启动WireShark。你会看到如图2所示的窗口,只是窗口中没有任何分组列表。

   3. 开始分组捕获:选择“capture”下拉菜单中的“Optios”命令,会出现如图3所示的“WireShark: Capture Options”窗口,可以设置分组捕获的选项。

   

                  图3  Ethereal的Capture Option

   4. 在实验中,可以使用窗口中显示的默认值。在“WireShark: Capture Options”窗口的最上面有一个“interface”下拉菜单,其中显示计算机中所安装的网络接口(即网卡)。当计算机具有多个活动网卡(装有多块网卡,并且均正常工作)时,需要选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。

5. 随后,单击“Start”开始进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。

6. 开始分组捕获后,会出现如图4所示的分组捕获统计窗口。该窗口统计显示各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。

7. 在运行分组捕获的同时,在浏览器地址栏中输入某网页的URL,如:www.uzz.edu.cn。为显示该网页,浏览器需要连接www.uzz.edu.cn的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。

    WireShark主窗口显示已捕获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与www.uzz.edu.cn服务器交换的HTTP消息。此时主窗口与图2相似。

8. 在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。

9. 选择分组列表窗口中的第一条HTTP消息。它应该是你的计算机发向www.uzz.edu.cn服务器的HTTP GET消息。当你选择该消息后,以太网帧、IP数据报、TCP报文段、以及HTTP消息首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。

(二)HTTP和DNS分析

1. HTTP GET/response交互

首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。

(1) 启动Web 浏览器,然后启动WireShark。在窗口的显示过滤规则编辑框处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。

(2) 一分钟以后,开始WireShark分组捕获。

(3) 在打开的Web浏览器窗口中输入以下地址:http://www.uzz.edu.cn/jsjx/bxgk.htm

(4) 停止分组捕获。

根据捕获窗口内容,回答“五、实验报告内容”中的“(二)HTTP和DNS分析”1-6题。

2.HTTP条件GET/response交互

(1) 启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中“Internet选项”命令,在出现的对话框中,选择“删除文件”)。

(2) 启动WireShark。开始WireShark分组捕获。

(3) 在浏览器的地址栏中输入以下URL:http://www.uzz.edu.cn/jsjx/bxgk.htm

  浏览器中将显示一个有五行的非常简单的HTML文件。

(4) 在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。

(5) 停止WireShark分组捕获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。

根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”7-10题。

3.获取长文件

(1)启动浏览器,将浏览器的缓存清空。

(2)启动WireShark,开始WireShark分组捕获。

(3)在浏览器的地址栏中输入以下URL:http://www.uzz.edu.cn/jsjx/bxgk.htm

浏览器将显示一个相当长的枣庄学院计算机科学系介绍。

(4) 停止WireShark分组捕获,在显示过滤筛选编辑框中输入“http”,分组列表子窗

口中将只显示所捕获到的HTTP消息。

根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”的11-14题。

4.嵌有对象的HTML文档

(1)启动浏览器,将浏览器的缓存清空。

(2) 启动WireShark。开始WireShark分组捕获。

(3)在浏览器的地址栏中输入以下URL:

 http://www.uzz.edu.cn/jsjx/bxgk.htm

浏览器将显示一个包含两个图片的短HTTP文件

(4) 停止WireShark分组捕获,在显示过滤筛选说明处输入“http”,分组列表子窗口中

将只显示所捕获到的HTTP消息。

根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”的15-16题。

5.HTTP认证(选作)

(1) 启动浏览器,将浏览器的缓存清空。

(2) 启动WireShark。开始WireShark分组捕获。

(3) 在浏览器的地址栏中输入以下URL:http://www.uzz.edu.cn/jsjx/bxgk.htm

(4)停止WireShark分组捕获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。

根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”的17-18题。

6.跟踪DNS

nslookup工具允许主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。

nslookup的一般格式是:

nslookup –option1 –option2 host-to-find dns-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)在浏览器的地址栏中输入:http://www.uzz.edu.cn/

(5)停止分组捕获。

(6) 根据操作回答“五、实验报告内容”中的 “(二)HTTP和DNS分析”19-25题。

(7)开始WireShark分组捕获。

(8)在http://www.uzz.edu.cn/上进行nslookup(即执行命令:nslookup              http://www.uzz.edu.cn/)。

(9) 停止分组捕获。

(10)根据操作回答“五、实验报告内容” 中的 “(二)HTTP和DNS分析”26-29题。

(11)重复上面的实验,只是将命令替换为:nslookup –type=NS mit.edu

(12)根据操作回答“五、实验报告内容” 中的 “(二)HTTP和DNS分析”30-32题。

(13)根据操作回答“五、实验报告内容” 中的 “(二)HTTP和DNS分析”33-35题。

五、 实验报告内容

(一)WireShark的使用

1. 列出在第7步中分组列表子窗口所显示的所有协议类型。

2. 从发出HTTP GET消息到接收到HTTP OK响应报文共需要多长时间?(在默认的情况下,分组列表窗口中Time列的值是从WireShark开始追踪到分组被捕获时总的时间,以秒为单位。若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择Time Display Format,然后选择Time-of-day。)

3. 你主机的IP地址是什么?你所访问的主页所在服务器的IP地址是什么?

4. 写出两个第9步所显示的HTTP消息头部行信息。

(二)HTTP和DNS分析

1. 你的浏览器使用的是HTTP1.0,还是HTTP1.1?你所访问的Web服务器所使用HTTP协议的版本号是多少?

2. 你的浏览器向服务器指出它能接收何种语言版本的对象?

3. 你的计算机的IP地址是多少?服务器www.uzz.edu.cn的IP地址是多少?

4. 从服务器向你的浏览器返回response消息的状态代码是多少?

 5. 你从服务器上所获取的HTML文件的最后修改时间是多少?

 6. 返回到浏览器的内容一共多少字节?

7. 分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求消息中,是否有一行是:IF-MODIFIED-SINCE?

8. 分析服务器响应消息的内容,服务器是否明确返回了文件的内容?如何获知?

9. 分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?

10.服务器对第二个HTTP GET请求的响应消息中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。

11.你的浏览器一共发出了多少个HTTP GET请求?

12.承载这一个HTTP响应报文一共需要多少个TCP报文段?

13.与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么?

14.在被传送的数据中一共有多少个HTTP状态行?

15.你的浏览器一共发出了多少个HTTP GET请求消息?这些请求消息被发送到的目的地IP地址是多少?

16.浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。

17.对于浏览器发出的、最初的HTTP GET请求消息,服务器的响应消息的状态代码和状态短语分别是什么?

18.当浏览器发出第二个HTTP GET请求消息时,在HTTP GET消息中包含了哪些新的头部行?

19.定位到DNS查询消息和查询响应报文,这两种报文的发送是基于UDP还是基于TCP的?

20.DNS查询消息的目的端口号是多少?DNS查询响应消息的源端口号是多少?

21.DNS查询消息发送的目的地的IP地址是多少?利用ipconfig命令(ipconfig/all查看你主机的本地DNS服务器的IP地址。这两个地址相同吗?

22.检查DNS查询消息,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?

23.检查DNS查询响应消息,其中共提供了多少个“answers”?每个answers包含哪些内容?

24.考虑一下你的主机随后发送的TCP SYN Segment, 包含SYN Segment的IP分组头部中目的IP地址是否与在DNS查询响应消息中提供的某个IP地址相对应?

25.打开的WEB页中包含图片,在获取每一个图片之前,你的主机发出新的DNS查询了吗?

26.DNS查询消息的目的端口号是多少?DNS查询响应消息的源端口号是多少?

27.DNS查询消息发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?

28.检查DNS查询消息,它是哪一类型的DNS查询?该查询消息中包含“answers”吗?

29.检查DNS查询响应消息,其中提供了多少个“answers”?每个answers包含哪些内容?

30.DNS查询消息发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器地址吗?

31.检查DNS查询消息,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?

32.检查DNS查询响应消息,其中响应消息提供了哪些MIT名称服务器?响应消息提供这些MIT名称服务器的IP地址了吗?

33.DNS查询消息发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?如果不是,这个IP地址相当于什么?

34.检查DNS查询消息,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?

35.检查DNS查询响应消息,其中提供了多少个“answers”?每个answers包含哪些内容?


第二篇:利用Wireshark分析DNS协议


实验七利用Wireshark分析DNS协议

一、实验目的

分析DNS协议

二、实验环境

与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。

三、实验步骤

nslookup工具允许运行该工具的主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。其命令的一般格式是:(请在实验中将该例中的usst.edu.cn改为tust.edu.cn,www.google.com改为www.baidu.com并写到实验报告中!)

nslookup –option1 –option2 host-to-find dns-server

1、打开命令提示符(Command Prompt),输入nslookup命令。

图中显示三条命令,第一条命令:nslookup

www.tust.edu.cn “提出一个问题”

即:“将主机www.tust.edu.cn的IP地址告诉我”。屏幕上出现了两条信息:(1)“回答这一问题”DNS服务器的名字和IP地址;(2)www.tust.edu.cn主机名字和IP地址。

第二条命令:nslookup –type=NS tust.edu.cn

在这个例子中,我们提供了选项“-type=NS”,域为tust.edu.cn。执行这条命令后,屏幕上显示了DNS服务器的名字和地址。接着下面是三个TUST DNS服务器,

每一个服务器是TUST校园里缺省的DNS服务器。

第三条命令:nslookup www.baidu.com dns2.edu.cn

在这个例子中,我们请求返回dns3.tust.edu.cn DNS server 而不是默认的DNS服务器(dns1.edu.cn)。此例中,DNS 服务器dns3.tust.edu.cn提供主机www.baidu.com的IP地址。

2、ipconfig

ipconfig用来显示TCP/IP 信息, 你的主机地址、DNS服务器地址,适配器等信息。如果你想看到所有关于你所在主机的信息,可在命令行键入:

ipconfig /all

ipconfig在管理主机所储存的DNS信息非常有用。

如果查看DNS缓存中的记录用命令:ipconfig /displaydns

要清空DNS缓存,用命令:ipconfig /flushdns

3、利用Wireshark捕获DNS信息

(1)利用ipconfig /flushdns命令清空你的主机上的DNS缓存。

(2)启动浏览器,将浏览器的缓存清空。

(3)启动Wireshark分组俘获器,在显示过滤筛说明处输入

 “ip.addr==your_IP_address”(ip.addr==192.168.0.25),过滤器(filter)将会删除所有目的地址和源地址都与指定IP地址不同的分组。

(4)开始Wireshark俘获。

(5)在浏览器的地址栏中输入:http://www.baidu.com

(6)停止分组俘获。

(7)重复上面的实验,只是将命令替换为:nslookup –type=NS tust.edu.cn

(8)重复上面的实验,只是将命令替换为:

nslookup www.baidu.com dns1.tust.edu.cn

四、实验报告

在实验的基础上,回答以下问题:

·                    查找DNS 查询和响应消息,发送的是UDP 还是TCP?

答:DNS查询和应答报文是基于UDP的

·                    DNS 查询消息的目的地端口号是多少?DNS 响应消息的源端口号是多少?客户端的端口是多少?

答:查询消息目的端口:53

·                     响应消息源端口:53

·                    

·                     客户端端口:52576

·                    DNS 查询消息向哪个IP 地址发送请求?利用ipconfig来确定你的本地DNS 服务器的IP 地址,这两个IP 地址相同吗?

答:查询消息向202.99.104.68发送请求,

·                    检查DNS 查询消息,这个DNS 查询是什么类型?这个查询消息期望什么回答?

属于递归查询  期望得到wwe.baidu.com的IP地址

·                    检查DNS 响应消息,这个消息提供了多少回答?每一个回答包括了什么?

提供了三个回答

每个回答包括了(从上至下)

主机查询域名;

类别代码;

地址;

生存时间;

数据长度;

首要域名服务器;

·                    观察从你的主机发送的并发TCP SYN 包,SYN 包的终端IP 地址和DNS 响应消息所提供的IP 地址相符合吗?

IP为61.135.169.125,相符合

更多相关推荐:
Wireshark抓包实验报告

西安郵電學院计算机网络技术及应用实验报告书系部名称:管理工程学院学生姓名:xxx专业名称:信息管理班级:10xx学号:xxxxxxx时间:2012年x月x日实验题目Wireshark抓包分析实验一、实验目的1、…

Wireshark抓包实验报告

第一次实验利用Wireshark软件进行数据包抓取132抓取一次完整的网络通信过程的数据包实验一实验目的通过本次实验学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能熟悉Wiresha...

Wireshark抓包分析实验报告

甘肃政法学院本科学生实验报告一姓名学院专业班级试验时间年月日指导教师及职称实验成绩开课时间学年1学期实验课程名称网路攻防技术甘肃政法学院实验管理中心印制

使用wireshark进行协议分析实验报告

1深圳大学实验报告实验课程名称计算机网络实验项目名称学院计算机与软件学院专业计算机科学与技术报告人同组人指导教师实验时间实验报告提交时间教务处制2一实验目的与要求学习使用网络数据抓包软件学习使用网络数据抓包软件...

HTTP原理实验及Wireshark基础实验报告

石家庄经济学院计算机网络原理实验报告实验名称HTTP原理实验及Wireshark基础班级5131090302学号513109030222姓名谈家鸣指导教师赵建立一实验目的掌握常用的协议分析器wirshark的基...

实验12 利用wireshark分析协议HTTP

实验十二利用Wireshark分析协议HTTP一实验目的分析HTTP协议二实验环境与因特网连接的计算机网络系统主机操作系统为windows使用WiresharkIE等软件三实验步骤1利用Wireshark俘获H...

wireshark抓包分析实验报告

Wireshark抓包分析实验若惜年一实验目的1学习安装使用wireshark软件能在电脑上抓包2对抓出包进行分析分析得到的报文并与学习到的知识相互印证二实验内容使用抓包软件抓取HTTP协议通信的网络数据和DN...

利用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告姓名杨宝芹学号20xx117270班级电子信息科学与技术时间20xx1226利用wireshark分析HTTP协议实验报告一实验目的分析HTTP协议二实验环境连接I...

实验报告:网络协议分析工具Wireshark的使用

网络协议分析工具Wireshark的使用课程名称计算机通信网实验学院系计信学院专业电子信息工程班级电信一班学号0962610114学生姓名花青一实验目的学习使用网络协议分析工具Wireshark的方法并用它来分...

实验一 应用协议与数据包分析实验(使用Wireshark)

17计算机网络实验报告信息安全1201吴淑珍20xx0806012220xx年4月1日1实验报告内容包括实验目的实验内容实验程序和程序流程图实验步骤记录中间结果和最终结果27实验一应用协议与数据包分析实验使用W...

实验4 利用Wireshark分析ICMP和DHCP协议

实验四利用Wireshark分析ICMP和DHCP协议一实验目的分析ICMP和DHCP协议二实验环境与因特网连接的计算机操作系统为Windows安装有WiresharkIE等软件三实验步骤Ping和tracer...

实验二利用Wireshark分析ICMP协议

计算机网络实验报告年级姓名学号实验日期实验名称利用Wireshark分析ICMP协议一实验目的1利用wireshark分析ICMP协议学习了解ICMP数据包2学习ICMP报文段的各领域二实验器材3接入Inter...

wireshark实验报告(32篇)