文档介绍:
实验一应用协议与数据包分析实验(使用Wireshark)
一、实验目的
通过本实验,熟练掌握Wireshark的操作和使用,学****对HTTP协议进行分析。
二、实验内容
1.HTTP 协议简介
HTTP 是超文本传输协议(Hyper Text Transfer Protocol)的缩写,用于WWW 服务。
(1)HTTP 的工作原理
HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层传输协议,但
HTTP 协议是无状态的。也就是说,每个事务都是独立地进行处理。当一个事务开始时,就
在web客户和服务器之间建立一个TCP 连接,而当事务结束时就释放这个连接。此外,客户可以使用多个端口和和服务器(80 端口)之间建立多个连接。其工作过程包括以下几个阶段。
①服务器监听TCP 端口 80,以便发现是否有浏览器(客户进程)向它发出连接请求;
②一旦监听到连接请求,立即建立连接。
③浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。
④释放TCP 连接。
在浏览器和服务器之间的请求和响应的交互,必须遵循HTTP 规定的格式和规则。
当用户在浏览器的地址栏输入要访问的HTTP 服务器地址时,浏览器和被访问HTTP 服
务器的工作过程如下:
①浏览器分析待访问页面的URL 并向本地DNS 服务器请求IP 地解析;
② DNS 服务器解析出该HTTP 服务器的IP 地址并将IP 地址返回给浏览器;
③浏览器与HTTP 服务器建立TCP 连接,若连接成功,则进入下一步;
④浏览器向HTTP 服务器发出请求报文(含GET 信息),请求访问服务器的指定页面;
⑤服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览
器会打开多个端口,与服务器建立多个连接;
⑥释放TCP 连接;
⑦浏览器收到页面并显示给用户。
(2)HTTP 报文格式
HTTP 有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。图 5.46
显示了两种报文的结构。
图1.1 HTTP 的请求报文和响应报文结构
在图1.1 中,每个字段之间有空格分隔,每行的行尾有回车换行符。各字段的意义如下:
①请求行由三个字段组成:
* 方法字段,最常用的方法为“GET”,表示请求读取一个万维网的页面。常用的方法
还有“HEAD(指读取页面的首部)”和“POST(请求接受所附加的信息);
* URL 字段为主机上的文件名,这时因为在建立TCP 连接时已经有了主机名;
* 版本字段说明所使用的HTTP 协议的版本,一般为“HTTP/1.1”。
②状态行也有三个字段:
* 第一个字段等同请求行的第三字段;
* 第二个字段一般为“200”,表示一切正常,状态码共有41 种,常用的有:301 (网站已转移),400(服务器无法理解请求报文),404(服务器没有锁请求的对象)等;
* 第三个字段时解释状态码的短语。
③根据具体情况,首部行的行数是可变的。ept 字段,其值表示浏览器可以接受何种类型的媒体;Accept-language,其值表示浏览器使用的语言;Us
内容来自淘豆网www.taodocs.com转载请标明出处.