• Packet size limited during capture
    说明被标记的那个包没有抓全,一般是由抓包方式引起。
    tcpdump -i eth0 -s 1000 -w /tmp/tmp.cap 抓1000字节的包
  • TCP Previous segment not captured
    同一台主机发出的数据段应该是连续的,即后一个包的Seq号等于前一个包的Seq+Len。假如缺失的那段数据在整个网络包中都找不到(即排除了乱序),就会提示 TCP Previous segment not captured
    一种情况是真的发生了丢包
    一种情况是抓包工具漏抓
    如何区分?看 ACK ,如果 ack 了没有抓到的包,就是漏抓,否则就是真的丢包。
    例如,由中间设备 MTU 比较小,会导致小包可以发送,但是大包发生丢包的问题。
  • TCP Out-of-Order
    小跨度的乱序影响不大,比如原本顺序为1、2、3、4、5号包被打乱成2、1、3、4、5就没事。但跨度大的乱序却可能触发快速重传,比如打乱成2、3、4、5、1时,就会触发足够多的Dup ACK,从而导致1号包的重传。
  • TCP Dup ACK
    当乱序或者丢包发生时,接收方会收到一些Seq号比期望值大的包。它每收到一个这种包就会Ack一次期望的Seq值,以此方式来提醒发送方,于是就产生了一些重复的Ack。Wireshark会在这种重复的Ack上标记[TCP Dup ACK]
  • TCP Fast Retransmission
    当发送方收到3个或以上[TCP Dup ACK],就意识到之前发的包可能丢了,于是快速重传它。
  • TCP Retransmission
    如果一个包真的丢了,又没有后续包可以在接收方触发[Dup Ack],就不会快速重传。
  • TCP segment of a reassembled PDU
    当看到这个提示,说明在Edit→Preferences→ Protocols→TCP菜单里启用了Allow subdissector to reassemble TCP streams。它表示Wireshark可以把属于同一个应用层PDU的TCP包虚拟地集中起来,从而可以方便的复制整个应用层的PDU
  • Time-to-live exceeded (Fragment reassembly timeexceeded)
    表示这个包的发送方之前收到了一些分片,但是由于某些原因迟迟无法组装起来。例如UDP大包传输被分网络层片,且有一部分在路上丢失了;UDP一旦丢包,就会所有数据包进行重传,TCP只需要重传丢失的那一个包。