深入解析Wireshark1:从捕获到分析,一网打尽数据包之旅

目录

1 认识 Wireshark

1.1 选择网卡界面

1.2 捕获数据包界面

1.3 常用按钮功能介绍

1.4 数据包列表信息

1.5 数据包详细信息

2 数据包案例分析

Frame: 物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4 (IPv4): 互联网层IP包头部信息

User Datagram Protocol (UDP): 传输层的数据段头部信息

Hypertext Transfer Protocol (HTTP): 应用层的信息


1 认识 Wireshark

Wireshark(前称Ethereal)是一个非常流行的网络封包分析软件,其功能十分强大,可以截取各种网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark是开源软件,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。

软件官网: Wireshark · Go Deep

1.1 选择网卡界面

1.2 捕获数据包界面

1.3 常用按钮功能介绍

开始捕获分组:
这个按钮用于开始捕获数据包。一旦点击,Wireshark将开始从选定的接口捕获传入和传出的数据包。


停止捕获分组:
这个按钮用于暂停当前的捕获操作。捕获的数据包将停止添加到捕获窗口中,但之前捕获的数据包仍然可以进行分析。

重新开始当前捕获:

这个按钮用于停止当前捕获会话并立即开始一个新的捕获会话。

捕获选项:

捕获选项按钮允许用户设置抓包时的各种参数。这些参数包括选择用于捕获数据包的网络接口、设置数据包捕获的过滤条件(如只捕获特定IP地址或端口的数据包)、配置捕获文件的保存设置等。

当完成这些设置后,Wireshark会保留这些设置,并在下次启动或进行新的捕获时默认使用它们。

打开已保存的捕获文件:

该按钮允许用户加载并查看之前保存的网络数据包捕获文件。这些文件可能包含TCP、UDP、ICMP等协议的数据包,对于网络分析、故障排除和性能优化等方面非常有用。

Wireshark支持多种文件格式,包括它自身保存的.pcap或.pcapng格式,以及由其他网络分析工具(如tcpdump)使用-w参数保存的文件。

点击此按钮后,用户可以浏览并选择要打开的捕获文件,并在Wireshark中进行分析。

保存捕获文件:

保存捕获文件的功能允许用户将当前捕获或分析的网络数据包结果保存到文件中,以便后续查看、分析或共享。

关闭捕获文件:

关闭捕获文件的功能允许用户停止当前捕获会话(如果正在进行)并关闭当前加载的捕获文件。当文件被关闭后,Wireshark的界面通常会返回到初始状态,即没有打开任何捕获文件的状态。

这个功能在用户完成对数据包的查看和分析后非常有用,因为它可以清理屏幕并释放系统资源。同时,关闭捕获文件也是开始新的捕获会话或加载另一个捕获文件的准备步骤。

重新加载文件:

使用重新加载文件功能,Wireshark会重新读取指定的捕获文件,并在主界面中重新展示该文件中的所有数据包。用户可以再次使用Wireshark的各种过滤、分析工具来查看和处理这些数据包。

查找一个分组:

该按钮用于在捕获的数据包中搜索特定条件的数据包。点击后,输入关键字或条件,如IP地址、端口号等,Wireshark会显示匹配的数据包。

转到前一个分组:

该按钮的作用是使数据包列表窗格中的光标跳转到前一个数据包的位置。这个功能对于在大量数据包中快速定位和查看相邻数据包非常有用。用户无需手动滚动数据包列表或使用其他复杂的导航方式,只需点击“转到前一个分组”按钮,即可快速回到前一个数据包。

转到下一个分组:

该按钮的作用是使数据包列表窗格中的光标跳转到下一个数据包的位置。这个功能对于在捕获的大量数据包中快速浏览和定位特定数据包非常有用。当你正在查看一个数据包,并希望快速查看其后的数据包时,可以点击这个按钮,Wireshark会自动滚动到下一个数据包并显示其详细信息。

转到特定分组:

该按钮的作用是将数据包列表窗格中的光标快速跳转到指定的数据包位置。

当你点击这个按钮时,Wireshark通常会提供一个输入框,允许你输入数据包的序号或其他标识符。输入完毕后,点击“转到分组”,Wireshark就会将光标定位到指定的数据包上,并显示该数据包的详细信息。

