Wireshark可以跟踪网络协议的通讯过程,本节通过http协议,在了解Wireshark使用的基础上,重温http协议的通讯过程。
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是万维网的数据通信的基础。
下图是访问百度页面的头部文件的Wireshark数据包截取图,以下几点说明如下:
1. 通过tcp的筛选条件,是由于tcp位于http协议的低层协议,可以完整抓取http的通讯过程。
2. 图中10、12、13号数据包是tcp的3次握手。
3. 从14、15、16、17是一个完整的http通讯过程。
浏览器向网页服务器发出请求,当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。
五种状态码:
1xx:信息提示,表示请求已被成功接收,继续处理。
2xx:请求被成功提交。
3xx:客户端被重定向到其他资源。
4xx:客户端错误状态码,格式错误或者不存在资源。
5xx:描述服务器内部错误。
向服务器发起一个HEAD请求,这个方法在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
4. 图中28、29、33、34数据包是tcp的4次挥手。