实验二 HTTP 抓包分析
实验目的
通过实验熟悉 Wireshark 抓包软件的使用方法,理解有关 HTTP 协议的各方面内容。
实验内容
- 在 windows 环境进行 Wireshark 抓包。
- 理解基本 GET/response 交互,HTTP 数据包的格式。
- 获取较长的 HTML 文件,分析其数据包。
- 获取有嵌入对象的 HTML 文件,分析器数据包。
实验步骤
六.基本HTTP 的 GET/response 交互
1) 你的浏览器所运行的是 http 协议的 1.0 版本还是 1.1?服务器用的是什么版本的 http 协议?
从上两图可以看出我的浏览器运行的是 http 1.1 , 服务器端运行的是 http 1.1
2) 你的浏览器可以支持多少种语言(如果有)?
Accept-Encoding
头中向服务器说明了我的浏览器支持的语言, 有四种
3) 你自己的 IP 地址是多少?服务器呢?
由 1 问中
display-filter-specification
窗口中可以看出 我的 IP 地址是 192.168.0.111, 服务器的IP是 192.168.0.100
4) 从服务器传回浏览器的状态代码是什么?
状态码是 304 表示请求成功, 经过了代理服务器, 发现距离我上次请求后,服务器端没有更新 这个
html
文件, 所以返回了 304 状态码.
响应中只有headers
而没有响应体body
.
5) 你所看到的 html 文件在服务器上最后的修改时间是什么?
上次修改时间是:
Sat, 12 Dec 2015 13:26:04 GMT
6) 传回浏览器的内容的大小是多少 bytes?
大小是
530
个字节
七.有条件的 HTTP 的 GET/response 交互
1) 在 packet-content 窗口中观察第一个从浏览器向服务器发出的 http GET 请求的数据包,是否看到一行显示“IF-MODIFIED-SINCE”?
没有显示
2) 观察从服务器传回的 response 数据包,服务器是否很清楚的传回了该 html 文件的内容?你如何知道的?
服务器传回了html的内容,
3) 观察第二个从浏览器向服务器发出的 http GET 请求的数据包,是否看到一行显示IF-MODIFIED-SINCE”?如果有,在“IF-MODIFIED-SINCE”报头后显示的是什么?
有, 后面显示的是:
Mon, 16 Dec 2019 07:18:00 GMT
4) 从服务器传回的对第二个 http GET 的 response 的状态代码是什么?服务器是否很清楚的传回了该 html 文件的内容?你如何知道的?
response的状态代码是
304
, 服务器没有传回html的内容, 返回的header中没有Content-Length
这一项, 表明返回内容的长度
八.获取较长的 HTML 文件
1) 浏览器向服务器发送了多少个 http GET 请求的数据包?
只发送了一个http GET 请求数据包
2) 该 http response 数据包需要多少个含有数据的 TCP 段来传送?
文件的大小是: 15487
每个tcp分组传送的大小是: 1460
因此需要传11个, 1460 * 10 + 877
3) 与 http GET 对应的 response 数据包的状态代码是什么?
对应的状态码是:
200
对方发给我的被完整的收到后我的seq才会变 发给服务器381的tcp内容 服务器收到后 ack=382
九.获取有嵌入对象的 HTML 文件
1) 浏览器向服务器发送了多少个 http GET 请求的数据包?这些数据包发送的目的网址是什么?
发送了三个GET请求包, 发送的目的网址是:
192.168.0.100
2) 浏览器是从两个服务器上连续下载这两个图片还是并行下载的?请做相应解释。
可以看出连续发送了两个GET 请求, 而不是在第一个发出, 并收到相应后第二个再发出去. 所以两个图片是并行下载的