转到首个分组:

该按钮的作用是使数据包列表窗格中的光标快速跳转到第一个数据包的位置。

当你在数据包列表中滚动浏览了多个数据包后,如果你想快速回到数据包的起始位置,即第一个捕获的数据包,可以点击这个按钮。Wireshark会立即将光标定位到第一个数据包,并显示其详细信息。

在实时捕获时,自动滚动屏幕到最新的分组:

该按钮的作用是当新的数据包被捕获时,自动将数据包列表窗格滚动到最新的数据包位置。

这个功能特别适用于实时捕获网络流量的场景。当网络上有新的数据包传输时,Wireshark会不断捕获这些数据包并显示在数据包列表窗格中。如果数据包列表窗格中的数据包数量较多,新的数据包可能会出现在列表的底部,用户需要手动滚动才能看到。而开启自动滚动屏幕到最新的分组功能后,每当有新的数据包被捕获,Wireshark都会自动将数据包列表窗格滚动到最新的数据包位置,方便用户实时查看最新的网络流量数据。

使用着色规则绘制分组:

该按钮的主要作用是,根据用户定义的着色规则为数据包列表中的不同分组或数据包设置不同的颜色或背景色。

这种功能可以帮助用户更直观、清晰地观察和分析网络数据包。例如,你可以设置规则将所有来自特定IP地址的数据包标记为黄色背景,或者将所有HTTP协议的数据包标记为蓝色字体。这样,在数据包列表中,你就可以快速识别出符合特定条件的数据包,从而更方便地进行后续的分析和排查。

放大主窗口文本:

该按钮用于调整数据包列表区和数据包详细区的字体大小:字号变大

收缩主窗口文本:

该按钮用于调整数据包列表区和数据包详细区的字体大小:字号变小

使主窗口文字返回正常大小:

该按钮用于调整数据包列表区和数据包详细区的字体大小:正常字号

调整分组列表列以适应内容:

该按钮用于自动调整数据包列表(分组列表)中各列的宽度,以便更好地显示列中的内容。

1.4 数据包列表信息

No.

这列显示了数据包的编号。通常按照数据包被捕获的顺序进行编号,方便用户追踪和识别。

Time

这列显示了数据包被捕获的时间戳。时间戳通常包括日期、时间,甚至可能包括毫秒或微秒级别的精度,以便更准确地分析数据包之间的时间间隔。

Source

这列显示了数据包的源地址。对于IP数据包,这通常是一个IP地址,表示数据包从哪里发送出来。

Destination

这列显示了数据包的目的地址。同样,对于IP数据包,这通常是一个IP地址,表示数据包要发送到的目标位置。

Protocol

这列显示了数据包使用的协议。比如TCP、UDP、ICMP等,这有助于用户了解数据包在网络中是如何传输的,以及应用层使用了哪种协议。

Length

这列显示了数据包的长度。长度可能包括数据包的全部内容(包括头部和数据部分),或者只是数据包的数据部分长度,具体取决于Wireshark的显示设置。

Info

这列通常包含了关于数据包的额外信息,比如TCP或UDP的端口号、HTTP的请求方法等。这些信息有助于用户进一步了解数据包的内容和用途。

1.5 数据包详细信息


2 数据包案例分析

Frame: 物理层的数据帧概况

显示了捕获帧的物理层相关信息,包括帧到达的时间戳、帧长度、捕获长度(实际捕获的字节数)、网络接口信息(如哪个网卡捕获了此帧)等。

