实验六利用Wireshark分析协议HTTP
- 格式:doc
- 大小:416.50 KB
- 文档页数:9
实验六利用W i r e s h a r k 分析协议H T T P文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)实验六利用W i r e s h a r k分析协议H T T P 一、实验目的分析HTTP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤1、利用Wireshark俘获HTTP分组(1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。
之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。
在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns(清除DNS解析程序缓存)完成操作。
(2)启动Wireshark 分组俘获器。
(3)在Web 浏览器中输入:(4)停止分组俘获。
图利用Wireshark俘获的HTTP分组在URL 中,是一个具体的web 服务器的域名。
最前面有两个DNS 分组。
第一个分组是将域名转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。
这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过这样的域名。
当输入URL http://时,将要求Web服务器从主机上请求数据,但首先Web 浏览器必须确定这个主机的IP地址。
随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。
最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。
这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。
2、HTTP GET/response交互(1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。
用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)在中国的服务提供商。
竭诚为您提供优质文档/双击可除wireshark,工控协议篇一:实验六_利用wireshark分析协议http实验六利用wireshark分析协议http一、实验目的分析http协议二、实验环境与因特网连接的计算机,操作系统为windows,安装有wireshark、ie等软件。
三、实验步骤1、利用wireshark俘获http分组(1)在进行跟踪之前,我们首先清空web浏览器的高速缓存来确保web网页是从网络中获取的,而不是从高速缓冲中取得的。
之后,还要在客户端清空dns高速缓存,来确保web服务器域名到ip地址的映射是从网络中请求。
在windowsxp机器上,可在命令提示行输入ipconfig/flushdns(清除dns解析程序缓存)完成操作。
(2)启动wireshark分组俘获器。
(3)在web浏览器中输入:(4)停止分组俘获。
图1.1利用wireshark俘获的http分组在uRl中,是一个具体的web服务器的域名。
最前面有两个dns分组。
第一个分组是将域名转换成为对应的ip地址的请求,第二个分组包含了转换的结果。
这个转换是必要的,因为网络层协议——ip协议,是通过点分十进制来表示因特网主机的,而不是通过这样的域名。
当输入uRlhttp://时,将要求web服务器从主机上请求数据,但首先web浏览器必须确定这个主机的ip地址。
随着转换的完成,web浏览器与web服务器建立一个tcp 连接。
最后,web浏览器使用已建立好的tcp连接来发送请求“get/http/1.1”。
这个分组描述了要求的行为(“get”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“http/1.1”)。
2、httpget/response交互(1)在协议框中,选择“get/http/1.1”所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。
在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。
实验六利用Wireshark分析协议HTTP一、实验目的分析HTTP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤1、利用Wireshark俘获HTTP分组(1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web 网页是从网络中获取的,而不是从高速缓冲中取得的。
之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。
在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns(清除DNS解析程序缓存)完成操作。
(2)启动Wireshark 分组俘获器。
(3)在Web 浏览器中输入:(4)停止分组俘获。
图6.1 利用Wireshark俘获的HTTP分组在URL 中,是一个具体的web 服务器的域名。
最前面有两个DNS分组。
第一个分组是将域名转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。
这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过这样的域名。
当输入URL http://时,将要求Web服务器从主机上请求数据,但首先Web浏览器必须确定这个主机的IP地址。
随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。
最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。
这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。
2、HTTP GET/response交互(1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。
在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。
“Host”首部在HTTP1.1版本中是必须的,它描述了URL中机器的域名,本例中是。
wireshark分析HTTP利⽤Wireshark分析协议HTTP⼀、实验⽬的分析HTTP协议⼆、实验环境与因特⽹连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤3.1课程设计步骤(1)启动WireShark。
图 3.1 wireshark启动界⾯(2)启动PC上的chrome浏览器。
图3.2 启动chrome浏览器(3) 开始分组捕获:选择“抓包”下拉菜单中的“抓包参数选择”命令,在WireShark:“抓包选项”窗⼝中可以设置分组捕获的选项。
(4) 在这次实验中,使⽤窗⼝中显⽰的默认值。
选择“抓包”下拉菜单中的“⽹络接⼝”命令,显⽰计算机中所安装的⽹络接⼝(即⽹卡)。
我们需要选择电脑真实的⽹卡,点击后显⽰本机的IP地址。
(5) 随后,点击“开始”则进⾏分组捕获,所有由选定⽹卡发送和接收的分组都将被捕获。
图3.4 抓包选项设置(6) 待捕获⼀段时间,关闭浏览器,选择主窗⼝中有的“stop”按钮,可以停⽌分组的捕获。
图3.5 结束按钮3.2 抓包并分析过程这次实验通过分析打开⾕歌主页来分析http协议的作⽤。
在filter中输⼊http进⾏筛选。
wireshark所抓的含有http请求报⽂的帧:图3.6 打开⾕歌主页抓到的HTTP包对打开⾕歌⽹页这个事务进⾏分析:在浏览器中输⼊⾕歌主页地址,敲击回车的过程中,浏览器向DNS请求解析/doc/263e29c283d049649b665872.html 的IP地址。
域名系统DNS 解析出⾕歌服务器的IP地址为173.194.72.199在这个过程中本机IP 10.10.22.75。
然后浏览器与服务器建⽴TCP连接(服务器端的IP地址为173.194.72.199,端⼝是80)。
然后浏览器发出取⽂件命令:GET /webhp?hl=zh-CN&sourceid=cnhp HTTP/1.1\r\n。
服务器给出响应把⽂件(text/html)发送给浏览器,浏览器显⽰text/html中的所有⽂本。
Wireshark抓包分析HTTPS与HTTP报⽂的差异⼀、什么是HTTPS:HTTPS(Secure Hypertext Transfer Protocol)安全超⽂本传输协议它是⼀个安全通信通道,它基于HTTP开发,⽤于在客户计算机和服务器之间交换信息。
它使⽤安全套接字层(SSL)进⾏信息交换,简单来说它是HTTP的安全版。
它是由Netscape开发并内置于其浏览器中,⽤于对数据进⾏压缩和解压操作,并返回⽹络上传送回的结果。
HTTPS实际上应⽤了Netscape的安全全套接字层(SSL)作为HTTP应⽤层的⼦层。
(HTTPS使⽤端⼝443,⽽不是象HTTP那样使⽤端⼝80来和TCP/IP进⾏通信。
)SSL使⽤40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。
HTTPS和SSL⽀持使⽤X。
509数字认证,如果需要的话⽤户可以确认发送者是谁。
⼆、HTTPS和HTTP的区别:https协议需要到ca申请证书,⼀般免费证书很少,需要交费。
http是超⽂本传输协议,信息是明⽂传输,https 则是具有安全性的ssl加密传输协议 http和https使⽤的是完全不同的连接⽅式⽤的端⼝也不⼀样:前者是80,后者是443。
http的连接很简单,是⽆状态的 HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、⾝份认证的⽹络协议要⽐http协议安全。
三、⽐较操作步骤:***https传输中抓包***1.开启wireshark并配置受监听的⽹卡,点击捕获->选项2.选择正在使⽤的⽹卡,点击开始。
3.电脑中开启浏览器或其他应⽤的时候都会有流量产⽣,有流量产⽣就会被wireshark捕捉到,下图为刚刚开启wireshark后的捕捉状态,会抓到各种各样的流量,稍后我们会进⾏过滤操作。
4.浏览器中输⼊带有https的⽹址,让wireshrk可以抓到包。
5.再次返回到wireshark页⾯,然后在应⽤显⽰过滤器⼀栏中输⼊过滤语句,本例中输⼊ip.dst == 192.168.12.93,即指定wireshark只列出⽬标地址是192.168.12.93的流量。
使用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所示。
利用wireshark分析HTTP协议实验报告实验目的:通过利用Wireshark分析HTTP协议,实验理解HTTP协议的工作原理和常见的HTTP请求和响应消息的格式,并学会利用Wireshark工具进行网络流量分析和调试。
实验步骤:1.实验环境准备:b. 打开Wireshark工具,并选择适当的网络接口开始抓包。
2.抓取HTTP协议数据包:a. 在Wireshark工具中点击“开始”按钮,开始抓包。
c. 在Wireshark工具中停止抓包。
3.分析HTTP消息:a. 在Wireshark工具中选择一个HTTP数据包,并展开协议分析窗口。
b.分析HTTP请求消息的格式,包括请求方法、URL、HTTP版本、请求头和请求体等。
c.分析HTTP响应消息的格式,包括状态码、状态描述、响应头和响应体等。
4.进行HTTP会话分析:a. 在Wireshark工具中选择一个HTTP请求数据包,并右击菜单选择“Follow TCP Stream”选项。
b.分析TCP流的数据包,包括请求和响应的传输数据等。
5.进行HTTP分片分析:a. 在Wireshark工具中选择一个HTTP数据包,并展开协议分析窗口。
b.分析数据包的分片情况,包括分片的数量和分片的大小等。
6.进行HTTP身份认证分析:a. 在Wireshark工具中选择一个HTTPS数据包,并展开协议分析窗口。
b.分析HTTPS数据包的SSL/TLS握手过程和加密信息等。
实验结果:通过对Wireshark抓包和分析,我们可以得到一个完整的HTTP会话过程。
通过分析HTTP请求和响应消息的格式,可以了解到HTTP协议的工作原理和常见的消息头信息。
通过分析TCP流的数据包,可以了解到HTTP数据的传输情况和时序关系。
通过分析HTTP的分片情况,可以了解到HTTP数据在传输过程中可能发生的分片现象。
通过分析HTTPS数据包,可以了解到HTTPS协议的加密过程和身份认证机制。
利用wireshark分析HTTP协议HTTP协议是一种为了Web浏览器和Web服务器之间进行通信而设计的协议。
它定义了客户端和服务器之间传输数据的规则、格式和约定。
本文将利用Wireshark来分析HTTP协议的工作原理和数据传输过程。
Wireshark是一款流行的网络协议分析工具,它可以捕获网络数据包并进行详细的分析。
为了分析HTTP协议,我们需要在Wireshark中设置过滤器来捕获HTTP数据包。
当我们在浏览器中输入网址并按下回车键时,浏览器将发送一系列HTTP请求到服务器。
通过Wireshark捕获的数据包,我们可以看到每个请求的详细信息。
HTTP请求由几个部分组成,包括请求行、请求头和请求体。
请求行包括请求方法(GET、POST等)、请求的URL和使用的协议版本。
请求头包括一些额外的信息如Host、User-Agent、Accept等。
请求体根据请求的类型可能包含数据。
在Wireshark的捕获结果中,我们可以看到每个HTTP请求的详细信息,包括请求方法、URL、协议版本和请求头字段。
通过查看这些信息,我们可以了解每个请求的具体内容和目的。
对于HTTP响应,它包含了服务器返回给客户端的数据。
响应也由几个部分组成,包括响应状态行、响应头和响应体。
响应状态行包括协议版本、状态码和状态描述。
响应头包括一些额外的信息如Server、Content-Type、Content-Length等。
响应体包含实际的数据。
通过Wireshark,我们可以查看每个HTTP响应的详细信息,包括协议版本、状态码、状态描述和响应头字段。
我们还可以通过查看响应体来获取服务器返回的实际数据。
在Wireshark的捕获结果中,我们可以看到HTTP请求和响应之间的往返,也就是请求和响应的交互过程。
通过查看每个数据包的时间戳,我们可以估计出数据传输的延迟和效率。
此外,通过Wireshark还可以分析HTTP协议的性能和安全性。
1.清除DNS域名解析缓存2.2.HTTP请求报文格式首部名首部值含义accept */* 接受referer Accept-Language zh-cn 接受语言Accept-Encoding Gzip,deflate 接受编码User-Agent Mozilla/4.0 (compatible; MSIE 6.0;请求的WEB浏览器及客户机器Windows NT 5.1; ...................)host Url域名是connection Keep-alive 表明发送请求之后TCP连接继续保持3.HTTP应答报文格式首部名首部值含义HTTP/1.1 200 ok 显示服务器使用的HTTP版本Cache-Control private 表明是否可以将返回的数据副本存储或高速缓存。
Date Fri,13 May 2012 01:41:12 GMT 消息返回的时间Content-Length 18596 数据的长度Content-Type Txt/css 返回对象的类型Last-Modified Fri,13 May 2012 01:41:12 GMT 返回对象的最后修改日期Server Microsoft 6.0 IIS WEB服务器问题回答:(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?答:我的浏览器上运行HTTP version 1.1(2)你的浏览器向服务器指出它能接收何种语言版本的对象?答:浏览器语言为:简体中文accept language : zh -cn\r\n(3)你的计算机的IP地址是多少?服务器的IP地址是多少?本机IP:10.0.163.199服务器IP地址:128.119.245.12(5)你从服务器上所获取的HTML文件的最后修改时间是多少?Fri,13 May 2012 01:41:12(6)返回到你的浏览器的内容以供多少字节?18596(7)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?没有。
Wireshark软件分析⽹络装包(HTTP协议)Wireshark软件分析⽹络装包(HTTP)Wireshark是⾮常流⾏的⽹络封包分析软件,功能⼗分强⼤。
可以截取各种⽹络封包,显⽰⽹络封包的详细信息。
Wireshark开始界⾯(笔者版本Version 2.4.3 (v2.4.3-0-g368ba1ee37))1. ⾸先要看图中红⾊圈中展⽰,需要你指定获取哪个连接的⽹络包,如果你电脑上有多个连接,则该红⾊圈中会有多个连接需要你指定选择。
本次⼩编电脑中只有⼀个连接(⽆线连接),其余的本地连接和⽆线连接都被⼩编本地禁⽤。
如下双击Wireshark主界⾯上的《⽆线⽹络连接》,即红⾊圈中字,Wireshark做好准备截取⽹络请求,此时Wireshark主界⾯如下(刚开始打开主界⾯的时候是空⽩的,但是由于⼩编电脑⼀直在连着⽹,不停的有⽹络包刷进来,)其中红⾊圈中的部分是不是就对应了我们前⾯讲述的HTTP连接建⽴的三次握⼿?1. 第⼀步由客户端(192.168.1.19)即⼩编本机电脑发送⼀个SYN=0包给服务器(183.232.231.117)。
2. 服务端收到客户端的SYN包之后,回复⼀个SYN+ACK包,其中ACK=(0+1)=1, SYN=03. 客户端收到服务端的SYN包之后,回复⼀个ACK=1给服务端。
此时,三次握⼿完成,⼀个HTTP连接通道建⽴。
下⾯可以发送数据。
从Wireshark中不仅仅可以看出HTTP连接建⽴的三次握⼿,还可以看到HTTP请求建⽴过程中对应的链路层,⽹络层,物理层等相关层的详细信息,不知道⼤家还记得与否,我们曾经给⼤家介绍了HTTP请求五层模型和OSI的七层模型之间的⼀个对应关系,如下图那么我们怎么从Wireshark中的截包中得到对应层的相关信息呢?今天先给⼤家简单介绍以下如何去看,怎么去分析我们留着后续慢慢展开。
由此看到,我们通过Wireshark不仅仅可以分析HTTP报⽂的请求和响应,还可以观察其他层的相关信息,⽐如物理层,数据链路层,⽹络层(IP协议)以及传输层(TCP协议)的相关信息。
通过wireshark抓包来学习TCP HTTP网络协议很多招聘需求上都会要求熟悉TCP/IP协议、socket编程之类的,可见这一块是对于web编程是非常重要的。
作为一个野生程序员对这块没什么概念,于是便找来一些书籍想来补补。
很多关于协议的大部头书都是非常枯燥的,我特意挑了比较友好的《图解TCP/IP》和《图解HTTP》,但看了一遍仍是云里雾里,找不到掌握了知识后的那种自信。
所以得换一种思路来学习————通过敲代码来学习,通过抓包工具来分析网络,抓包神器首推wireshark。
本文是自己学习TCP过程的记录和总结。
1、使用TCP socket实现服务端和客户端,模拟http请求写一个简单的server和client,模拟最简单的http请求,即client发送get请求,server返回hello。
这里是用golang写的,最近在学习golang。
完成之后可以使用postman充当client测试你的server能不能正常返回响应,或者使用完备的http模块测试你的client。
client向指定端口发送连接请求,连接后发送一个request并收到response断开连接并退出。
server可以和不同的客户端建立多个TCP连接,每来了一个新连接就开一个goruntine去处理。
TCP是全双工的,所谓全双工就是读写有两个通道,互不影响,我当时还纳闷在conn上又读又写不会出毛病吗-_-TCP是流式传输,所以要在for中不断的去读取数据,直到断开。
注意没有断开连接的时候是读不到EOF的,代码使用了bufio包中的scanner这个API来逐行读取数据,以\n为结束标志。
但数据并不都是以\n结尾的,如果读不到结尾,read就会一直阻塞,所以我们需要通过header中的length判断数据的大小。
我这里偷懒了,只读了header,读到header下面的空行就返回了。
加了个超时,客panic(err)}fmt.Println("listen to 8888")for {conn, err := l.Accept()if err != nil {fmt.Println("conn err:", err)}go handleConn(conn)}}func handleConn(conn net.Conn) {defer conn.Close()defer fmt.Println("关闭")fmt.Println("新连接:", conn.RemoteAddr()) t := time.Now().Unix()// 超时go func(t *int64) {for {if time.Now().Unix() - *t >= 5 {fmt.Println("超时")conn.Close()return}time.Sleep(100 * lisecond)}}(&t)for {data, err := readTcp(conn)if err != nil {if err == io.EOF {continue} else {fmt.Println("read err:", err)break}}writeTcp(conn)t = time.Now().Unix()} else {break}}}func readTcp(conn net.Conn) (int, error) {var buf bytes.Buffervar err errorrd := bufio.NewScanner(conn)total := 0for rd.Scan() {var n intn, err = buf.Write(rd.Bytes())if err != nil {panic(err)}buf.Write([]byte(rn))total += nfmt.Println("读到字节:", n)if n == 0 {break}}err = rd.Err()fmt.Println("总字节数:", total)fmt.Println("内容:", rn, buf.String())return total, err}func writeTcp(conn net.Conn) {wt := bufio.NewWriter(conn)wt.WriteString("HTTP/1.1 200 OK" + rn)wt.WriteString("Date: " + time.Now().String() + rn) wt.WriteString("Content-Length: 5" + rn)wt.WriteString("Content-Type: text/plain" + rn) wt.WriteString(rn)wt.WriteString("hello")err := wt.Flush()if err != nil {fmt.Println("Flush err: ", err)}fmt.Println("写入完毕", conn.RemoteAddr()) }client:package mainimport ("bufio""bytes""fmt""net""time")const rn = "\r\n"func main() {conn, err := net.Dial("tcp", ":8888")defer conn.Close()defer fmt.Println("断开")if err != nil {panic(err)}sendReq(conn)for {total, err := readResp(conn)if err != nil {panic(err)}if total > 0 {break}}}func sendReq(conn net.Conn) {wt := bufio.NewWriter(conn)wt.WriteString("GET / HTTP/1.1" + rn)wt.WriteString("Date: " + time.Now().String() + rn) wt.WriteString(rn)err := wt.Flush()if err != nil {fmt.Println("Flush err: ", err)}fmt.Println("写入完毕", conn.RemoteAddr())}func readResp(conn net.Conn) (int, error) {var buf bytes.Buffervar err errorrd := bufio.NewScanner(conn)total := 0for rd.Scan() {var n intn, err = buf.Write(rd.Bytes())if err != nil {panic(err)}buf.Write([]byte(rn))if err != nil {panic(err)}total += nfmt.Println("读到字节:", n)if n == 0 {break}}if err = rd.Err(); err != nil {fmt.Println("read err:", err)}if (total > 0) {fmt.Println("resp:", rn, buf.String())}return total, err}2、通过wireshark监听对应端口抓包分析server和client做出来了,下面来使用wireshark抓包来看看TCP链接的真容。
完整利用wireshark分析HTTP协议HTTP协议是超文本传输协议的缩写。
它是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据。
Wireshark是一个用于网络分析和协议开发的免费开源程序,它可以用来捕获和分析网络数据包。
在使用Wireshark分析HTTP协议时,我们可以通过以下步骤来进行:1. 启动Wireshark并选择要捕获的网卡。
在Wireshark的主界面上,可以选择“Capture”选项卡来选择网卡。
点击“Start”按钮来开始捕获数据包。
3. 分析捕获的HTTP数据包。
Wireshark将以表格的形式显示捕获的数据包,其中列出了源IP地址、目的IP地址、协议类型等信息。
我们可以查看数据包的详细信息,包括源端口、目的端口、传输层协议等。
4.分析HTTP请求。
选择一个HTTP请求的数据包,点击“+]”按钮来展开其详细信息。
在详细信息中,可以查看请求的方法(GET、POST等)、请求的URL、请求的头部信息等。
5.分析HTTP响应。
选择一个HTTP响应的数据包,点击“+]”按钮来展开其详细信息。
在详细信息中,可以查看响应的状态码、响应的头部信息以及响应的正文内容。
6. 进一步分析HTTP请求和响应的头部信息。
HTTP请求和响应的头部信息包含了很多有用的信息。
例如,可以通过查看“Content-Type”来确定返回的数据类型是HTML、CSS、JavaScript还是其他类型的文件。
可以查看“Cookie”来查看是否存在会话信息。
还可以查看其他头部信息,如“User-Agent”来确定浏览器和操作系统的类型。
7. 查看HTTP的传输过程。
Wireshark可以以图形化的方式显示HTTP请求和响应的传输过程。
在摘要视图中,选择一个HTTP请求或响应,右键单击并选择“Follow”>“HTTP Stream”,可以查看完整的HTTP报文的传输过程。
8. 分析HTTP压缩。
(完整)使⽤wireshark进⾏协议分析实验报告1 深圳⼤学实验报告实验课程名称:计算机⽹络实验项⽬名称:使⽤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,如:/doc/b02e161128f90242a8956bec0975f46527d3a70c.html 。
为显⽰该⽹页,浏览器需要连接/doc/b02e161128f90242a8956bec0975f46527d3a70c.html 的服务器,并与之交换HTTP消息,以下载该⽹页。
包含这些HTTP消息的以太⽹帧(Frame)将被WireShark捕获。
2. 在显⽰筛选编辑框中输⼊“http”,单击“apply”,分组列表窗⼝将只显⽰HTTP消息。
3.点击其中⼀个http协议包请求⾏:⽅法字段:GET,版本是http/1.1.⾸部⾏:主机host:/doc/b02e161128f90242a8956bec0975f46527d3a70c.html ;Connection:Keep-Alive,即保持持久连接;Accept-language:zh-cn,即接收语⾔是中⽂。
TCP/IP 实验报告实验1 用Wireshark进行HTTP协议分析学院计算机学院专业网络工程班级1班姓名刘小芳学号410090401272012.51.1 实验性质本实验为操作分析性实验。
1.2 实验目的1. 掌握Wireshark软件的基本使用方法。
2. 掌握基本的网络协议分析方法。
3. 使用Wireshark抓包工具,分析HTTP数据报的格式。
4. 加深理解HTTP协议的原理及其工作过程。
1.3 实验环境1. 硬件环境:PC机1台。
2. 网络环境:PC机接入LAN或Internet。
物理地址:00-E0-4C-00-16-78Ip地址:192.168.0.1313. 软件环境:Windows操作系统和Wireshark软件。
1.4 实验学时2学时(90分钟)。
1.5 实验内容与要求1.5.1 启动Wireshark协议分析工具1.5.2 抓取HTTP数据包1.5.3分析HTTP报文1. The Basic HTTP GET/response interaction1. Is your browser running HTTP version 1.0 or 1.1? What version of HTTP is the server running?HTTP 1.12. What languages (if any) does your browser indicate that it can accept to the server?Accept-Language: zh-cn\r\n3.What is the IP address of your computer? Of the server? 192.168.0.131 128.238.38.1604.What is the status code returned from the server to your browser?200 ok5.When was the HTML file that you are retrieving last modified at the server20 May 2013 09:42:43 GMT\r\n6.How many bytes of content are being returned to your browser?4297. By inspecting the raw data in the packet content window, do you see any headerswithin the data that are not displayed in the packet-listing window? If so, nameOne.有2. The HTTP CONDITIONAL GET/response interactionAnswer the following questions:8. Inspect the contents of the first HTTP GET request from your browser to the server. Do you s ee an “IF-MODIFIED-SINCE” line in the HTTP GET?有9. Inspect the contents of the server response. Did the server explicitly return the contents of the file? How can you tell?有HTTP/1.1 200 OK\r\n10. Now inspect the contents of the second HTTP GET request from your browser to the server. Do you see an “IF-MODIFIED-SINCE:” line in the HTTP GET? Ifso, what information follows the “IF-MODIFIED-SINCE:” header?没有11. What is the HTTP status code and phrase returned from the server in response tothis second HTTP GET? Did the server explicitly return the contents of the file?200 没有3. Retrieving Long DocumentsAnswer the following questions:12.How many HTTP GET request messages were sent by your browser?113. How many data-containing TCP segments were needed to carry the single HTTP response?414. What is the status code and phrase associated with the response to the HTTP GET request?Code 200 phrase ok15. Are there any HTTP status lines in the transmitted data associated with a TCPinduced“Continuation”?no1.6 实验总结http协议工作原理HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。
实验六利用Wireshark分析协议HTTP 实验六:利用Wireshark分析HTTP协议一、实验目的1. 掌握使用Wireshark分析HTTP协议的基本方法;2.理解HTTP协议的工作原理;3.掌握HTTP请求和响应的结构和字段。
二、实验原理HTTP(HyperText Transfer Protocol)是一种应用层协议,用于传输超文本信息,是Web的基础协议。
HTTP协议工作原理:1.客户端向服务器发送一个HTTP请求;2.服务器接收到请求后,处理并返回一个HTTP响应;3.客户端接收到HTTP响应,解析并展示相应的内容。
HTTP请求的结构:1.请求行:包括请求方法、请求URL和协议版本;2. 请求头:包含关于客户端请求的附加信息,如User-Agent、Content-Type等;3.请求体:包含HTTP请求的主体内容,通常用于POST请求。
HTTP响应的结构:1.状态行:包括协议版本、状态码和状态描述;2. 响应头:包含关于服务器响应的附加信息,如Content-Type、Content-Length等;3.响应体:包含HTTP响应的主体内容,通常为HTML、图片、音视频等数据。
三、实验步骤2. 打开Wireshark,并选择网络接口进行网络抓包;3.进行HTTP通信,如打开一个网页、发送一个表单等;4. 在Wireshark中查找并分析抓取的HTTP数据包。
四、实验实施1. 打开Wireshark,选择一个可用的网络接口(通常为以太网)进行抓包;2.启动抓包,点击“开始”按钮;3.进行HTTP通信,如在浏览器中打开一个网页(如百度首页);4. 在Wireshark中查看抓取到的HTTP数据包。
分析HTTP请求:6. 选中一个HTTP请求数据包,展开“Hypertext Transfer Protocol”部分;7.查看请求行信息,包括请求方法、请求URL和协议版本;8. 展开“Hypertext Transfer Protocol”部分中的“Headers”部分,查看请求头信息;9. 如果有请求体,可以展开“Hypertext Transfer Protocol”部分中的“Entity body”部分,查看请求体内容。
重庆大学软件学院实验报告实验名称HTTP协议验证课程名称计算机网络与通信姓名成绩学号教师班级日期《计算机网络与通信》实验报告一、实验目的了解HTTP协议的基本工作原理,验证HTTP协议中的基本运行机制。
主要包括:HTTP协议请求和响应的交互过程、HTTP请求和响应消息的封装格式、HTTP连接中传输文件对象的方式、Web catch 和Conditional Get、HTTP授权等。
二、实验原理参见教材P59-P65三、使用的软件、硬件The Wireshark Networker AnalyzerWin7操作系统四、实验步骤(1)The Basic HTTP Get/response intreaction1点击Wireshark软件中的“Capture”→“option”,在弹出的窗口中选择适当的网卡。
2点击“Capture”→“Capture Filter”,选择其中的“HTTP TCP port(80)”项。
3打开IE浏览器,删除IE的cookies。
4在Wireshark软件中的Filter栏中输入“http”,5等待一分钟,点击start键开始抓取数据包。
6用浏览器访问“/wireshark-labs/HTTP-wireshark-file1.html”。
7待浏览器访问网页结束后,点击stop键,停止抓取数据包。
(2)The COBDITIONAL HTTP GET/response interaction1打开IE浏览器,删除IE的cookies。
2点击start键开始抓取数据包。
3用浏览器访问“/wireshark-labs/HTTP-wireshark-file2.h tml”。
4待浏览器访问网页结束后,点击stop键,停止抓取数据包。
(3)Retrieving Long Documents1打开IE浏览器,删除IE的cookies。
2点击start键开始抓取数据包。
3用浏览器访问“/wireshark-labs/HTTP-wireshark-file3.h tml”。
实验六利用W i r e s h a r k分析协议H T T P一、实验目的分析HTTP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤1、利用Wireshark俘获HTTP分组(1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。
之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。
在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns(清除DNS解析程序缓存)完成操作。
(2)启动Wireshark 分组俘获器。
(3)在Web 浏览器中输入:(4)停止分组俘获。
图1.1 利用Wireshark俘获的HTTP分组在URL 中,是一个具体的web 服务器的域名。
最前面有两个DNS分组。
第一个分组是将域名转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。
这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过这样的域名。
当输入URL http:// 时,将要求Web服务器从主机上请求数据,但首先Web浏览器必须确定这个主机的IP地址。
随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。
最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。
这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。
2、HTTP GET/response交互(1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。
在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。
“Host”首部在HTTP1.1版本中是必须的,它描述了URL中机器的域名,本例中是。
这就允许了一个Web服务器在同一时间支持许多不同的域名。
有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本的主要变化。
User-Agent首部描述了提出请求的Web浏览器及客户机器。
接下来是一系列的Accpet首部,包括Accept(接受)、Accept-Language (接受语言)、Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。
它们告诉Web服务器客户Web浏览器准备处理的数据类型。
Web服务器可以将数据转变为不同的语言和格式。
这些首部表明了客户的能力和偏好。
Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送HTTP请求和响应。
它表明在发送请求之后连接是否保持活动状态及保持多久。
大多数HTTP1.1连接是持久的(persistent),意思是在每次请求后不关闭TCP 连接,而是保持该连接以接受从同一台服务器发来的多个请求。
(2)我们已经察看了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。
响应首先发送“HTTP/1.1 200 ok”,指明它开始使用HTTP1.1版本来发送网页。
同样,在响应分组中,它后面也跟随着一些首部。
最后,被请求的实际数据被发送。
第一个Cache-control首部,用于描述是否将数据的副本存储或高速缓存起来,以便将来引用。
一般个人的Web浏览器会高速缓存一些本机最近访问过的网页,随后对同一页面再次进行访问时,如果该网页仍存储于高速缓存中,则不再向服务器请求数据。
类似地,在同一个网络中的计算机可以共享一些存在高速缓存中的页面,防止多个用户通过到其他网路的低速网路连接从网上获取相同的数据。
这样的高速缓存被称为代理高速缓存(proxy cache)。
在我们所俘获的分组中我们看到“Cache-control”首部值是“private”的。
这表明服务器已经对这个用户产生了一个个性化的响应,而且可以被存储在本地的高速缓存中,但不是共享的高速缓存代理。
在HTTP请求中,Web服务器列出内容类型及可接受的内容编码。
此例中Web 服务器选择发送内容的类型是text/html且内容编码是gzip。
这表明数据部分是压缩了的HTML。
服务器描述了一些关于自身的信息。
此例中,Web服务器软件是Google自己的Web服务器软件。
响应分组还用Content-Length首部描述了数据的长度。
最后,服务器还在Date首部中列出了数据发送的日期和时间。
根据俘获窗口内容:(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少(图1.2)?HTTP 1.1, version1.1图1.2 HTTP的版本号(2)你的浏览器向服务器指出它能接收何种语言版本的对象(图1.3)?Accept language: zh-CN\r\n图1.3 语言版本的对象(3)你的计算机的IP地址是多少?服务器的IP地址是多少?计算机IP地址:192.168.0.152服务器IP地址:123.125.44.110图1.4 计算机服务器地址(4)从服务器向你的浏览器返回的状态代码是多少?200 OK图1.4 状态码(5)你从服务器上所获取的HTML文件的最后修改时间是多少?21 dec 2013 14:03:47(1)返回到你的浏览器的内容以供多少字节?2223、HTTP条件GET/response交互(1)启动浏览器,清空浏览器的缓存。
(2)启动Wireshark分组俘获器,开始Wireshark分组俘获。
(3)在浏览器地址栏中如下网址:/wireshark-labs/HTTP-wireshark-file2.html 你的浏览器中将显示一个具有五行的非常简单的HTML文件。
(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。
(5)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答:(2)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?没有(3)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?(4)分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?(5)服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。
状态码和相应状态信息的值为304 NOT Modified,他表示缓存器可以使用该对象。
第二次没有返回文件的内容,因为他只是作为对该条件GET的响应,WEB服务器只发送一个响应报文,不包含请求的对象4、获取长文件(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark 分组俘获器,开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:/wireshark-labs/HTTP-wireshark-file3.html 浏览器将显示一个相当大的美国权力法案(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答:(6)你的浏览器一共发出了多少个HTTP GET请求?1个(7)承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段?4个(8)与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么?200 OK(9)在被传送的数据中一共有多少个HTTP状态行与TCP-induced”continuation”有关?4个5、嵌有对象的HTML文档(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。
开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:/wireshark-labs/HTTP-wireshark-file4.html 浏览器将显示一个具有两个图片的短HTTP文件。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答:(10)你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少?4个 128.119.245.12 128.119.240.90(11)浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。
并行下载因为这样可以不用每次下载都要建立TCP连接,可以缩短下载的时间6、HTTP认证(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。
开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:/wireshark-labs/protected_pages/HTTP-wire shark-file5.html浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:wireshark-students,密码:network)。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答:(12)对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)?200 OK(18)当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段?Authorization :basic。