本文于2020年8月23日首发于个人公众号“码农的修炼之道”,欢迎关注。
不知道大家有没有注意到,wireshark抓取tcp报文的时候,大部分时候的报文是如下图所示的,其中带了Seq,Win和Len字段,分别对应了报文序列号、滑动窗口和tcp报文长度。
有时候,也会在报文中看到TSval 和 TSecr 这两个参数,如下图所示。
那么这个参数来源于哪里呢?又有什么作用呢?
1、原理
时间戳(TCP Timestamps Option,TSopt)来源于TCP报文头部的Option选项。这个选项在 TCP 头部的位置如下所示。
比如下图,我们抓包的报文中的时间戳选项在option中。
TCP的时间戳由四