Frame 148: 811 bytes on wire (6488 bits), 811 bytes captured (6488 bits) on interface \Device\NPF_{ED2A4B3D-3280-43B2-A708-2837AEAA6158}, id 0Section number: 1Interface id: 0 (\Device\NPF_{ED2A4B3D-3280-43B2-A708-2837AEAA6158})Interface name: \Device\NPF_{ED2A4B3D-3280-43B2-A708-2837AEAA6158}Interface description: WLANEncapsulation type: Ethernet (1)Arrival Time: May 15, 2024 22:55:33.021476000 中国标准时间UTC Arrival Time: May 15, 2024 14:55:33.021476000 UTCEpoch Arrival Time: 1715784933.021476000[Time shift for this packet: 0.000000000 seconds][Time delta from previous captured frame: 0.000353000 seconds][Time delta from previous displayed frame: 0.000000000 seconds][Time since reference or first frame: 5.079050000 seconds]Frame Number: 148Frame Length: 811 bytes (6488 bits)Capture Length: 811 bytes (6488 bits)[Frame is marked: False][Frame is ignored: False][Protocols in frame: eth:ethertype:ip:tcp:http:urlencoded-form][Coloring Rule Name: HTTP][Coloring Rule String: http || tcp.port == 80 || http2]

基本信息

  • Frame 148: 这是数据包在捕获文件中的序号,表示这是第148个被捕获的数据包。
  • 811 bytes on wire (6488 bits): 数据包在传输线上的实际大小是811字节,转换为比特是6488比特。
  • 811 bytes captured (6488 bits) on interface \Device\NPF_{ED2A4B3D-3280-43B2-A708-2837AEAA6158}: 数据包在接口上被捕获的大小也是811字节,与线上传输的大小相同,说明没有数据丢失。接口ID是一个唯一标识符,代表特定的网络接口。

接口信息

  • Interface id: 与前面捕获长度中提到的接口ID相同。
  • Interface name: 具体的网络接口名称,这里是一个NPF(Npcap Packet Filter)驱动创建的虚拟接口。
  • Interface description: 描述了接口的类型,这里是WLAN,即无线局域网。
  • Encapsulation type: 数据包封装类型,这里是Ethernet(以太网)。

时间信息

  • Arrival Time: 数据包到达本地时间的时间戳。
  • UTC Arrival Time: 数据包到达的UTC时间戳。
  • Epoch Arrival Time: 数据包到达的时间戳,以Unix时间戳(从1970年1月1日00:00:00 UTC开始的秒数)形式表示。
  • Time shift for this packet: 时间偏移量,对于此数据包为0,表示没有应用时间偏移。
  • Time delta from previous captured frame: 与前一个捕获的数据包之间的时间差。
  • Time delta from previous displayed frame: 与前一个显示的数据包之间的时间差(如果前一个数据包也被显示的话)。
  • Time since reference or first frame: 从参考帧或第一个帧开始的时间。

数据包详情

  • Frame Number: 数据包的序号。
  • Frame Length: 数据包的总长度。
  • Capture Length: 实际捕获的数据包长度(可能与Frame Length相同,也可能因为捕获设置而较小)。
  • Frame is marked/ignored: 这两个标志表明数据包是否被标记或忽略。在此情况下,它们都被设置为False。
  • Protocols in frame: 数据包中包含的协议层,从底层到上层依次为以太网(eth)、以太网类型(ethertype)、IP、TCP、HTTP和urlencoded-form(可能是HTTP请求中的表单数据编码格式)。
  • Coloring Rule Name/String: 数据包着色的规则名称和规则字符串。这里使用了HTTP相关的着色规则,以便在数据包列表中更容易识别HTTP数据包。

结论

此数据包是一个来自WLAN接口、大小为811字节的以太网数据包,包含了从IP层到HTTP层的信息。从着色规则来看,这是一个与HTTP相关的数据包,可能是一个HTTP请求或响应。要进一步了解数据包的具体内容(如HTTP请求头、请求体等),需要在Wireshark中展开数据包的各个协议层。

Ethernet II: 数据链路层以太网帧头部信息

显示了以太网帧的头部信息,如目的MAC地址、源MAC地址、以太网类型(如IPv4、ARP等)。

Ethernet II, Src: Intel_e5:4a:f2 (58:1c:f8:e5:4a:f2), Dst: ChinaMobileG_86:63:69 (dc:7c:f7:86:63:69)Destination: ChinaMobileG_86:63:69 (dc:7c:f7:86:63:69)Address: ChinaMobileG_86:63:69 (dc:7c:f7:86:63:69).... ..0. .... .... .... .... = LG bit: Globally unique address (factory default).... ...0 .... .... .... .... = IG bit: Individual address (unicast)Source: Intel_e5:4a:f2 (58:1c:f8:e5:4a:f2)Address: Intel_e5:4a:f2 (58:1c:f8:e5:4a:f2).... ..0. .... .... .... .... = LG bit: Globally unique address (factory default).... ...0 .... .... .... .... = IG bit: Individual address (unicast)Type: IPv4 (0x0800)

