利用分组嗅探器分析HTTP和DNS

利用分组嗅探器分析HTTP和DNS
利用分组嗅探器分析HTTP和DNS

实验三利用分组嗅探器分析HTTP和DNS

一、实验目的及任务

1、熟悉并掌握Ethereal(或WireShark)的基本操作,了解网络协议实体间的交互

以及报文交换。

2、分析HTTP协议

3、分析DNS协议

二、实验环境

与因特网连接的计算机网络系统;主机操作系统为Windows2000或Windows XP;Ethereal(或WireShark)等软件。说明:分组数据的获取主机IP:192.168.1.101。

三、预备知识

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

图1右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web浏览器和ftp客户端)。分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。分组捕获库接收计算机发送和接收的每一个

链路层帧的拷贝。高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧(Frame)中,并沿着物理介质(如以太网的电缆)传输。图1假设所使用的物理媒体是以太网,上层协议的报文最终封装在以太网帧中。

分组嗅探器的第二个组成部分是分析器。分析器用来显示协议报文所有字段的内容。为此,分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示图1中HTTP协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。最后,它需要理解HTTP消息。

Ethereal(或WireShark)是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器。Ethereal(或WireShark)是免费的,可以从Http://www.Ethereal(或WireShark).com得到。运行Ethereal(或WireShark)程序时,其图形用户界面如图2所示。最初,各窗口中并无数据显示。Ethereal(或WireShark)的界面主要有五个组成部分:

图2 Ethereal(或WireShark)的用户界面

●命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式

菜单。最常用菜单命令有两个:File、Capture。File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件或退出Ethereal(或WireShark)程序。Capture菜单允许你开始捕获分组。

●捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,

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

●分组头部明细(details of selected packet header):显示捕获分组列表窗口中

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

●分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕

获帧的完整内容。

●显示筛选规则(display filter specification):在该字段中,可以填写协议的名

称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。

四、实验步骤

(一) Ethereal(或WireShark)的使用

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

2.启动Ethereal(或WireShark)。你会看到如图2所示的窗口,只是窗口中没有

任何分组列表。

3.开始分组捕获:选择“capture”下拉菜单中的“Start”命令,会出现如图3所示的

“Ethereal(或WireShark): Capture Options”窗口,可以设置分组捕获的选项。

