精华内容
下载资源
问答
  • HTTP报文抓包分析

    千次阅读 2019-06-03 23:15:21
    HTTP请求报文包分析 ...对HTTP报文进行分析: GET /success.txt HTTP/1.1 HTTP请求行,请求方式GET / 请求路径 success.txt / HTTP协议版本:HTTP/1.1。 Host: detectportal. firefox. com 首部行的开...

    HTTP报文抓包分析

    一、抓包结果
    使用wireshark在使用浏览网页时进行抓包,其中HTTP报文如下:
    在这里插入图片描述二、具体分析
    对HTTP报文进行分析:

    GET /success.txt HTTP/1.1
    

    HTTP请求行,请求方式GET / 请求路径 success.txt / HTTP协议版本:HTTP/1.1。

    Host: detectportal. firefox. com
    

    首部行的开始,给出主机的地址。

    User- Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/ 20100101 Firefox/67.0
    

    表明用户代理是使用火狐浏览器Firefox。

    Accept: */*
    

    表示客户端支持的类型,并指定了希望得到类型的优先级,若没有,则依次表达意愿。

    Accept-Language: zh-CN, zh;q=0.8, zh-TW; q=0.7, zh-HK ;q=0.5, en-US;q=0.3, en;q=0.2
    

    表示用户希望优先得到的语言版本文档。

    Accept- Encoding: gzip, deflate
    

    表示允许的编码类型。

    Cache-Control: no- cache
    

    指定什么样的数据可以高速缓存。“no- cache”说明数据不应该高速缓存。

    Pragma: no-cache
    

    表示编译注释。

    Connection: keep-alive
    

    告诉服务器发送完请求的文档后继续保持连接。

    HTTP/1.1 200 OK
    

    响应行,包含 协议版本 、状态码 、状态码描述,200 表示成功。

    Content-Type: text/plain
    

    互联网媒体类型,也叫做MIME类型,用于区分数据类型。

    Content-Length: 8
    

    用于描述HTTP消息实体的传输长度。

    Last-Modified: Mon, 15 May 2017 18:04:40 GMT
    

    记录页面的最后修改时间。

    ETag: "ae780585f49b94ce1444eb7d28906123"
    

    ETag是一个可以与Web资源关联的记号,为“被请求变量的实体值”。

    Accept- Ranges: bytes
    

    表示该服务器可以接受范围请求。

    Server: AmatonS3
    

    表示服务器为“AmatonS3”。

    X-Amz-Cf-Id  iMjet - 5hLAEAf8H0rLIHJiErXmyvtHWnojXIZcST0ctG4mkD7VeN7A==
    

    博主暂时未知。

    Cache-Control: no-cache, no- store, must- revalidate
    

    指定什么样的数据可以高速缓存。“no- cache”代表不缓存过期的资源,“no-store”才是真正的不进行缓存。使用no-cache的目的是为了防止从缓存中获取过期的资源。

    Date: Thu, 30 May 2019 13:19:50 GMT
    

    表示日期格式参数,为格林尼治平时。

    Connection: keep-alive
    

    告诉服务器发送完请求的文档后继续保持连接。
    ······
    (博主能力有限,欢迎批评指正)

    展开全文
  • wireshark包分析http报文

    千次阅读 2018-06-18 16:58:52
    接着分析http报文此时前面四条和三次握手报文相差不大,应该可以看懂,我们这里主要研究hypertext transfer protocal 其中它由以下几个部分组成请求行+请求头+空白行+body(请求体)请求体如下实际上request格式如下...

    接着分析http报文


    此时前面四条和三次握手报文相差不大,应该可以看懂,我们这里主要研究hypertext transfer protocal

     其中它由以下几个部分组成

    请求行+请求头+空白行+body(请求体)

    请求体如下


    实际上request格式如下

    那么响应报文是怎样的呢


    其格式为


    这里我们看一下body信息


    这里http从请求到返回耗时0.41339100s,request in frame:204表示此请求报文frame:204,下一个请求在frame:208,下一个响应在frame:209

    以上就分析了http报文格式,我们在继续看


    这里是在建立三次握手之后传输数据的数据报文,就是一方发送http报文,对方收到之后,先给出ack应答报文,之后再发送响应报文,对方收到应答报文,在会送一个响应报文。这是第一次双方收发数据,之后就是下面断开连接,或者长时间没有发送报文,必须经历三次握手,但奇怪的是服务器在给出应答报文之前没有发送ack,之后都没有,只有第一次,这种情况好像最原始情况才出现,并不是说断开连接之后在连接,第一次就会出现上述情况,所以这种情况的出现,两个报文在一起了,有知道的麻烦告知一下,可能是tcp/ip协议栈在设计时出于安全和效率考虑,某种情况下第一次连接需要服务器在发送应答报文前发送ack,之后如果某一条件没有变化,那么服务器就不需要发送ack,节约时间,而客户端必须发送ack确认服务器的响应报文已经收到。



    展开全文
  • HTTP报文

    热门讨论 2016-09-12 10:50:22
    HTTP报文

    HTTP报文是在HTTP应用程序之间发送的数据块。
    HTTP报文是简单的格式化数据块。分为请求报文和响应报文。每条报文都包含一条来自客户端的请求,或者一条来自服务器的响应。它们由三个部分组成:对报文进行描述的起始行、包含属性的首部块,以及可选的、包含数据的主体。
    这里写图片描述
    可以用抓包工具来查看报文。

    请求报文

    这里写图片描述
    SP代表空格,CRLF代表回车换行
    这里写图片描述

    <method> <request-URL> <version>
    <headers>
    
    <entity-body>

    方法(method)

    客户端希望服务器对资源执行的动作。是一个单独的词,比如GET、HEAD或POST。
    这里写图片描述

    请求URL(request-URL)

    命名了所请求的资源

    版本(version)

    报文所使用的HTTP版本

    HTTP/<major>.<minor>

    其中主要版本号和次要版本号都是整数。

    响应报文

    这里写图片描述
    这里写图片描述

    <version> <status> <reason-phrase>
    <headers>
    
    <entity-body>

    状态码(status-code)

    这三位数字描述了请求过程中所发生的情况。每个状态码的第一位数字都用于描述状态的一般类别(“成功”、“出错”等)
    浏览器向服务器发出请求,服务器处理可能是成功、可能是失败、可能没有权限访问等原因,服务器会通过响应码来告诉浏览器处理结果。
    “200” : OK
    “302” : Found 重定向.
    “400” : Bad Request 错误请求,发出错误的不符合Http协议的请求
    “403” : Forbidden 禁止
    “404” : Not Found 未找到。演示访问一个不存在的页面看报文
    “500” : Internal Server Error 服务器内部错误。演示页面抛出异常。
    “503” : Service Unavailable。一般是访问人数过多。
    200段是成功;300段需要对请求做进一步的处理;400段表示客户端请求错误;500段是服务器的错误。

    原因短语(reason-phrase)

    数字状态的可读版本。原因短语只对人类有意义,比如说,尽管响应行HTTP/1.0 200 NOT OK和HTTP/1.0 200 OK中原因短语的含义不同,但同样都会被当成成功指示处理。

    首部

    首部和方法配合工作,共同决定了客户端和服务器能做什么事情。
    一些常见的首部
    Accept:客户端用这个首部来告诉服务器可以接受那些媒体类型。
    Accept-Encoding:
    客户端用这个首部来告诉服务器可以接受哪些编码方式。
    Accept-Language:客户端用这个首部来告诉服务器可接受或优选哪些语言。
    Connection:值为close的时候,代表响应结束之后连接会被关闭。值为keep-alive的时候,代表连接在发送后仍然保持打开状态。
    Content-Encoding:可以告诉客户端,服务器对对象执行过哪些类型的编码。有了这个信息,客户端就可以对报文进行解码了。
    Content-Length:说明实体主体部分的长度或尺寸。
    Content-Type:说明了报文中对象的媒体类型。
    Cookie:用于客户端识别和跟踪的扩展首部。
    Date:给出了报文创建的日期和时间。
    Expires:给出了响应失效的日期和时间。
    Host:提供客户端想要访问的那台机器的因特网主机名和端口号。
    Referer:在客户端请求中插入这个首部,可以使服务器知道客户端是从哪里获得其请求的URL。
    Server:它为服务器提供了一种向客户端标识自己的方式。它的值就是服务器名字和一个可选的服务器注释。
    User-Agent:用来标识客户端,它的值就是应用程序的名称。

    展开全文
  • BurpSuitHTTP响应报文

    千次阅读 2019-10-08 20:33:44
    HTTP响应报文 响应报文HTTP响应报文由 状态行、响应头、空行和响应内容4个部分构成。 状态行 由HTTP协议版本、状态码、状态码描述 三部分构成,它们之间由空格隔开 状态码由3位数字组成,第一位标识响应的类型,常用...
    HTTP响应报文
    • 响应报文HTTP响应报文由
    • 状态行、响应头、空行和响应内容4个部分构成。
    • 在这里插入图片描述

      状态行

    • 由HTTP协议版本、状态码、状态码描述 三部分构成,它们之间由空格隔开
    • 状态码由3位数字组成,第一位标识响应的类型,常用的5大类状态码如下:
      1xx:表示服务器已接收了客户端的请求,客户端可以继续发送请求
      2xx:表示服务器已成功接收到请求并进行处理
      3xx:表示服务器要求客户端重定向
      4xx:表示客户端的请求有非法内容
      5xx:标识服务器未能正常处理客户端的请求而出现意外错误
      

      在这里插入图片描述

      响应头
      Server:服务器指纹
      Set-Cookie:向浏览器端设置Cookie
      Last-Modified:服务器通过这个头信息告诉浏览器,资源的最后修改时间
      Content-Length:正文的长度
      Refresh	:服务器通过Refresh头告诉浏览器定时刷新浏览器
      Location:服务器返回给客户端,用于重定向到新的位置
      Server: 包含服务器用来处理请求的软件信息及版本信息
      Vary:标识不可缓存的请求头列表
      Connection: 连接方式。
      对于请求端来讲:
             close是告诉服务端,断开连接,不用等待后续的求请了。
             keeplive则是告诉服务端,在完成本次请求的响应后,保持
                                  连接,等待本次连接后的后续请求。
      对于响应端来讲:
            close表示连接已经关闭。
            keeplive则表示连接保持中,可以继续处理后续请求。
            Keep-Alive表示如果请求端保持连接,则该请求头部信息表明期望服务端保持连接多长时间(秒),
             例如300秒,应该这样写Keep-Alive: 300
      

      在这里插入图片描述

      响应内容
    • 服务端返回给请求端的文本信息。
    • 在这里插入图片描述

    展开全文
  • jmeter 包 ~app报文

    2018-10-24 18:46:28
    背景介绍: 抓包是为了分析接口交互的实现细节...抓包命令:ngrep 抓http包, 比tcpdump要好一些 怎么把抓包的报文无缝转成jmeter格式的文件:badboy录制脚本。还有一种办法就是jmeter可以设置代理,抓包(可以抓h...
  • BurpSuitHTTP请求报文

    千次阅读 2019-10-08 19:46:58
    HTTP请求报文格式 HTTP 请求:    请求行、请求头、请求正文三个部分组成。 请求行 方法,资源路径,协议/版本 方法:GET 资源路径:/cms 协议/版本:HTTP/1.1 请求头    从请求...
  • TCP报文诊断 HTTP Content-Length 问题 本文分享一个 HTTP Content-Length 有误时场的景,以 tcpdump 包来做真实演示,同时结合TCP状态进行分析。 关于 Content-Length 的场景,比如提供文件下载的服务,需要...
  • HTTP报文格式及WireShark包分析

    千次阅读 2019-01-19 16:40:22
    HTTP请求报文格式 在这个请求格式之中空行是必不可少的一行。空行之后是请求实体。一个具体的HTTP请求报文格式如下: GET /su?wd=www.&amp;action=opensearch&amp;ie=UTF-8 HTTP/1.1 Host: suggestion...
  • http报文

    2019-03-13 16:14:10
    HTTP连接中报文分为请求(request)和响应(response)两种。每种报文HTTP首部都有不同的字段来标识不同的用途...请求报文的格式如下图包所示: 前三行为请求行,其余部分称为request-header。请求行中的meth...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,812
精华内容 7,524
关键字:

抓http报文