网络协议分析实验四用WireShark研究DNS和HTTP协议
- 格式:pdf
- 大小:306.38 KB
- 文档页数:4
《计算机网络与通信原理》课程实验报告Wireshark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
(2)Wireshark的显示过滤器显示过滤器可以根据1)协议2)是否存在某个域3)域值4)域值之间的比较来查找感兴趣的数据包。
注意:捕获过滤器(Capture Filters)和显示过滤器(Display Filters)的语法规则是不同的。
值比较表达式可以使用下面的操作符来构造:●eq ==,如ip.addr==10.1.10.20●ne !=,如ip.addr!=10.1.10.20●gt >,如frame.pkt_len>10●lt <,如frame.pkt_len<10●ge >=,如frame.pkt_len>=10●le <=,如frame.pkt_len<=10可以使用下面的逻辑操作符将表达式组合起来:●and &&逻辑与,如ip.addr=10.1.10.20 && tcp.flag.fin●or || 逻辑或,如ip.addr=10.1.10.20||ip.addr=10.1.10.21●not ! 逻辑非,如!llc例如:IP 地址是192.168.2.10 的主机,它所接收收或发送的所有的HTTP 报文,那么合适的Filter(过滤器)就是:ip.addr == 192.168.2.10 && http。
提示:Filter的背景显示出表达式的合法与否,绿色为合法,红色为否。
(3)菜单Capture的Options说明Interface:选择采集数据包的网卡IP address:选择的网卡所对应的IP地址Link-layer header type:数据链路层的协议,在以太网中一般是Ethernet IIBuffer size:数据缓存大小设定,默认是1M字节。
目录实验目的 (2)1)熟练地使用Wireshark软件 (2)2)运用软件分析网络协议 (2)实验任务 (2)1) 软件要求 (2)2)网络协议分析要求 (2)软件介绍 (2)1)wireshark软件的发展史: (2)2)wireshark的功能及相关知识 (2)3)wireshark所不能提供的功能 (3)4)wireshark软件运行的主界面 (3)实验环境 (4)1)软件要求 (4)2)硬件要求 (4)实验内容和过程 (4)1)DNS基本知识及原理 (4)◆DNS解析过程 (4)2)域服务器报文 (5)◆不变部分含有6个定长域,各域分别占2个字节: (6)◆变化部分含有4个部分: (6)3)分析过程 (7)(一)进入命令提示符中,查看当前的一些信息。
(7)(二)通过一个ping实例,来获得域名解析数据包。
(8)(三)数据包列表分析 (9)(四)运用第一个数据包(询问)的协议树分析解析过程: (10)(五)运用第二个数据包(响应)的协议树分析解析过程: (13)总结 (17)基于wireshark软件的分析报告实验目的1)熟练地使用Wireshark软件Wireshark是一个有名的网络端口探测器,是可以在Windows、Unix等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听。
其功能是在一个共享的网络环境下对数据包进行捕捉和分析。
2)运用软件分析网络协议本实验的主要的目的就是对用Wireshark捕获的数据包进行分析,尤其是针对网络协议(DNS)的分析。
深入了解其基本原理,学会结合实际的数据来分析其原理。
实验任务1)软件要求熟悉Wireshark软件的一些基本功能,包括Wireshark的用户界面如何使用,如何捕捉包,如何查看包,如何过滤包等。
2)网络协议分析要求对捕获的数据包进行分析,主要是针对网络协议(DNS)的结合实例的分析。
软件介绍1)wireshark软件的发展史:1997年以后,Gerald Combs 需要一个工具追踪网络问题并想学习网络知识。
用wireshark分析Http 和Dns 报文一、http请求报文和响应报文wireshark所抓的一个含有http请求报文的帧:1、帧的解释链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。
而wireshark抓到的就是链路层的一帧。
图中解释:Frame 18:所抓帧的序号是11,大小是409字节Ethernet :以太网,有线局域网技术,属链路层Inernet Protocol:即IP协议,也称网际协议,属网络层Transmisson Control Protocol:即TCP协议,也称传输控制协议。
属传输层Hypertext transfer protocol:即http协议,也称超文本传输协议。
属应用层图形下面的数据是对上面数据的16进制表示。
2、分析上图中的http请求报文报文分析:请求行:GET /img/2009people_index/images/hot_key.gif HTTP/1.1 方法字段/ URL字段/http协议的版本我们发现,报文里有对请求行字段的相关解释。
该报文请求的是一个对象,该对象是图像。
首部行:Accept: */*Referer: /这是网站网址Accept-Language: zh-cn 语言中文Accept-Encoding: gzip, deflate 可接受编码,文件格式User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; CIBA; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; 360SE)用户代理,浏览器的类型是Netscape浏览器;括号内是相关解释Host: 目标所在的主机Connection: Keep-Alive 激活连接在抓包分析的过程中还发现了另外一些http请求报文中所特有的首部字段名,比如下面http请求报文中橙黄色首部字段名:Accept: */*Referer: /thread-345413-1-1.html这是html文件网址Accept-Language: zh-cn 语言中文Accept-Encoding: gzip, deflate 可接受编码,文件格式If-Modified-Since: Sat, 13 Mar 2010 06:59:06 GMT 内容是否被修改:最后一次修改时间If-None-Match: "9a4041-197-2f11e280" 关于资源的任何属性(ET ags值)在ETags的值中可以体现,是否改变User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; CIBA; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; 360SE)用户代理,浏览器的类型是Netscape浏览器;括号内是相关解释Host: 目标所在的主机Connection: Keep-Alive 激活连接Cookie: cdb_sid=0Ocz4H; cdb_oldtopics=D345413D; cdb_visitedfid=17; __gads=ID=7ab350574834b14b:T=1287731680:S=ALNI_Mam5QHAAK2cJdDTRuSxY 24VDbjc1Acookie,允许站点跟踪用户,coolie ID是7ab350574834b14b3、分析http的响应报文,针对上面请求报文的响应报文如下:wireshark对于2中http请求报文的响应报文:展开http响应报文:报文分析:状态行:HTTP/1.0 200 OK首部行:Content-Length: 159 内容长度Accept-Ranges: bytes 接受范围Server: nginx 服务器X-Cache: MISS from 经过了缓存服务器Via::80(squid/2.6.STABLE14-20070808) 路由响应信息Date: Fri, 22 Oct 2010 12:09:42 GMT 响应信息创建的时间Content-Type: image/gif 内容类型图像Expires: Fri, 22 Oct 2010 12:10:19 GMT 设置内容过期时间Last-Modified: Fri, 11 Jun 2010 00:50:48 GMT 内容最后一次修改时间Powered-By-ChinaCache:PENDING from CNC-BJ-D-3BA ChinaCache的是一家领先的内容分发网络(CDN)在中国的服务提供商。
DNS协议分析实验DNS(Domain Name System)是互联网中负责域名解析的协议,通过将人类可读的域名转换为计算机可识别的IP地址,实现了互联网上不同计算机之间的通信。
在本实验中,我们将对DNS协议进行深入分析,了解其工作原理和数据包结构。
实验环境:在本实验中,我们将使用Wireshark作为数据包捕获工具,通过观察和分析DNS请求和响应数据包来了解DNS协议的工作原理。
实验所需的系统环境为Windows或Linux操作系统,需要安装最新版本的Wireshark软件。
实验步骤:1. 打开Wireshark软件,并选择要抓取数据包的网络接口。
2. 在过滤器中输入“dns”,以过滤出DNS协议相关的数据包。
3. 进行一系列的DNS请求和响应操作,如访问一个网站、ping一个域名等。
4. 观察Wireshark中捕获到的数据包,分析其中DNS请求和响应的数据结构。
5.获取一个真实的DNS数据包,对其进行深入分析,包括报头和数据部分的结构。
6.总结实验过程中获得的知识,对DNS协议的工作原理和数据包结构进行总结和分析。
实验结果:在实验过程中,我们可以清晰地观察到DNS请求和响应数据包的结构。
一个典型的DNS请求数据包包括报头和问题部分,而DNS响应数据包包括报头、问题部分、回答部分、授权部分和附加部分。
通过分析这些数据包,我们可以了解DNS协议是如何解析域名的,以及实现域名解析时所涉及的相关参数和信息。
在DNS请求数据包中,最重要的部分是问题部分,其中包含了要查询的域名和查询类型(A记录或AAAA记录)。
而在DNS响应数据包中,回答部分则包含了查询结果的IP地址信息,授权部分和附加部分则包含了其他相关的信息,如授权服务器和附加信息等。
通过分析实验中捕获到的真实数据包,我们可以更加深入地了解DNS协议的工作原理。
在DNS数据包的报头部分,包括了一些重要的字段信息,如标识符、查询/响应标志、授权回答标志等,这些信息对于解析数据包和理解DNS协议非常重要。
深圳大学实验报告实验课程名称:计算机网络实验项目名称:使用wireshark进行协议分析学院:计算机与软件学院专业:计算机科学与技术报告人:邓清津学号:2011150146 班级:2班同组人:无指导教师:杜文峰实验时间:2013/6/10实验报告提交时间:2013/6/10教务处制一、实验目的与要求学习使用网络数据抓包软件.学习使用网络数据抓包软件wireshark,并对一些协议进行分析。
二、实验仪器与材料Wireshark抓包软件三、实验内容使用wireshark分析各层网络协议1.HTTP协议2.ARP协议,ICMP协议3.IP协议4.EthernetII层数据帧为了分析这些协议,可以使用一些常见的网络命令。
例如,ping等。
四、实验步骤1、安装Wireshark,简单描述安装步骤:2、打开wireshark,选择接口选项列表。
或单击“Capture”,配置“option”选项。
3.点击start后,进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。
4. 开始分组捕获后,会出现如图所示的分组捕获统计窗口。
该窗口统计显示各类已捕获分组的数量。
在该窗口中有一个“stop”按钮,可以停止分组的捕获。
一、分析HTTP协议1.在浏览器地址栏中输入某网页的URL,如:。
为显示该网页,浏览器需要连接的服务器,并与之交换HTTP消息,以下载该网页。
包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。
2. 在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。
3.点击其中一个http协议包请求行:方法字段:GET,版本是http/1.1.首部行:主机host:;Connection:Keep-Alive,即保持持久连接;Accept-language:zh-cn,即接收语言是中文。
二、使用wireshark分析ARP协议1.在显示筛选编辑框中输入“arp”,单击“apply”,分组列表窗口将只显示ARP消息。
使用wireshark进行协议分析实验报告一、实验目的本次实验旨在掌握使用Wireshark进行网络协议分析的方法与技巧,了解网络通信特点和协议机制。
二、实验内容及步骤1.实验准备b.配置网络环境:保证实验环境中存在数据通信的网络设备和网络流量。
2.实验步骤a. 打开Wireshark软件:启动Wireshark软件并选择需要进行抓包的网络接口。
b. 开始抓包:点击“Start”按钮开始抓包,Wireshark将开始捕获网络流量。
c.进行通信:进行网络通信操作,触发网络流量的产生。
d. 停止抓包:点击“Stop”按钮停止抓包,Wireshark将停止捕获网络流量。
e. 分析流量:使用Wireshark提供的分析工具和功能对抓包所得的网络流量进行分析。
三、实验结果通过Wireshark软件捕获的网络流量,可以得到如下分析结果:1. 抓包结果统计:Wireshark会自动统计捕获到的数据包数量、每个协议的数量、数据包的总大小等信息,并显示在界面上。
2. 协议分析:Wireshark能够通过解析网络流量中的各种协议,展示协议的各个字段和值,并提供过滤、等功能。
3. 源和目的地IP地址:Wireshark能够提取并显示各个IP数据包中的源IP地址和目的地IP地址,帮助我们分析网络通信的端点。
四、实验分析通过对Wireshark捕获到的网络流量进行分析,我们可以得到以下几个重要的分析结果和结论:1.流量分布:根据抓包结果统计,我们可以分析不同协议的数据包数量和比例,了解网络中各个协议的使用情况。
2. 协议字段分析:Wireshark能够对数据包进行深度解析,我们可以查看各个协议字段的值,分析协议的工作机制和通信过程。
3.网络性能评估:通过分析网络流量中的延迟、丢包等指标,我们可以评估网络的性能,并找出网络故障和瓶颈问题。
4. 安全分析:Wireshark能够分析HTTP、FTP、SMTP等协议的请求和响应内容,帮助我们发现潜在的网络安全问题。
利用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所示。
第1篇一、实验目的1. 理解网络协议的基本概念和分类;2. 掌握Wireshark工具的使用方法,通过抓包分析网络协议数据包;3. 熟悉典型网络协议(如TCP/IP、HTTP、HTTPS等)的格式和特点;4. 分析典型网络协议在实际应用中可能存在的问题,并提出相应的解决方案。
二、实验环境1. 操作系统:Windows 102. 网络设备:路由器、交换机、计算机3. 软件工具:Wireshark 3.6.3三、实验内容1. Wireshark软件安装与配置2. 抓取HTTP协议数据包3. 分析HTTP协议数据包4. 抓取HTTPS协议数据包5. 分析HTTPS协议数据包6. 分析TCP协议数据包7. 分析UDP协议数据包四、实验步骤1. Wireshark软件安装与配置(1)下载Wireshark软件:从官方网站下载最新版本的Wireshark软件。
(2)安装Wireshark软件:双击下载的安装包,按照提示完成安装。
(3)配置Wireshark软件:打开Wireshark软件,选择“捕获”菜单下的“接口”,选择要抓取数据包的网络接口。
2. 抓取HTTP协议数据包(1)访问网页:在浏览器中输入一个网页地址,如。
(2)启动Wireshark抓包:在Wireshark中选择“捕获”菜单下的“开始”。
(3)观察HTTP协议数据包:在Wireshark的“显示过滤器”中输入“http”,查看抓取到的HTTP协议数据包。
3. 分析HTTP协议数据包(1)数据包结构:分析HTTP协议数据包的各个字段,如请求行、响应行、头部、主体等。
(2)请求与响应:观察HTTP请求与响应之间的关系,了解HTTP协议的工作流程。
4. 抓取HTTPS协议数据包(1)访问HTTPS网页:在浏览器中输入一个HTTPS网页地址,如https://。
(2)启动Wireshark抓包:在Wireshark中选择“捕获”菜单下的“开始”。
(3)观察HTTPS协议数据包:在Wireshark的“显示过滤器”中输入“ssl”,查看抓取到的HTTPS协议数据包。
第1篇一、实验目的1. 理解网络解析协议的基本概念和工作原理。
2. 掌握DNS、ARP等网络解析协议的报文格式和报文分析。
3. 学会使用抓包工具分析网络解析协议的报文传输过程。
4. 提高网络故障排查能力。
二、实验环境1. 硬件设备:PC机、网线、路由器。
2. 软件环境:Wireshark抓包软件、网络解析协议实验平台。
三、实验内容1. DNS协议分析(1)实验目的:了解DNS协议的工作原理,掌握DNS报文格式。
(2)实验步骤:① 在实验平台上配置好DNS服务器和客户端。
② 使用nslookup命令进行域名解析,并观察DNS服务器返回的结果。
③ 使用Wireshark抓包工具,捕获DNS查询和响应报文。
④ 分析DNS查询和响应报文的格式,包括报文类型、报文长度、域名、IP地址等信息。
2. ARP协议分析(1)实验目的:了解ARP协议的工作原理,掌握ARP报文格式。
(2)实验步骤:① 在实验平台上配置好主机A和主机B。
② 在主机A上使用ping命令ping主机B的IP地址,观察ARP请求和响应报文。
③ 使用Wireshark抓包工具,捕获ARP请求和响应报文。
④分析ARP请求和响应报文的格式,包括硬件类型、协议类型、硬件地址、协议地址等信息。
3. IP协议分析(1)实验目的:了解IP协议的工作原理,掌握IP数据报格式。
(2)实验步骤:① 在实验平台上配置好主机A和主机B。
② 在主机A上使用ping命令ping主机B的IP地址,观察IP数据报传输过程。
③ 使用Wireshark抓包工具,捕获IP数据报。
④ 分析IP数据报的格式,包括版本、头部长度、服务类型、总长度、生存时间、头部校验和、源IP地址、目的IP地址等信息。
四、实验结果与分析1. DNS协议分析结果:通过实验,我们了解到DNS协议在域名解析过程中的作用,以及DNS查询和响应报文的格式。
DNS协议通过查询和响应报文,实现域名到IP地址的转换,从而实现网络设备之间的通信。
计算机⽹络实验-利⽤Wireshark分析协议HTTP实验1.2利⽤Wireshark分析协议HTTP⼀、实验⽬的分析HTTP协议⼆、实验环境与因特⽹连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤及实验报告要求1、利⽤Wireshark俘获HTTP分组(1)在进⾏跟踪之前,我们⾸先清空Web 浏览器的⾼速缓存来确保Web ⽹页是从⽹络中获取的,⽽不是从⾼速缓冲中取得的。
之后,还要在客户端清空DNS⾼速缓存,来确保Web服务器域名到IP地址的映射是从⽹络中请求。
在WindowsXP机器上,可在命令提⽰⾏输⼊ipconfig/flushdns(清除DNS解析程序缓存)完成操作。
(2)启动Wireshark 分组俘获器。
(3)在Web 浏览器中输⼊:/doc/7cec00d89fc3d5bbfd0a79563c1ec5da51e2d659.html /(4)停⽌分组俘获。
图1 利⽤Wireshark俘获的HTTP分组在URL /doc/7cec00d89fc3d5bbfd0a79563c1ec5da51e2d659.html /中,/doc/7cec00d89fc3d5bbfd0a79563c1ec5da51e2d659.html /是⼀个具体的web 服务器的域名。
最前⾯有两个DNS分组。
第⼀个分组是将域名/doc/7cec00d89fc3d5bbfd0a79563c1ec5da51e2d659.html /转换成为对应的IP 地址的请求,第⼆个分组包含了转换的结果。
这个转换是必要的,因为⽹络层协议——IP协议,是通过点分⼗进制来表⽰因特⽹主机的,⽽不是通过/doc/7cec00d89fc3d5bbfd0a79563c1ec5da51e2d659.html /这样的域名。
当输⼊URL 时,将要求Web服务器从主机/doc/7cec00d89fc3d5bbfd0a79563c1ec5da51e2d659.html /上请求数据,但⾸先Web 浏览器必须确定这个主机的IP地址。
“网络协议分析网络协议分析””实验实验四四
实验名称:用WireShark 研究DNS 和HTTP 协议
实验目的:理解DNS及HTTP 协议的工作原理,掌握HTTP 协议的报文格式,掌握HTTP 报文中主要字段的含义和用途;熟悉DNS工作原理;学会利用WireShark 分
析捕获到的分组。
实验环境:1台联网的PC 机,Wireshark 网络协议分析软件 实验实验准备准备:
1、DNS 报文格式
标识
标志 问题数 资源记录数 授权资源记录数 额外资源记录数
查询问题
回答(资源记录数可变) 授权(资源记录数可变) 额外信息(资源记录数可变)
2、Internet 域名空间的分类
在Internet 中,域名空间划分为三个部分:类属域、国家域和反向域。
(1) 类属域:按照主机的类属行为定义注册的主机。
类属域的顶级符号包括com 、edu 、gov 、int 、mil 、net 、org 等。
(2)国家域:按照国家定义注册的主机。
国家域的顶级符号包括cn 、us 、zw 等。
(3)反向域:把一个地址映射为名字。
3、DNS 高速缓存
当服务器向另一个服务器请求映射并收到它的响应时,它会在把结果发送给客户之前,把这个信息存储在它的DNS 高速缓存中。
若同一客户或另一个客户请求同样的映射,它就检查高速缓存并解析这个问题。
高速缓存减少了查询时间,提高了效率。
4、HTTP 协议
HTTP 是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务。
(1)HTTP 的工作原理
HTTP 是一个面向事务的客户服务器协议。
尽管HTTP 使用TCP 作为底层传输协议,但HTTP 协议是无状态的。
也就是说,每个事务都是独立地进行处理。
当一个事务开始时,就在万维网客户和服务器之间建立一个TCP 连接,而当事务结束时就释放这个连接。
此外,客户可以使用多个端口和和服务器 (80 端口)之间建立多个连接。
其工作过程包括以下几个阶段。
① 服务器监听TCP 端口 80,以便发现是否有浏览器 (客户进程)向它发出连接请求; ② 一旦监听到连接请求,立即建立连接。
③ 浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。
④ 释放TCP 连接。
在浏览器和服务器之间的请求和响应的交互,必须遵循HTTP 规定的格式和规则。
当用户在浏览器的地址栏输入要访问的HTTP 服务器地址时,浏览器和被访问HTTP 服 务器的工作过程如下:
① 浏览器分析待访问页面的URL 并向本地DNS 服务器请求IP 地解析;
② DNS 服务器解析出该HTTP 服务器的IP 地址并将IP 地址返回给浏览器;
③ 浏览器与HTTP 服务器建立TCP 连接,若连接成功,则进入下一步;
④ 浏览器向HTTP 服务器发出请求报文 (含GET 信息),请求访问服务器的指定页面;
⑤ 服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览
器会打开多个端口,与服务器建立多个连接;
⑥ 释放TCP 连接;
⑦ 浏览器收到页面并显示给用户。
(2)HTTP 报文格式
HTTP 有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。
图 1
显示了两种报文的结构。
图1 HTTP 的请求报文和响应报文结构 在图1 中,每个字段之间有空格分隔,每行的行尾有回车换行符。
各字段的意义如下: ① 请求行由三个字段组成:
* 方法字段,最常用的方法为 “GET”,表示请求读取一个万维网的页面。
常用的方法 还有 “HEAD(指读取页面的首部)”和“POST(请求接受所附加的信息);
* URL 字段为主机上的文件名,这时因为在建立TCP 连接时已经有了主机名;
* 版本字段说明所使用的HTTP 协议的版本,一般为 “HTTP/1.1”。
② 状态行也有三个字段:
* 第一个字段等同请求行的第三字段;
* 第二个字段一般为 “200”,表示一切正常,状态码共有41 种,常用的有:301 (网站已转移),400(服务器无法理解请求报文),404(服务器没有锁请求的对象)等;
* 第三个字段时解释状态码的短语。
③ 根据具体情况,首部行的行数是可变的。
请求首部有Accept 字段,其值表示浏览器 可以接受何种类型的媒体;Accept-lan gu a g e,其值表示浏览器使用的语言;User-a g ent 表明可用的浏览器类型。
响应首部中有Date、Ser v er、Content-Type、Content-Len g t h 等字段。
在请求首部和响应首部中都有 Connect i on 字段,其值为K eep-Al iv e 或 Close,表示服务器在传送完所请求的对象后是保持连接或关闭连接。
④ 若请求报文中使用 “GET”方法,首部行后面没有实体主体,当使用 “POST”方法 是,附加的信息被填写在实体主体部分。
在响应报文中,实体主体部分为服务器发送给客户 的对象。
图2 和图3 显示了Et h ereal 捕获的HTTP 请求和响应报文,结合上面的介绍,请自己分析和体会。
图2 HTTP 请求报文示例
图3 HTTP 响应报文示例
5、实验环境与说明
(1)实验目的
在PC 机上访问ZZ ULI 的We b 页面,截获报文,分析HTTP 协议的报文格式和HTTP 协议的工作过程。
(2)实验设备和连接
本地实验室环境,无须设备连接;
注意:请通过访问可以连接的WWW 站点或使用IIS 建立本地WWW 服务器来进行实验。
实验实验步骤步骤:
步骤1:在PC 机上运行Et h ereal,开始截获报文,为了只截获和我们要访问的网站相关的数据报,将截获条件设置为 “not b roa d cast an d not mu lt i cast”;
步骤2:从浏览器上访问We b 界面,如h ttp ://www .zzu l i .e du .cn 。
打开网页,待浏览器的状态栏出现 “完毕”信息后关闭网页。
步骤3:停止截获报文,将截获的报文命名为h ttp -学号保存。
分析截获的报文,回答以下几个问题:
1)综合分析截获的报文,查看有几种HTTP 报文?
___________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 2)在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文,仔细 分析它们的格式,填写表1 和表2。
表1 HTTP 请求报文格式
方 法 版 本
URL
首部字段名 字段值 字段所表达的信息
表2 HTTP 应答报文格式
版 本 状态码
短 语
首部字段名 字段值 字段所表达的信息
3)分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用 了哪几个端口号?
___________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________
4 )综合分析截获的报文,理解HTTP 协议的工作过程,将结果填入表3 中。
表3 HTTP 协议工作过程
HTTP 客户机端口号 HTTP 服务器端口号 所包括的报文号 步骤说明。