计算机网络——自顶向下方法(第七版)Wireshark Lab2:HTTP
这部分回顾Wireshark Lab2,该实验主要目标是了解HTTP协议。
参考资料:
注意事项:
- 无法抓包就清除浏览器缓存。
- time字段含义:
问题描述来自于如下资料:
Wireshark Lab2: HTTP
1. HTTP基本GET/response交互
您的浏览器是否运行HTTP版本1.0或1.1?服务器运行什么版本的HTTP?
- 浏览器和服务器的HTTP版本都是1.1。
您的浏览器会从接服务器接受哪种语言(如果有的话)?
中文:
Accept-Language: zh-CN,zh;q=0.9\r\n
您的计算机的IP地址是什么? gaia.cs.umass.edu服务器地址呢?
- 本机:192…
- gaia.cs.umass.edu服务器地址:128.119.245.12
服务器返回到浏览器的状态代码是什么?
- 200
服务器上HTML文件的最近一次修改是什么时候?
- Last-Modified: Fri, 09 Jul 2021 05:59:02 GMT\r\n
服务器返回多少字节的内容到您的浏览器?
- 530字节。
通过检查数据包内容窗口中的原始数据,你是否看到有协议头在数据包列表窗口中未显示? 如果是,请举一个例子。
- 还使用了TCP协议。
2. HTTP条件Get/response交互
检查第一个从您浏览器到服务器的HTTP GET请求的内容。您在HTTP GET中看到了“IF-MODIFIED-SINCE”行吗?
- 没有“IF-MODIFIED-SINCE”
检查服务器响应的内容。服务器是否显式返回文件的内容? 你是怎么知道的?
显式返回文件的内容,因为返回了如下内容:
Line-based text data: text/html (10 lines) \n <html>\n \n Congratulations again! Now you've downloaded the file lab2-2.html. <br>\n This file's last modification date will not change. <p>\n Thus if you download this multiple times on your browser, a complete copy <br>\n will only be sent once by the server due to the inclusion of the IN-MODIFIED-SINCE<br>\n field in your browser's HTTP GET request to the server.\n \n </html>\n
现在,检查第二个HTTP GET请求的内容。 您在HTTP GET中看到了“IF-MODIFIED-SINCE:”行吗? 如果是,“IF-MODIFIED-SINCE:”头后面包含哪些信息?
看到了, 内容如下:
If-Modified-Since: Fri, 09 Jul 2021 05:59:02 GMT\r\n
针对第二个HTTP GET,从服务器响应的HTTP状态码和短语是什么?服务器是否明确地返回文件的内容?请解释。
- 状态码为304,短语是Not Modified,没有直接返回文件内容,因为不包含Line-based text data。
3. 检索长文件
您的浏览器发送多少HTTP GET请求消息?哪个数据包包含了美国权利法案的消息?
一个HTTP GET请求,第124个数据包。
124 10.624403 192... 128.119.245.12 HTTP 556 GET /wireshark-labs/HTTP-wireshark-file3.html HTTP/1.1
哪个数据包包含响应HTTP GET请求的状态码和短语?
第133个数据包包含状态码和短语
133 10.840320 128.119.245.12 192... HTTP 559 HTTP/1.1 200 OK (text/html)
响应中的状态码和短语是什么?
- 200, OK
需要多少包含数据的TCP段来执行单个HTTP响应和权利法案文本?
4个,内容如下:
[4 Reassembled TCP Segments (4861 bytes): #1407(1452), #1408(1452), #1409(1452), #1410(505)] [Frame: 1407, payload: 0-1451 (1452 bytes)] [Frame: 1408, payload: 1452-2903 (1452 bytes)] [Frame: 1409, payload: 2904-4355 (1452 bytes)] [Frame: 1410, payload: 4356-4860 (505 bytes)] [Segment count: 4] [Reassembled TCP length: 4861] [Reassembled TCP Data: 485454502f312e3120323030204f4b0d0a446174653a205361742c203130204a756c2032…]
4. 具有嵌入对象的HTML文档
- 您的浏览器发送了几个HTTP GET请求消息? 这些GET请求发送到哪个IP地址?
- 3个,地址分别如下:
- 128.119.245.12(原始网页)
- 128.119.245.12(图片1)
- 178.79.137.164(图片2)
- 3个,地址分别如下:
- 浏览器从两个网站串行还是并行下载了两张图片?请说明。
- 图片1,图片2的请求时间不同,所以是串行下载的。
- 判断依据为wireshark中的time,该数值表示相对于第一个包的到达时间。
5. HTTP认证
对于您的浏览器的初始HTTP GET消息,服务器响应(状态码和短语)是什么响应?
- 状态码为401,响应为Unauthorized。
当您的浏览器第二次发送HTTP GET消息时,HTTP GET消息中包含哪些新字段?
第一次发送HTTP GET:
Hypertext Transfer Protocol GET /wireshark-labs/protected_pages/HTTP-wiresharkfile5.html HTTP/1.1\r\n Host: gaia.cs.umass.edu\r\n Connection: keep-alive\r\n Upgrade-Insecure-Requests: 1\r\n User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36\r\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\n Accept-Encoding: gzip, deflate\r\n Accept-Language: zh-CN,zh;q=0.9\r\n \r\n [Full request URI: http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wiresharkfile5.html] [HTTP request 1/1] [Response in frame: 88]
第二次发送HTTP GET:
Hypertext Transfer Protocol GET /wireshark-labs/protected_pages/HTTP-wiresharkfile5.html HTTP/1.1\r\n Host: gaia.cs.umass.edu\r\n Connection: keep-alive\r\n Cache-Control: max-age=0\r\n Authorization: Basic d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=\r\n Upgrade-Insecure-Requests: 1\r\n User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36\r\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\n Accept-Encoding: gzip, deflate\r\n Accept-Language: zh-CN,zh;q=0.9\r\n \r\n [Full request URI: http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wiresharkfile5.html] [HTTP request 1/1] [Response in frame: 164]
不难看出增加了字段Cache-Control,Authorization。