目标地址(Destination)

  • ChinaMobileG_86:63:69 (dc:7c:f7:86:63:69):这是数据包的目标MAC地址。MAC地址通常用于标识网络中的物理设备。
    • Addressdc:7c:f7:86:63:69 是目标设备的MAC地址。
    • LG bit (Locally/Globally Administered bit): 这个比特设置为0,表示这是一个全局唯一地址(Globally Unique Address),也称为工厂默认地址(factory default)。
    • IG bit (Individual/Group bit): 这个比特也设置为0,表示这是一个单播地址(Individual Address),意味着数据包是发送给单个接收者的。

源地址(Source)

  • Intel_e5:4a:f2 (58:1c:f8:e5:4a:f2):这是数据包的源MAC地址,表示发送数据包的设备的物理地址。
    • Address58:1c:f8:e5:4a:f2 是发送设备的MAC地址。
    • LG bit: 与目标地址相同,这个比特设置为0,表示这是一个全局唯一地址。
    • IG bit: 同样地,这个比特设置为0,表示数据包是单播的。

类型字段(Type)

  • IPv4 (0x0800):这表示在以太网帧的载荷中封装的是IPv4数据包。类型字段用于指示以太网帧载荷中携带的上层协议类型。在这种情况下,它是IPv4协议,其十六进制表示形式为0x0800

结论

  1. 数据包是从一个具有MAC地址58:1c:f8:e5:4a:f2的设备发送到具有MAC地址dc:7c:f7:86:63:69的设备的。
  2. 这两个MAC地址都是全局唯一地址,并且都是单播地址。
  3. 数据包中封装的是IPv4协议的数据。

Internet Protocol Version 4 (IPv4): 互联网层IP包头部信息

显示了IPv4数据包的头部信息,包括版本、头部长度、服务类型(TOS)、总长度、标识、标志、片段偏移量、生存时间(TTL)、协议(如TCP、UDP)、头部校验和、源IP地址、目的IP地址等。

Internet Protocol Version 4, Src: 192.168.1.5, Dst: 36.155.251.700100 .... = Version: 4.... 0101 = Header Length: 20 bytes (5)Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)0000 00.. = Differentiated Services Codepoint: Default (0).... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)Total Length: 797Identification: 0xb0ff (45311)010. .... = Flags: 0x2, Don't fragment0... .... = Reserved bit: Not set.1.. .... = Don't fragment: Set..0. .... = More fragments: Not set...0 0000 0000 0000 = Fragment Offset: 0Time to Live: 64Protocol: TCP (6)Header Checksum: 0x0000 [validation disabled][Header checksum status: Unverified]Source Address: 192.168.1.5Destination Address: 36.155.251.70

这是一个IPv4数据包的头部信息分析。下面是对各个字段的详细解释:

Version (版本):

  • 0100 .... = Version: 4
    • 这表示这是一个IPv4数据包。

Header Length (头部长度):

  • .... 0101 = Header Length: 20 bytes (5)
    • 这表示IPv4头部长度是20字节(因为长度是以4字节为单位的,所以5*4=20字节)。

Differentiated Services Field (区分服务字段):

  • 0000 00.. = Differentiated Services Codepoint: Default (0)
    • 这是DSCP(区分服务编码点)字段,值为0表示默认服务等级。
  • .... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
    • 这是ECN(显式拥塞通知)位,值为0表示此传输不支持ECN。

Total Length (总长度):

  • Total Length: 797
    • 这表示整个IP数据报(包括头部和数据)的长度为797字节。

Identification (标识):

  • Identification: 0xb0ff (45311)
    • 每个IP数据包都有一个唯一的标识符,用于在数据包的碎片重组时识别它们。

Flags (标志):

  • 010. .... = Flags: 0x2, Don't fragment
  • 0... .... = Reserved bit: Not set
    • 这是一个保留位,这里未设置。
  • .1.. .... = Don't fragment: Set
    • 设置了这个位,意味着路由器在转发此数据包时不应该对其进行分片。
  • ..0. .... = More fragments: Not set
    • 这个位未设置,表示这不是一个分片数据包的后续部分。

