WireShark学习之抓取和分析HTTP数据包

1. 设置过滤条件
- 指定网络协议http
WireShark学习之抓取和分析HTTP数据包

2. 打开Chrome浏览器输入网址
- 在浏览器输入https://sspai.com/post/30292
WireShark学习之抓取和分析HTTP数据包
3. 在抓获得包中得到两个数据包,分别是HTTP请求以及HTTP响应
WireShark学习之抓取和分析HTTP数据包
4. 双击打开 GET /30292 HTTP/1.1
WireShark学习之抓取和分析HTTP数据包
5. 对Http协议包进行分析
- HTTP请求消息头
1〉Accept:call服务器,可以接收文件、网页和图片。
2〉Accept-Charset:所接收的字符编码。
3〉Accept-Encoding:可接收()压缩后的数据。
4〉Accept-Language:Browser支持中、英文。
5〉Host:要找的主机是。
6〉If-Modified-Since:告诉服务器我们的缓冲中有这个资源文件,该文件的时间是,,
7〉Referer:告诉服务器,我来自哪里。
8〉User-Agent:告诉服务器,Browser内核。
9〉Cookie:
10〉Connection:保持连续发完信息后,我不关闭连接。
11〉Date:Browser发送时间。
WireShark学习之抓取和分析HTTP数据包
6. 查看Tcp流-Follow TCP Stream
WireShark学习之抓取和分析HTTP数据包

WireShark学习之抓取和分析HTTP数据包
7. 分析三次握手
- 三次握手的原理
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
下图转自百度百科:
WireShark学习之抓取和分析HTTP数据包

  • Wireshark中三次握手的具体情形
    WireShark学习之抓取和分析HTTP数据包

8. 总结
- 这些操作分为两步,第一步设置合理的过滤条件,第二步在任意数据包中选择Follow TCP Stream。