一:实验目的
1:理解HTTP协议的基本工作原理。
2:使用Wireshark或其他抓包工具捕获并分析HTTP数据包,理解HTTP通信的具体过程。
3:通过分析抓包数据,识别常见的HTTP状态码及其含义。
二:实验仪器设备及软件
硬件:Windows操作系统的计算机等。
软件:命令提示符、记事本、wireshark等。
三:实验方案
在cmd窗口下执行相关的DHCP命令,同时在wireshark中进行抓包操作,最后分析实验结果。
四:实验步骤
建立自己网站-小组内配置至少2台web服务器,主页显示“这是第*组的web网站”(内网)
(1)Telnet 到一个Web服务器:telnet *.*.*.* 80(首先查看这个机器23端口是否开放,netstat,打开后才可执行)
(2)键盘输入GET方法的HTTP请求报文:
GET HTTP协议及版本(如:HTTP/1.1) 请求URL
例:GET / HTTP/1.1
Host:URL地址(不能是IP地址,需要是域名)
(3)抓包观察HTTP服务器返回的响应报文
五:实验结果及分析
1:Telnet到一个Web服务器。
执行命令:telnet 10.206.1.6 80,运行结果如下图所示。
回车后,会进入连接界面,此时需要先按下ctrl + ],进入命令字符明文显示界面,然后再按下回车,进入命令编写界面。
2:键盘输入GET方法的HTTP请求报文。
执行命令:GET / HTTP/1.1,然后回车,再执行命令:Host:localhost,运行结果如下图所示。
可以发现返回了一个网页内容,同时还返回了Content-Type、Last-Modified、Accept-Ranges、ETag、Server、X-Powered-By、Date、Content-Length等信息。
3:抓包观察HTTP服务器返回的响应报文。
Wireshark所捕获到的http报文,如下图所示。
可以发现,一共出现了2条报文。
第一条是GET / HTTP/1.1,是客户端(10.206.1.5)向服务器(10.206.1.6)发送的一条HTTP GET请求,要求获取服务器根路径(/)上的资源。具体的报文内容,如下图所示。
第二条是HTTP/1.1 200 OK,是服务器(10.206.1.6)对客户端(10.206.1.5)请求的回应,表示请求成功(状态码200 OK),并返回了HTML内容。具体的报文内容,如下图所示。
六:实验总结及体会
1:一个完整的HTTP请求-响应过程:(1)客户端发送HTTP GET请求。(2)服务器接收请求并发送HTTP 200 OK响应,包含HTML内容。
2:如果HTML中还包含图片、视频等外部超链接信息,客户端还会额外发送对这些外部超链接信息的HTTP请求,之后会返回图片、视频等内容的文件到本地。