Fragment Offset (碎片偏移):

  • ...0 0000 0000 0000 = Fragment Offset: 0
    • 这表示数据包中没有碎片,或者它是碎片数据包的第一个片段。

Time to Live (生存时间):

  • Time to Live: 64
    • 这是数据包在网络中允许传输的最大跳数(或时间)。每经过一个路由器,TTL值减1。当TTL值减至0时,数据包将被丢弃。

Protocol (协议):

  • Protocol: TCP (6)
    • 这表示数据包的有效载荷是TCP数据。

Header Checksum (头部校验和):

  • Header Checksum: 0x0000 [validation disabled]
    • 这是IPv4头部的校验和。由于“validation disabled”,这个值可能不准确或未经验证。

Source Address (源地址):

  • Source Address: 192.168.1.5
    • 这是发送数据包的设备的IP地址。

Destination Address (目标地址):

  • Destination Address: 36.155.251.70
    • 这是数据包的目标IP地址。

结论

这个IPv4数据包是一个从192.168.1.536.155.251.70的TCP数据包,不允许分片,总长度为797字节,TTL为64,并且其头部校验和未经验证。

User Datagram Protocol (UDP): 传输层的数据段头部信息

显示了UDP数据段的头部信息,包括源端口号、目的端口号、长度、校验和等。如果数据包使用的是TCP而不是UDP,则这里会显示TCP的头部信息,如序列号、确认号、窗口大小、校验和、选项等。

Transmission Control Protocol, Src Port: 49697, Dst Port: 80, Seq: 1, Ack: 1, Len: 757Source Port: 49697Destination Port: 80[Stream index: 15][Conversation completeness: Complete, WITH_DATA (31)]..0. .... = RST: Absent...1 .... = FIN: Present.... 1... = Data: Present.... .1.. = ACK: Present.... ..1. = SYN-ACK: Present.... ...1 = SYN: Present[Completeness Flags: ·FDASS][TCP Segment Len: 757]Sequence Number: 1    (relative sequence number)Sequence Number (raw): 3579494717[Next Sequence Number: 758    (relative sequence number)]Acknowledgment Number: 1    (relative ack number)Acknowledgment number (raw): 30807372600101 .... = Header Length: 20 bytes (5)Flags: 0x018 (PSH, ACK)000. .... .... = Reserved: Not set...0 .... .... = Accurate ECN: Not set.... 0... .... = Congestion Window Reduced: Not set.... .0.. .... = ECN-Echo: Not set.... ..0. .... = Urgent: Not set.... ...1 .... = Acknowledgment: Set.... .... 1... = Push: Set.... .... .0.. = Reset: Not set.... .... ..0. = Syn: Not set.... .... ...0 = Fin: Not set[TCP Flags: ·······AP···]Window: 514[Calculated window size: 131584][Window size scaling factor: 256]Checksum: 0xe49e [unverified][Checksum Status: Unverified]Urgent Pointer: 0[Timestamps][Time since first frame in this TCP stream: 0.018441000 seconds][Time since previous frame in this TCP stream: 0.000353000 seconds][SEQ/ACK analysis][iRTT: 0.018088000 seconds][Bytes in flight: 757][Bytes sent since last PSH flag: 757]TCP payload (757 bytes)

这是一个TCP数据包的详细分析。以下是对各个字段的解释:

基本信息

  • 源端口 (Source Port): 49697
    • 发送数据包的源端口号。
  • 目标端口 (Destination Port): 80
    • 数据包的目的地端口号,80通常是HTTP服务的默认端口。
  • 流索引 (Stream index): 15
    • 用于标识在多个TCP流中的这个特定流。
  • 会话完整性 (Conversation completeness): Complete, WITH_DATA (31)
    • 表示这是一个完整的TCP会话,并且包含数据。

