zoukankan      html  css  js  c++  java
  • Wireshark抓包详解数据包、着色规则和提示

     

     

    一、数据包详细信息

    Packet Details面板内容如下,主要用于分析封包的详细信息。

    帧:物理层、链路层

    包:网络层

    段:传输层、应用层

    1)Frame

    物理层数据帧概况

    2)Ethernet II

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

    3)Internet Protocol Version 4

    互联网层IP包头部信息

    IP包头:

    4)Transmission Control Protocol

    传输层数据段头部信息,此处是TCP协议

    TCP包头:

    5)Hypertext Transfer Protocol

    应用层信息,此处是HTTP协议

    二、着色规则

    Wireshark默认有一组着色规则,可以在Packet Details面板中展开包的帧部分,查看着色规则。

    在View | Coloring Rules中,打开着色规则窗口,可以自己创建、删除、选中、去除。

    三、Wireshark提示

    1)Packet size limited during capture

    说明被标记的那个包没有抓全。一般是由抓包方式引起,有些操作系统中默认只抓每个帧的前96个字节。

    4号包全长171字节,但只有96字节被抓到。

    2)TCP Previous segment not captured

    如果Wireshark发现后一个包的Seq大于Seq+Len,就知道中间缺失了一段。

    如果缺失的那段在整个网络包中找不到(排除了乱序),就会提示。

    6号包的Seq是1449大于5号包的Seq+Len=1+1=1,说明中间有个1448字节的包没被抓到,就是“Seq=1,Len=1448”。

    3)TCP ACKed unseen segment

    当Wireshark发现被Ack的那个包没被抓到,就会提示。

    32号包的Seq+Len=6889+1448=8337,说明下一个包Seq=8337。

    而我们看到的是35号包的Seq=11233,意味着8337~11232这段数据没抓到。

    4)TCP Out-of-Order

    当Wireshark发现后一个包的Seq号小于前一个包的Seq+Len时,就会认为乱序,发出提示。

    3362号包的Seq小于3360包的Seq,所以就是乱序。

    5)TCP Dup ACK

    当乱序或丢包发生时,接收方会收到一些Seq号比期望值大的包。没收到一个这种包就会Ack一次期望的Seq值,提现发送方。

    7号包期望的下一个Seq=30763,但8号包Seq=32223,说明Seq=30763包丢失,9号包发了Ack=30763,表示“我要的是Seq=30763”。

    10号、12号、14号也都是大于30763的,因此没收到一个就回复一次Ack。

    6)TCP Fast Retransmission

    当发送方收到3个或以上的【TCP Dup ACK】,就意识到之前发的包可能丢了,于是快速重传它。

    7)TCP Retransmission

    如果一个包真的丢了,又没有后续包可以在接收方触发【Dup Ack】就不会快速重传。

    这种情况下发送方只好等到超时了再重传。

    1053号包发出后,一直没有等到相应的Ack,只能在100多毫秒之后重传了。

    8)TCP zerowindow

    包种的“win”代表接收窗口的大小,当Wireshark在一个包中发现“win=0”时,就会发提示。

    9)TCP window Full

    此提示表示这个包的发送方已经把对方所声明的接收窗口耗尽了。

    当Wireshark计算出Middle East已经有65535字节未被确认,就会发出此提示。

    【TCP window Full】表示发送方暂时没办法再发送数据

    【TCP zerowindow】表示发送方暂时没办法再接收数据

    10)TCP segment of a reassembled PDU

    Wireshark可以把属于同一个应用层的PDU的TCP包虚拟地集中起来。

    TCP层收到上层大块报文后分解成段后发出去,主机响应一个查询或者命令时如果要回应很多数据(信息)而这些数据超出了TCP的最大MSS时,

    主机会通过发送多个数据包来传送这些数据(注意:这些包并未被分片)。

    11)Time-to-live exceeded(Fragment reassembly time exceeded)

    表示这个包的发送方之前收到了一些分片,但由于某些原因迟迟无法组装起来。

  • 相关阅读:
    [DB] 数据库的连接
    JS leetcode 翻转字符串里的单词 题解分析
    JS leetcode 拥有最多糖果的孩子 题解分析,六一快乐。
    JS leetcode 搜索插入位置 题解分析
    JS leetcode 杨辉三角Ⅱ 题解分析
    JS leetcode 寻找数组的中心索引 题解分析
    JS leetcode 移除元素 题解分析
    JS leetcode 最大连续1的个数 题解分析
    JS leetcode 两数之和 II
    JS leetcode 反转字符串 题解分析
  • 原文地址:https://www.cnblogs.com/xiaoyuxixi/p/15483659.html
Copyright © 2011-2022 走看看