图3 Ethereal(的Capture Option

4.在实验中,可以使用窗口中显示的默认值。在“Ethereal(或WireShark): Capture

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

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

5.开始分组捕获后,会出现如图4所示的分组捕获统计窗口。该窗口统计显示

各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。

6.在运行分组捕获的同时,在浏览器地址栏中输入某网页的URL,如:

https://www.360docs.net/doc/4b3857966.html,。为显示该网页,浏览器需要连接https://www.360docs.net/doc/4b3857966.html,的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被Ethereal(或WireShark)捕获。

图4 Ethereal(或WireShark)的Packet Capture Windows

7.当完整的Web页面下载完成后,单击Ethereal(或WireShark)捕获窗口中的stop

按钮,停止分组捕获。此时,分组捕获窗口关闭。Ethereal(或WireShark)主窗口显示已捕获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与https://www.360docs.net/doc/4b3857966.html,服务器交换的HTTP消息。此时主窗口与图2相似。

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

消息。

9.选择分组列表窗口中的第一条HTTP消息。它应该是你的计算机发向

https://www.360docs.net/doc/4b3857966.html,服务器的HTTP GET消息。当你选择该消息后,以太网帧、IP数据报、TCP报文段、以及HTTP消息首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。

(二)HTTP和DNS分析

1.HTTP GET/response交互

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

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

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

(3)在打开的Web浏览器窗口中输入以下地址(浏览器中将显示只有一行文字的、非常简单的一个HTML文件):

https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file1.html

(4)停止分组捕获。分组数据见文件HTTP-ethereal-file1.pcap。

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

2.HTTP 条件GET/response交互

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

(2)启动Ethereal(或WireShark)。开始Ethereal(或WireShark)分组捕获。(3)在浏览器的地址栏中输入以下URL:

https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file2.html

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

(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。(5)停止Ethereal(或WireShark)分组捕获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。分组数据见文件HTTP-ethereal-file2.pcap。

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

3.获取长文件

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

(2)启动Ethereal(或WireShark),开始Ethereal(或WireShark)分组捕获。(3)在浏览器的地址栏中输入以下URL:

https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file3.html

浏览器将显示一个相当长的美国权力法案文本。

(4)停止Ethereal(或WireShark)分组捕获,在显示过滤筛选编辑框中输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。分组数据见文件

HTTP-ethereal-file3.pcap。

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

4.嵌有对象的HTML文档

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

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

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

https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file4.html

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

(4)停止Ethereal(或WireShark)分组捕获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。分组数据见文件HTTP-ethereal-file4.pcap。

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

5.HTTP认证(选作)

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

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

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

https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/protected_pages/HTTP-ethereal-file5.html

浏览器将显示一个HTTP文件,输入用户名:eth-students和密码:network。(4)停止Ethereal(或WireShark)分组捕获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。分组数据见文件HTTP-ethereal-file5.pcap。

根据操作回答“五、实验报告内容”中的“(二)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)启动Ethereal(或WireShark),在显示过滤筛选规则编辑框处输入:“ip address your_IP_address”(如:ip address 10.17.7.23)

过滤器将会删除所有目的地址和源地址与指定IP地址都不同的分组。(3)开始Ethereal(或WireShark)分组捕获。

(4)在浏览器的地址栏中输入:https://www.360docs.net/doc/4b3857966.html,。分组数据见文件dns-ethereal-file6.pcap

(5)停止分组捕获。

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

(7)开始Ethereal(或WireShark)分组捕获。

(8)在https://www.360docs.net/doc/4b3857966.html,上进行nslookup(即执行命令:nslookup https://www.360docs.net/doc/4b3857966.html,),分组数据见文件dns-ethereal-file7.pcap。

(9)停止分组捕获。

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

(11)重复上面的实验,只是将命令替换为:nslookup –type=NS https://www.360docs.net/doc/4b3857966.html,,分组数据见文件dns-ethereal-file8.pcap。

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

(13)重复上面的实验,只是将命令替换为:nslookup www.aiit.or.kr https://www.360docs.net/doc/4b3857966.html,,分组数据见文件dns-ethereal-file9.pcap。

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

五、实验报告内容

(一)Ethereal(或WireShark)的使用

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

2.从发出HTTP GET消息到接收到HTTP OK响应报文共需要多长时间?

(在默认的情况下,分组列表窗口中Time列的值是从Ethereal(或

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地址是多少?服务器https://www.360docs.net/doc/4b3857966.html,的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包

含哪些内容?

http协议请求响应报文格式及状态码详解

HTTP协议报文格式 HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。 基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接: 1. 创建TCP套接字连接 客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。 2. 发送HTTP请求报文 客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为: 请求消息= 请求行(实体头信息)CRLF[实体内容] 请求行= 方法URL HTTP版本号CRLF 方法= GET|HEAD|POST|扩展方法 URL = 协议名称+宿主名+目录与文件名 其中"CRLF"表示回车换行。 "请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示: 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾 与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 表15-8 HTTP请求方法

实验一 数据报文分析 实验报告

实验一数据报文分析 物联10 查天翼41050051 一、实验目的 1.掌握网络分析原理 2.学习Wireshark协议分析软件的使用 3.加深对基本协议的理解 二、实验环境 机器代号:K053 IP地址:222.28.78.53 MAC地址:00-88-98-80-95-C2 三、实验结果 数据链路层(以太网)数据帧分析 3c e5 a6 b3 af c1 00 88 98 80 95 c2 08 00 3c e5 a6 b3 af c1:表示目的MAC(Hangzhou_b3:af:c1)地址 00 88 98 80 95 c2:表示本机MAC地址

08 00:表示数据类型,里面封装的是IP数据包 IP数据包分析 45 00 00 28 63 cd 40 00 80 06 19 1f de 1c 4e 35 77 4b da 46 45:高四位是4,表示此数据报是IPv4版本;低四位是5,表示首部长度,由于首部长度以4字节为单位,所以IP数据包的首部长度为20字节。 00:表示服务类型 00 28:表示数据包的总长度是40 63 cd:表示表示字段0x63cd(25549) 40 00:“40”高4位表示标志字段,低4位和第8个字节“00”组成片偏移字段。 80:表示生存时间 06:表示数据包的数据部分属于哪个协议,此值代表的协议是TCP协议。 19 1f:表示首部校验和 de 1c 4e 35:表示源IP地址222.28.78.53 77 4b da 46:表示目的IP地址119.75.218.70

07 a1 00 50 d7 c3 fb a4 5d 84 9a 2e 50 10 ff ff 5e e4 00 00 07 a1:表示源端口号1953 00 50:表示目的端口号80 d7 c3 fb a4:表示序号字段值430 5d 84 9a 2e:表示确认序号值3196 50:“50”的高4为位表示数据偏移字段值,该TCP报文数据偏移字段值是5,该字段表示报文首部的长度,以4字节为单位,所以该TCP报文的首部长度是20字节。 10:表示ACK=1,SYN=0 ff ff:表示窗口字段值是65535,即告诉发送端在没有收到确认之前所能发送最多的报文段的个数。 5e e4:表示校验和字段0x5ee4 00 00:表示紧急指针字段值

以太网报文分析

200810314021_陈道争 一、实验名称:以太网报文分析 二、实验内容: 1.Ethereal的基本操作。 2.截获以太网报文,并将报文保存到硬盘上。 3.打开截获的报文,并分析其中的某一条报文。 三、实验过程与步骤: 1.在Windows操作系统下安装软件Ethereal。 2选择“Capture”中的“Options”进行设置。 3.打开“IE浏览器”,输入任意一个网址,打开其中的一个网页。 4.Ethereal软件的界面中会出现很多条的报文。 5.选择“Stop the running live capture”。 四、报文分析: 1.选取No.180的一条HTTP报文,具体报文见“200810314021_陈道争.cap”,以下分析都是根据此报文,就不再附图了。 2.从应用的角度网络可以划分为物理层、链路层、网络层、传输层、应用层几个部分。以太网上的数据以报文的形式进行传递,每个报文由数据内容部分和各个层次的报文头部组成。 3.链路层: (1)以太网的链路层由14个字节的内容组成。 (2)前六个字节的内容表示报文的目标硬件地址(Destination MAC),本报文描述的是网关的MAC 地址,值是:00-0f-e2-77-8f-5e。 (3)接下来六个字节的内容表示报文的源硬件地址(Source MAC),本报文描述的是本机的MAC 地址,值是:00-23-7d-4d-16-55。 (4)接下来两个字节的内容表示网络层所使用协议的类型,本报文使用的是IP协议,IP协议的类型值是:0X0800。 4.网络层: (1)目前使用最广泛的网络层协议是IPv4协议。IPv4协议的头部由20个字节的内容组成。 (2)其中第一个字节的前四个位的内容表示IP协议使用的版本号,值是:4,表示本报文使用的是IPv4协议。 (3)后四位的内容表示报文头部的长度,值是:20bytes。 (4)接下来两个字节的内容表示总长度,是首部和数据之和的长度,值是:657,表示总长度是657字节。 (5)接下来两个字节的内容表示标识。本报文为0x261f。 (6)接下来两个字节的前三位的内容表示标志。本报文位010. (7)接下来一个字节的内容表示生存时间。本报文Time to live:128. (8)接下来一个字节的内容表示所使用的传输层的协议类型,值是:0x06,表示使用的是TCP协议,因为HTTP协议是基于TCP协议实现的。

UDP、DNS、NAT、DHCP、HTTP协议讲解

UDP、DNS、NAT、DHCP、HTTP协议讲解 一、UDP协议 UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。 UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP 不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。 每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP 报头由4个域组成,其中每个域各占用2个字节,具体如下: (1)源端口号; (2)目标端口号; (3)数据报长度; (4)校验值。 使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。 TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。 二、DNS协议 DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。 三、NAT协议

常用http响应报文分析

一、HTTP响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。 响应码分五种类型,由它们的第一位数字表示: 1xx: 信息,请求收到,继续处理 2xx: 成功,行为被成功地接受、理解和采纳 3xx: 重定向,为了完成请求,必须进一步执行的动作 4xx: 客户端错误,请求包含语法错误或者请求无法实现 5xx: 服务器错误,服务器不能实现一种明显无效的请求 下表显示每个响应码及其含义: 100继续 101分组交换协 200 OK 201被创建 202被采纳 203非授权信息 204无内容

205重置内容206部分内容300多选项 301永久地传送302找到 303参见其他304未改动 305使用代理307暂时重定向400错误请求401未授权 402要求付费403禁止 404未找到 405不允许的方法406不被采纳407要求代理授权408请求超时409冲突 410过期的 411要求的xx

412前提不成立 413请求实例太大 414请求URIxx 415不支持的媒体类型 416无法满足的请求范围 417失败的预期 500内部服务器错误 501未被使用 502网关错误 503不可用的服务 504网关超时 505 HTTP版本未被支持 二、HTTP头标由主键/值对组成。它们描述客户端或者服务器的属性、被传输的资源以及应该实现连接。 四种不同类型的头标: 1.通用头标: 即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关联。 2.请求头标: 允许客户端传递关于自身的信息和希望的响应形式。 3.响应头标:

服务器和于传递自身信息的响应。 4.实体头标: 定义被传送资源的信息。即可用于请求,也可用于响应。 头标格式: : 下表描述在HTTP/ 1."1xx用到的头标 Accept定义客户端可以处理的媒体类型,按优先级排序;在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。例如: Accept: image/jpeg,image/png,*/*Accept-Charset定义客户端可以处理的字符集,按优先级排序;在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。例如: Accept-Charset: iso-8859-1,*,utf-8 Accept-Encoding定义客户端可以理解的编码机制。例如: Accept-Encoding: Accept-Language定义客户端乐于接受的自然语言列表。例如: Accept-Language: en,de Accept-Ranges一个响应头标,它允许服务器指明:

分析TCP及UDP报文格式

计算机网络原理实验报告 实验名称实验七分析TCP及UDP报文格式 队别姓名学号实验日期 2012.11.8 实验报告要求: 1.实验目的 2.实验要求 3.实验环境 4.实验作业 5.问题及解决 6.思考问题 7.实验体会 【实验目的】 一、掌握TCP协议的作用和格式; 分析数据报各字段的含义及作用; 理解三次握手的过程; 学会计算TCP校验和的方法; 了解TCP的标志字段的作用。 二、观察UDP报文 观察DNS,QQ应用时UDP的格式 【实验要求】 在进行实验的主机上运行Win7操作系统,并将它接入到校园网。 按要求用Wireshark进行以太网数据包的截获,并分析其帧格式。 【实验环境】 在装有Win7的笔记本,接入校园网,使用WireShark 1.8.2版本进行抓包。 【实验作业】 一、练习一分析TCP报文 1.打开“命令提示符”窗口,输入:netstat –n 回车。 2.观察TCP状态,记录Local Address 、Foreign Address 和State。 可以通过上图观察到,现在的TCP状态为空。 3.在浏览器输入:https://www.360docs.net/doc/4b3857966.html,,在“命令提示符”窗口输入:netstat –n 回车。

4.观察TCP状态,记录Local Address 、Foreign Address 和State。 通过上图可以观察到,在TCP协议下,本地地址套接字、外部地址套接字、状态,依次列于图中。 5.比较两次记录的不同之处。 第一次由于未建立任何连接,因此没有任何TCP信息,而第二次则成功建立了TCP连接,因此有相应的TCP连接信息得到。 6.打开Wireshark,选择菜单命令“Capture” “Interfaces…”子菜单项。弹出“Wireshark: Capture Interfaces” 对话框。单击“Options”按钮,弹出“Wireshark: Capture Options”对话框。单击“Start”按钮开始网络数据包捕获。

实验12 HTTP报文分析

实验12 HTTP 协议分析实验 一、实验目的 在PC 机上登录Web 页面,截获报文,分析HTTP 协议的报文格式和HTTP协议的工作过程。 二、实验说明 独立完成各自实验 三、实验内容 在一台计算机上截获不同类型HTTP报文进行分析。 四、实验步骤 1.在PC 机上运行Sniffer,设置过滤器,开始截获报文; 2.从浏览器上访问Web 界面,如http://202.202.4 3.125。打开网页,待浏览器的状 态栏出现“完毕”信息后关闭网页。 3.停止截获报文,将截获的报文命名为http1-座号-姓名保存。 4.分析截获的报文,回答以下几个问题: ?在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文, 仔细分析它们的格式,填写下面两个表格。 ? ?

表2 HTTP 应答报文格式 分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用了哪几个端口号? 建立了10个连接,服务器使用率1281,1282,1283,1284,1285,1286,1287,1288,1289端口,客户端使用80端口 1.获取长文件 (1)启动浏览器,将浏览器的缓存清空。

(2)启动Sniffer,设定过滤器HTTP,在浏览器地址栏中输入以下网址:https://www.360docs.net/doc/4b3857966.html,/wireshark-labs/HTTP-wireshark-file3.html 浏览器将显示一个相当大的美国权利法案。

(3)停止Sniffer,保存为:http2-座号-姓名,回答以下问题。 ?一共发出了多少个HTTP GET请求? 4个GET请求 ?承载这个HTTTP响应报文需要多少个data-containing TCP报文段? 一共需要4个TCP报文段 ?与GET请求相对应的响应报文状态码和状态短语是什么?。 状态码:302 状态短语:Found ?在被传送的数据中共有多少个HTTP状态行与TCP-induced continuation有 关? 有,对于一个大的HTML文件会被TCP分为若干个独立的小包传输,他们是连 续的,如下图 2.嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Sniffer,设定过滤器HTTP,在浏览器地址栏中输入以下网址: https://www.360docs.net/doc/4b3857966.html,/wireshark-labs/HTTP-wireshark-file5.html 浏览器将显示一个具有两个图片的短HTTP文件。

IEC104规约报文分析(104报文解释的比较好的文本)

IEC104规约调试小结 一、四遥信息体基地址范围 “可设置104调度规约”有1997年和2002年两个版本,在流程上没有什么变化,02 此配置要根据主站来定,有的主站可能设为1,1,2,我们要改与主站一致。 三、以公共地址字节数=2,传输原因字节数=2,信息体地址字节数=3为例对一些基本的报 文分析 第一步:首次握手(U帧) 发送→激活传输启动:68(启动符)04(长度)07(控制域)00 00 00 接收→确认激活传输启动:68(启动符)04(长度)0B(控制域)00 00 00 第二步:总召唤(I帧) 召唤YC、YX(可变长I帧)初始化后定时发送总召唤,每次总召唤的间隔时间一般设为15分钟召唤一次,不同的主站系统设置不同。 发送→总召唤: 68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤) 接收→S帧: 注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。 6804 01 00 02 00 接收→总召唤确认(发送帧的镜像,除传送原因不同): 68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(同上) 发送→S帧: 注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。 68 04 01 00 02 00

网络实验--分析HTTP,DNS协议

实验七利用分组嗅探器(ethereal)分析协议HTTP和DNS 一、实验目的 1、分析HTTP协议 2、分析DNS协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE等软件。 三、实验步骤 1、HTTP GET/response交互 首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。 (1)启动Web browser。 (2)启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 (3)一分钟以后,开始Ethereal分组俘获。 (4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件): https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file1.html (5)停止分组俘获。 窗口如图1所示。根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。 图1分组俘获窗口

2、HTTP 条件GET/response交互 (1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet 选项”命令,在出现的对话框中,选择“删除文件”)。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file2.html,你的浏览器中将显示一个具有五行的非常简单的HTML文件。 (4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (5)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的7-10题。 3、获取长文件 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file3.html,浏览器将显示一个相当大的美国权力法案。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的11-14题。 4、嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file4.html,浏览器将显示一个具有两个图片的短HTTP文件 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的15-16题。 5、HTTP认证 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/protected_pages/HTTP-ethereal-fil e5.html,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:eth-students,密码:networks)。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的17-18题。 6、跟踪DNS

网络协议分析最终版

中南林业科技大学 实验报告 课程名称:网络协议与分析 姓名:项学静学号:20104422 专业班级:2010级计算机科学与技术 系(院):计算机与信息工程学院 实验时间:2013年下学期 实验地点:电子信息楼602机房

实验一点到点协议PPP 一、实验目的 1.理解PPP协议的工作原理及作用。 2.练习PPP,CHAP的配置。 3.验证PPP,CHAP的工作原理。 二、实验环境 1.安装windows操作系统的PC计算机。 2.Boson NetSim模拟仿真软件。 三、实验步骤 1、绘制实验拓扑图 利用Boson Network Designer绘制实验网络拓扑图如图1-1。 本实验选择两台4500型号的路由器。同时,采用Serial串行方式连接两台路由器,并选择点到点类型。其中DCE端可以任意选择,对于DCE端路由器的接口(Serial 0/0)需要配置时钟信号(这里用R1的Serial 0/0作为DCE端)。 2、配置路由器基本参数

绘制完实验拓扑图后,可将其保存并装入Boson NetSim中开始试验配置。配置时点击Boson NetSim程序工具栏按钮eRouters,选择R1 并按下面的过程进行路由器1的基本参数配置: Router>enable Router#conf t Router(config)#host R1 R1(config)#enable secret c1 R1(config)#line vty 0 4 R1(config-line)#password c2 R1(config-line)#interface serial 0/0 R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#clock rate 64000 R1(config-if)#no shutdown R1(config-if)#end R1#copy running-config startup-config 点击工具栏按钮eRouters,选择R2并按下面过程进行路由器的基本参数配置:Router>enable Router#conf t Router(config)#host R2

报文分析

Arp报文分析: Arp 报文格式:三层:Frame、Ethernet、Address Resolution Protocol 协议类型:IP 先在DOC命令窗口下:ping 10.16.134.66 网关的ARP: Arp请求: Arp应答: 目的主机: Arp请求: Arp响应:

分析: 当主机10.16.134.62向主机10.16.134.66发送时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,此时,主机A发送的帧包含:sender MAC address( 本机的MAC地址),sender IP address(本机IP地址),目标主机B的target MAC address(全部为空)target IP address(目标主机的IP地址)。这表示向同一网段内的所有主机发出这样的询问:“我是10.16.134.62,我的MAC是"c8:3a:35:d3:cf:41".请问IP地址为10.16.134.66的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“10.16.134.66的MAC地址是c8:3a:35:d3:77:1d”。这样,主机A就知道了主机B的MAC 地址,它就可以向主机B发送信息了。同时A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或者B向A发送信息时,直接从各自的ARP缓存表里查找就可以了。 ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。 (注:此时arp缓存表中已经删除了10.16.134.66 的MAC 地址) TCP报文分析:

实验7 利用分组嗅探器(Wireshark)分析协议HTTP和DNS

实验七利用分组嗅探器(Wireshark)分析协议HTTP和DNS 一、实验目的 1、分析HTTP协议 2、分析DNS协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为Windows;Wireshark、IE 等软件。 三、实验步骤 1、HTTP GET/response交互 首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。 (1)启动Web browser。 (2)启动Wireshark分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 (3)一分钟以后,开始Wireshark分组俘获。 (4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件): https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file1.html (5)停止分组俘获。 图1分组俘获窗口

2、HTTP 条件GET/response交互 (1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet选项”命令,在出现的对话框中,选择“删除文件”)。 (2)启动Wireshark分组俘获器。开始Wireshark分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file2.html 你的浏览器中将显示一个具有五行的非常简单的HTML文件。 (4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (5)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 3、获取长文件 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Wireshark分组俘获器。开始Wireshark分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file3.html 浏览器将显示一个相当大的美国权力法案。 (4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 4、嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Wireshark分组俘获器。开始Wireshark分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.360docs.net/doc/4b3857966.html,/ethereal-labs/HTTP-ethereal-file4.html 浏览器将显示一个具有两个图片的短HTTP文件 (4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 5、HTTP认证 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Wireshark分组俘获器。开始Wireshark分组俘获。 (3)在浏览器的地址栏中输入以下URL:

MQTT协议14种报文分析.docx

MQTT协议14种报文分析 实习报告 课程名称: _____ 实习题目: ___________________ 专业班级: _____________学生姓名: __________ 学号: ___________实习成绩: 指导教师签名:年月日

[-c config file] 指定的配置文件中的端口 -v 代码调试模式(verbose)可以输出更多的信息 2.MQTT客户端Eclipse Paho MQTT (1)下载解压缩后,双击paho.exe,打开后的对界面如下 (2)点击上图中的十字图标,就能新建一个MQTT的客户端的连接,输入正确的MQTT服务端的连接地址, (3)这个时候我们就能订阅消息了。选择“Subscription”下方的绿色十字图标,就可以输入订阅的主题(topic)的名字,比如我们设置主题名称为“test”,并点击“Subscribe”按钮 (4)往MQTT服务发送一条某一主题的MQTT消息。然后点击“Publish”按钮,这个时候,我们就能看到消息已经发送成功,且在步骤(3)订阅的同一主题也收到了消息。 3.安装和使用协议分析软件wireshark (1)安装WiresharkPortable_2.2.1.paf.exe (2)捕获MQTT协议报文 (3)在Wireshark中,分为capture filter和Display Filer,我们只需要在WireShark 软件中的capture filter 输入下面的过滤条件,则与MQTT服务交互的相关TCP 的数据包就能抓取到。如下图所示意.

这个时候,我们先启动WireShark,然后点击Eclipse Paho MQTT工具的“Connect”,这个时候WireShark就能抓取下面的TCP数据包。 2.2 主要实验步骤 操作:按照“MQTT-3.1.1-CN”文档各种报文的实现方法依次实现,抓包结果截图,结合参考文档分析实验结果。 结果:如下各图所示 14种报文分析说明具体如下: 1.CONNECT –连接服务端

模型及MMS报文分析

6 1 8 5 0 模型及M M S 报文分析基础 2012-02 参考文档: 1 .《数字化变电站调试总结 -马玉龙》 2.《 IEC61850 标准》《 IEC61850 实施规范》

1文件类型............................... 1.1ICD/CID文件结构 .......................................................... 2模型验证............................... 3、IED配置.............................. 3.1IED和LD(Logical Device相关信息 .......................................... 3.2逻辑节点LN (Logical Node) ............................................... 3.3数据DO( Data Object)及数据属性DA( Data attribute) ........................ 3.4数据集:DOI /DAI的集合.................................................... 3.5 报告控制块ReportControl: .................................................. 4如何抓包............................... 4.1抓包工具............................................................... 4.2抓包方法............................................................... 4.3分析举例............................................................... 5、MMS艮文简析............................. 5.1初始化相关............................................................... 5.2报告相关................................................................. 5.3录波相关................................................................. 5.4控制相关................................................................. 5.5定值相关.................................................................

HTTP协议分析

攀枝花学院计算机网络工程实训报告 HTTP协议分析 学生姓名:杨玉刚 学生学号: 200710801075 院(系):计算机学院 年级专业: 07计本2版 指导教师:范胜波 二〇一〇年六月

攀枝花学院本科学生课程设计任务书

攀枝花学院计算机网络工程实训报告 摘要 HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符 关键词HTTP协议,客户端,服务器, HTTP的头域

攀枝花学院计算机网络实训报告 目录 摘要 (Ⅰ) 1 前言 (1) 1.1 http协议简述 (1) 2 需求分析 (2) 2.1 http协议通信过程 (2) 2.1.1 URL自动解析 (2) 2.1.2 获取IP,建立TCP连接 (2) 2.1.3客户端浏览器向服务器发出HTTP请求 (2) 2.1.4 Web服务器应答,并向浏览器发送数据 (2) 2.1.5 Web服务器关闭TCP连接 (3) 2.1 HTTP的头域 (3) 2.1.1通用头域 (3) 2.1.2请求消息 (4) 2.1.3响应消息 (5) 2.1.4实体信息 (6) 3 系统设计 (7) 3.1 HTTP Analyzer工具介绍 (8) 3.2分析访问浏览器和服务器通信的过程 (8) 4 系统分析 (12) 4.1 HTTP 请求消息 (12) 4.1 HTTP 响应消息 (13) 结论 (15) 参考文献 (16) 附录 (17)

HTTP请求报文格式

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制。例如, /index.jsp?id=100&op=bind。 POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 (2)请求头部 请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:User-Agent:产生请求的浏览器类型。 Accept:客户端可识别的内容类型列表。 Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。 (3)空行 最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。 (4)请求数据

OSPF报文格式分析

OSPF的报文格式 OSPF报文直接封装为IP报文协议报文,协议号为89。一个比较完整的OSPF报文(以LSU报文为例)结构如图8所示。 1. OSPF报文头 OSPF有五种报文类型,它们有相同的报文头。如图9所示。 主要字段的解释如下: ●????????????? Version:OSPF的版本号。对于OSPFv2来说,其值为2。 ●????????????? Type:OSPF报文的类型。数值从1到5,分别对应Hello报文、DD报文、LSR报文、L SU报文和LSAck报文。 ●????????????? Packet length:OSPF报文的总长度,包括报文头在内,单位为字节。 ●????????????? Router ID:始发该LSA的路由器的ID。 ●????????????? Area ID:始发LSA的路由器所在的区域ID。 ●????????????? Checksum:对整个报文的校验和。 ●????????????? AuType:验证类型。可分为不验证、简单(明文)口令验证和MD5验证,其值分别为0、 1、2。 ●????????????? Authentication:其数值根据验证类型而定。当验证类型为0时未作定义,为1时此字段为密码信息,类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息。 说明: MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。 2. Hello报文(Hello Packet) 最常用的一种报文,周期性的发送给邻居路由器用来维持邻居关系以及DR/BDR的选举,内容包括一些定时器的数值、DR、BDR以及自己已知的邻居。Hello报文格式如图10所示。

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

用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告 一、实验目的 分析HTTP协议。 二、实验环境 连接Internet的计算机,操作系统为windows8.1; Wireshark,版本为1.10.7; Google Chrome,版本为39.0.2171.65.m; 三、实验步骤 1.清空缓存 在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS 高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。 2.启动wireshare 3.开始俘获 1)在菜单中选择capture-options,选择网络,打开start。如下图:

2)在浏览器地址栏中输入https://www.360docs.net/doc/4b3857966.html,,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

在菜单中选择file-save,保存结果,以便分析。(结果另附) 四、分析数据 在协议框中选择“GET/HTTP/1.1”所在的分组会看到这个基本请求行后跟随 着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该 首部与下一个首部隔开。“Host”首部在HTTP1.1版本中是必须的,它描述了URL 中机器的域名,本实验中式https://www.360docs.net/doc/4b3857966.html,。这就允许了一个Web服务器在同一 时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接 哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本 的主要变化。User-Agent首部描述了提出请求的Web浏览器及客户机器。接下 来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、 Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web

相关文档
最新文档