我从一篇文章中读到ICMP Timestamp可以用来确定系统时间,所以我尝试了hping3 192.168.1.x --icmp --icmp-ts -V
。 输出显示
len=46 ip=192.168.1.x ttl=xx id=xxxx tos=0 iplen=40 icmp_seq=x rtt=x.xms ICMP timestamp: Originate=27494134 Receive=27316024 Transmit=27316024 ICMP timestamp RTT tsrtt=xx
问题是,我似乎无法理解输出…我如何从上述结果中得出系统时间? 或者我在这里做错了什么?
远程主机的时间戳可以通过Transmit=27316024
来计算
时间戳是自世界时间午夜以来的毫秒数。
Originate
是您本地机器制作请求包的时间
Receive
是远程机器接收数据包的时间
Transmit
是远程机器发出响应包的时间
阅读有关该协议,你会发现这是自UT以来的毫秒数。 https://www.ietf.org/rfc/rfc0792.txt
除了当设备不能提供这个和时间是假的 – 阅读RFC。 聪明的把戏,但这不是一个可靠的方式来获得时间。