使用Wireshark抓包httpp请求

目录

简介

工作原理

消息结构

请求方法

状态码

实验

参考


简介

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件

都必须遵守这个标准。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

工作原理

HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。

Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必

须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

消息结构

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据

四个部分组成。

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

请求方法

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效

post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。

状态码

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

实验

使用Wireshark抓包Http请求。

使用Wireshark抓包httpp请求

首先客户端发出GET请求,消息头中:

Accept:告诉浏览器,它所支持的数据类型

Accept-Encoding:支持哪种编码格式  GBK   UTF-8   GB2312  ISO8859-1

Accept-Language:告诉浏览器,它的语言环境

Connection:告诉浏览器,请求完成是断开还是保持连接

HOST:主机..../.

使用Wireshark抓包httpp请求

接着,服务端响应。用Cookie来保存请求的信息。因为这个网站就是用html写的静态网站,所以data就是一个text/html。

使用Wireshark抓包httpp请求

如果继续追踪http流,可以发现这是一个完成的TCP通信过程,包含握手和挥手,其中TCP segment of a reassembled PDU代表http的一次响应报文被TCP分组发送。

使用Wireshark抓包httpp请求

参考

https://www.runoob.com/http/http-tutorial.html

https://blog.csdn.net/wz_cow/article/details/81159342