TCP标志位

  • RST: Absent
    • 重置标志未设置,表示这不是一个重置数据包。
  • FIN: Present (但实际上在Flags字段中是Not set)
    • 终止标志在Flags字段中并未设置,但在分析中提到它是Present,这可能是一个错误或误解。
  • SYN: Present
    • 同步标志设置,这通常用于三次握手建立连接时的第一个数据包。
  • ACK: Present
    • 确认标志设置,表示这是一个确认数据包。
  • SYN-ACK: Present (但实际上在Flags字段中未明确提到)
    • SYN-ACK是SYN和ACK标志同时设置的情况,但在这个数据包的Flags字段中,只明确提到了ACK。
  • PSH: Present
    • 推送标志设置,表示接收方应立即将数据递交给应用程序。

其他字段

  • 序列号 (Sequence Number): 1 (relative) / 3579494717 (raw)
    • 用于标识发送端发送的字节流中的字节位置。
  • 确认号 (Acknowledgment Number): 1 (relative) / 3080737260 (raw)
    • 接收端期望从发送端接收的下一个字节的序列号。
  • 头部长度 (Header Length): 20 bytes
    • TCP头部长度,以4字节为单位,所以是5个4字节单位,即20字节。
  • 窗口大小 (Window): 514 (scaled)
    • 用于流量控制的窗口大小,实际窗口大小可能是514乘以缩放因子(这里是256),即131584字节。
  • 校验和 (Checksum): 0xe49e [unverified]
    • 用于验证数据完整性的校验和值。
  • 紧急指针 (Urgent Pointer): 0
    • 用于标识TCP数据流中的紧急数据的位置。

时间戳

  • 时间戳提供了自TCP流中第一个帧和上一个帧以来的时间信息,这有助于性能分析和网络诊断。

负载数据

  • TCP payload: 757 bytes
    • TCP数据包中实际传输的数据大小。

注意事项

  • 在Flags字段中,SYN和FIN标志的描述与分析中提到的有出入。Flags字段明确指出了ACK和PSH标志被设置,但没有提到SYN或FIN。
  • SYN-ACK通常指的是SYN和ACK标志同时设置的情况,但在Flags字段中并未直接提到。
  • TCP负载大小为757字节,这通常包含应用程序的数据。

Hypertext Transfer Protocol (HTTP): 应用层的信息

这是应用层协议的一个例子。HTTP信息显示了HTTP请求或响应的详细内容,包括请求行(方法、URL、HTTP版本)、请求头部、请求体(如果有的话)等。对于其他应用层协议(如FTP、SMTP、DNS等),这里将显示相应协议的详细信息。

Hypertext Transfer ProtocolPOST /imewis/msugg?ifc=4&em=4 HTTP/1.1\r\n[Expert Info (Chat/Sequence): POST /imewis/msugg?ifc=4&em=4 HTTP/1.1\r\n][POST /imewis/msugg?ifc=4&em=4 HTTP/1.1\r\n][Severity level: Chat][Group: Sequence]Request Method: POSTRequest URI: /imewis/msugg?ifc=4&em=4Request URI Path: /imewis/msuggRequest URI Query: ifc=4&em=4Request URI Query Parameter: ifc=4Request URI Query Parameter: em=4Request Version: HTTP/1.1Host: sor.html5.qq.com\r\nUser-Agent: SogouPSI\r\nAccept: */*\r\nAccept-Encoding: gzip,deflate\r\nContent-Length: 555\r\n[Content length: 555]Content-Type: application/x-www-form-urlencoded\r\n\r\n[Full request URI: http://sor.html5.qq.com/imewis/msugg?ifc=4&em=4][HTTP request 1/1][Response in frame: 204]File Data: 555 bytes

这是一个HTTP POST请求的详细分析。以下是各个部分的解释:

请求行 (Request Line):

  • 方法 (Method): POST
    • 表示这是一个向指定资源提交数据进行处理的请求。
  • 请求URI (Request URI): /imewis/msugg?ifc=4&em=4
    • 请求的资源路径和查询参数。
    • 路径: /imewis/msugg
    • 查询参数:
      • ifc=4
      • em=4
  • 版本 (Version): HTTP/1.1
    • 使用的HTTP协议版本。

头部字段 (Header Fields):

  • Hostsor.html5.qq.com
    • 请求的服务器域名。
  • User-AgentSogouPSI
    • 客户端的标识,这里表明可能是搜狗的某个应用或工具。
  • Accept*/*
    • 客户端能够处理的内容类型,这里是任何类型。
  • Accept-Encodinggzip,deflate
    • 客户端支持的编码方式,这里支持gzip和deflate压缩。
  • Content-Length555
    • 请求体的长度,以字节为单位。
  • Content-Typeapplication/x-www-form-urlencoded
    • 请求体的媒体类型,这里是URL编码的表单数据。

