wireshark分析http传输【TCP三次握、四次挥手】

TCP协议中的三次握手和四次挥手过程

wireshark分析http传输【TCP三次握、四次挥手】

wireshark抓包http

前期准备

  1. wireshark软件、chrome浏览器
  2. 测试网址:http://www.runoob.com/redis/redis-install.html
  3. ping www.runoob.com
    拿到该网址的ip:183.61.180.206
    wireshark分析http传输【TCP三次握、四次挥手】

启动wireshark软件,输入拦截ip

ip.addr == 183.61.180.206

wireshark分析http传输【TCP三次握、四次挥手】

打开chrome浏览器

清理浏览器缓存

清理缓存,重要,防止浏览器缓存某些资源,防止多次实验结果不唯一
wireshark分析http传输【TCP三次握、四次挥手】

输入地址http://www.runoob.com/redis/redis-install.html

wireshark分析http传输【TCP三次握、四次挥手】

点击关闭,停止抓包,准备完成,开始分析

wireshark分析http传输【TCP三次握、四次挥手】

单个请求分析报文

某一个url请求包括多个资源的请求

一个网页请求会包含多个资源,如下图所示,其中6466表示请求某一个服务器资源本地的端口
wireshark分析http传输【TCP三次握、四次挥手】

一个网页请求会包含多个资源
wireshark分析http传输【TCP三次握、四次挥手】

分析端口6466的请求

在过滤窗口输入端口拦截

ip.addr == 183.61.180.206 and (tcp.dstport == 6466 or tcp.srcport == 6466)

可以看到一个资源请求的完整过程
wireshark分析http传输【TCP三次握、四次挥手】

端口6466的请求的三次握手

wireshark分析http传输【TCP三次握、四次挥手】

具体分析

客户端第一次请求建立连接,SYN,seq=572cdc3f
wireshark分析http传输【TCP三次握、四次挥手】

服务端第一次同意建立连接,SYN、ACK,ack=572cdc40
wireshark分析http传输【TCP三次握、四次挥手】
三次握手,建立连接
ps:如果你要看第三次的ack值,一定要和服务端的seq对应起来,需要看实际值,这里的0,1都是相对值
wireshark分析http传输【TCP三次握、四次挥手】

端口6466的请求的数据传输

数据传入不是重点,这里忽略

wireshark分析http传输【TCP三次握、四次挥手】

端口6466的请求的四次挥手,双工FIN标志

wireshark分析http传输【TCP三次握、四次挥手】

具体分析同三次握手一致
wireshark分析http传输【TCP三次握、四次挥手】

整体请求分析报文

可以理解成把上面端口6466的单个请求连成一个整体

具体选中某一个请求,右键-追踪流-tcp流

wireshark分析http传输【TCP三次握、四次挥手】
我们可以看出这是一个css的请求
wireshark分析http传输【TCP三次握、四次挥手】

request请求头

GET /wp-content/themes/runoob/style.css?v=1.147 HTTP/1.1
Host: www.runoob.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Accept: text/css,*/*;q=0.1
Referer: http://www.runoob.com/redis/redis-install.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

response响应头

HTTP/1.1 200 OK
Server: Tengine
Content-Type: text/css
Content-Length: 14394
Connection: keep-alive
Date: Fri, 04 Jan 2019 10:07:18 GMT
Last-Modified: Tue, 10 Jul 2018 05:31:23 GMT
ETag: "5b4444ab-11516"
Expires: Sun, 03 Feb 2019 10:07:18 GMT
Cache-Control: max-age=2592000
Vary: Accept-Encoding
Via: cache22.l2et15-2[0,304-0,H], cache31.l2et15-2[0,0], kunlun10.cn116[0,200-0,H], kunlun6.cn116[1,0]
Content-Encoding: gzip
Ali-Swift-Global-Savetime: 1545127586
Age: 69167
X-Cache: HIT TCP_MEM_HIT dirn:0:94388798
X-Swift-SaveTime: Fri, 04 Jan 2019 10:10:25 GMT
X-Swift-CacheTime: 86400
Timing-Allow-Origin: *
EagleId: b73db49a15466656053655399e

返回到主界面,我们发现过滤自动变了,所有一开始我们可以选择某一个请求,也不用输入过滤命令

和这个命令等价

ip.addr == 183.61.180.206 and (tcp.dstport == 6466 or tcp.srcport == 6466)

wireshark分析http传输【TCP三次握、四次挥手】

请求分析报文完成图生成

具体操作如图
wireshark分析http传输【TCP三次握、四次挥手】

基本设置
wireshark分析http传输【TCP三次握、四次挥手】

图像分析完整请求
wireshark分析http传输【TCP三次握、四次挥手】