赞
踩
「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
使用WireShark工具抓取「HTTP协议」的数据包,分析HTTP协议「执行流程」,分析HTTP请求响应「报文」中各个字段的作用。
1)打开wireshark开启「抓包」,在cmd中执行 curl -I baidu.com
,也就是访问百度,触发HTTP协议。
2)ping baidu.com
拿到百度的IP地址
1)「显示过滤器」输入 ip.addr == 39.156.66.10
,过滤我和百度之间的数据包
HTTP是简单的「请求-响应协议」,「建立TCP链接」后,客户端向服务端发送「请求」,服务端根据请求做出「响应」,然后「关闭TCP链接」。
1)先看前三个包,HTTP是基于TCP的,需要先通过「三次握手」建立连接
2)再看中间三个包,TCP连接建立以后,开始「HTTP的请求和响应」
3)再看最后四个包,请求响应结束后,「TCP四次挥手」断开连接。
HTTP协议请求、响应报文如下图:
1)先来看HTTP请求包,找到HyperText Transfer Protocol这一栏,就是HTTP的报文了
主要看我圈中的地方,上面是请求行,中间是请求头
点开请求行,看里面的三个字段:
再看下面的几个请求头:
2)再看HTTP响应包,找到HyperText Transfer Protocol这一栏,也就是HTTP的报文
注意看我圈中的地方,上面是状态行,下面是响应头。
响应报文跟我们命令执行的返回结果其实是一样的。因为请求方式是 HEAD,只是获取头部信息,所有这里没有响应体,但能明显看到最后多了一行空格,也就是响应空行。
点开状态行,可以看到里面有三个字段:
再看下面的这些响应头:
选中HTTP协议的数据包 - 右键 - 【追踪流】-【HTTP追踪流】可以看到请求跟响应的报文
或者使用快捷键 ctrl + alt + shift + h
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。