空行 (Empty Line):

  • \r\n
    • 表示请求头部结束,之后是请求体(如果有的话)。

请求体 (Request Body):

  • 大小: 555 bytes
    • 由于这里只是给出了大小,并没有具体的内容,所以我们不知道请求体实际包含了什么数据。但从Content-Type可以推测,这是一个URL编码的表单数据。

附加信息:

  • [Full request URI: http://sor.html5.qq.com/imewis/msugg?ifc=4&em=4]
    • 完整的请求URI,包括协议和域名。
  • [HTTP request 1/1]
    • 表示这是第1个也是唯一一个HTTP请求。
  • [Response in frame: 204]
    • 表示响应数据在帧204中。HTTP状态码204表示服务器成功处理了请求,但不需要返回任何内容。

结论

这是一个使用HTTP/1.1协议的POST请求,向sor.html5.qq.com服务器的/imewis/msugg路径提交了一些数据(具体数据在请求体中,大小为555字节),并带有一些查询参数。服务器对请求的处理结果是一个没有内容体的响应(HTTP状态码204)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/13230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git系列:git restore 高效恢复代码的技巧与实践

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

AndroidStudio集成高德地图后出现黑屏并报错

报错内容为:No implementation found for void com.autonavi.base.ae.gmap.GLMapEngine.nativeMainThreadTrigger(int, long) (tried Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeMainThreadTrigger and Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeM…

爱吃香蕉的珂珂

题目链接 爱吃香蕉的珂珂 题目描述 注意点 piles.length < h < 10^9如果某堆香蕉少于k根&#xff0c;将吃掉这堆的所有香蕉&#xff0c;然后这一小时内不会再吃更多的香蕉返回可以在 h 小时内吃掉所有香蕉的最小速度 k&#xff08;k 为整数&#xff09; 解答思路 二…

数据分析实例——搭建电商的指标体系||对应功能开发需要接入的电商API接口说明

前言&#xff1a; 在日常工作中&#xff0c;数据分析中常常涉及搭建指标体系&#xff0c;搭建电商需要接入的电商API接口本文主要以电商为案例&#xff0c;来讲讲如何搭建指标体系。 指标体系的定义&#xff1a; 指标体系是由一系列指标组成的&#xff0c;这些指标是基于不同的…

React 第三十六章 Scheduler 任务调度

Scheduler 用于在 React 应用中进行任务调度。它可以帮助开发人员在处理复杂的任务和操作时更好地管理和优化性能。 关于 Scheduler 在React 如何渲染的可以参考 React 第三十四章 React 渲染流程 下面我们根据流程图先简单的了解 Scheduler 的调度过程 Scheduler 维护两个队…

C++入门系列-赋值运算符重载

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 赋值运算符重载 运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c;也具有其返回值类型&#xff0c;函数名字以及参…

【GESP试卷】2024年03月Scratch三级试卷

2024年GESP03月认证Scratch三级试卷 分数&#xff1a;100 题数&#xff1a;27 一、单选题(共15题&#xff0c;每题2分&#xff0c;共30分) 010203040506070809101112131415CBACADDADCBCBAB 1、小杨的父母最近刚刚给他买了一块华为手表&#xff0c;他说手表上跑的是鸿蒙&…

24长三角A题思路+分析选题

需要资料的宝子们可以进企鹅获取 A题 问题1&#xff1a;西湖游船上掉落华为 mate 60 pro 手机 1. 手机掉落范围分析 物品特征&#xff1a;华为 mate 60 pro 手机的尺寸、重量、形状等特性。静水假设&#xff1a;西湖水面平静&#xff0c;不考虑水流影响。掉落位置&#xff…

安卓Fragment基础

目录 前言一、基础使用二、动态添加Fragment三、Fragment的生命周期四、Fragment之间进行通信五、Fragment兼容手机和平板示例 前言 Fragment基础使用笔记 一、基础使用 Activity布局和文件 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/andro…

OpenAI 发布 GPT-4o,再次巩固行业地位!

5 月 14 日凌晨 1 点&#xff08;太平洋时间上午 10 点&#xff09;&#xff0c;OpenAI 发布了其最新的 GPT-4o&#xff0c;再次巩固了其在人工智能领域的领导地位。这次发布不仅仅是一个产品的推出&#xff0c;更是向世界宣告 AI 技术已迈入一个全新的纪元。OpenAI 的 CEO 萨姆…

品牌窜货治理管控的方法

窜货问题确实是一个需要品牌方高度关注和有效治理的难题。这种现象通常源于品牌区域销售政策的差异&#xff0c;经销商为了获取更多的利润&#xff0c;往往会利用这些差异进行跨区域的低价销售。这不仅损害了大多数经销商的利益&#xff0c;也破坏了市场的稳定和品牌价值。 品牌…

深入理解 Spring 循环依赖之三级缓存(附源码分析)

前言&#xff1a; 学过 Spring 的都知道 Spring 利用三级缓存解决了循环依赖问题&#xff0c;那你知道什么是循环依赖&#xff1f;什么又是三级缓存&#xff1f;本篇将从源码层面分析 Spring 是怎么去利用三级缓存帮我们解决循环依赖问题。 深入理解 Spring IOC 底层实现机制…

C++ | Leetcode C++题解之第89题格雷编码

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> grayCode(int n) {vector<int> ret(1 << n);for (int i 0; i < ret.size(); i) {ret[i] (i >> 1) ^ i;}return ret;} };

数据结构--红黑树(RBTree)

一、红黑树概念 1.1 什么是红黑树 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长…

自学VBA 设置单元格文字格式 笔记

一.设定对应单元格对应需要显示的格式 Cells(1, 1).Font.Size 18 字体大小 Cells(1, 2).Font.Color RGB(255, 0, 0) 字体颜色 Cells(1, 3).Font.Name "黑体" 字体类型 Cells(1, 4).Font.Italic True 字体斜体 Cells(1, 5).Font.FontStyle "BOLD"…

ubuntu下gcc编译器的安装

.gcc编译器的安装 一般linux下是覆盖含有的&#xff0c;如果没有执行更新命令 sudo apt update gcc安装成功&#xff0c;可以检查一下版本 可以看出我的gcc是9.4.0版本的

SpringBoot环境隔离Profiles

前言 通常我们开发不可能只有一个生产环境&#xff0c;还会有其它的开发&#xff0c;测试&#xff0c;预发布环境等等。为了更好的管理每个环境的配置项&#xff0c;springboot也提供了对应的环境隔离的方法。 直接上干货 知识点 激活环境方法 1&#xff0c;在application…

专用设备制造业供应商收发文件,有什么专业而轻便的方式吗?

专用设备制造业的特点包括&#xff1a;门类广、跨度大、科技含量高。它主要生产的是国民经济各部门&#xff08;包括采掘、化工、冶炼、能源、医疗卫生、环保等&#xff09;所急需的重大成套设备&#xff0c;例如矿产资源井采及露天开采设备、大型火电、水电、核电成套设备、石…

通过内网穿透免费部署我们的springboot+vue项目 实现跟服务器一样的效果

前文讲到通过内网穿透能够实现远程访问个人电脑的静态资源。本文将讲解通过内网穿透实现远程访问本地的项目&#xff0c;实现跟部署到服务器一样的效果&#xff1a;前文链接&#xff1a;通过内网穿透实现远程访问个人电脑资源详细过程&#xff08;免费&#xff09;&#xff08;…

深度学习之卷积神经网络理论基础

深度学习之卷积神经网络理论基础 卷积层的操作&#xff08;Convolutional layer&#xff09; 在提出卷积层的概念之前首先引入图像识别的特点 图像识别的特点 特征具有局部性&#xff1a;老虎重要特征“王字”仅出现在头部区域特征可能出现在任何位置下采样图像&#xff0c…