gpt4 book ai didi

wireshark - Wireshark 时间戳什么时候捕获数据包?

转载 作者:行者123 更新时间:2023-12-03 08:07:14 41 4
gpt4 key购买 nike

Wireshark 何时对数据包加时间戳?完全接收一帧后?或者已经在接收帧的第一个字节?我阅读了以下关于 Wireshark timestamps 的描述但该文本仅说明:“在捕获数据包时,每个数据包在进入时都带有时间戳”。

考虑以下场景和准确的操作系统时间:

发送方----> Wireshark ----> 接收方

发送方在时间 x 开始传输帧。在时间 y(y = 传输开始 x + 帧长度/链路速度)在接收器处完全接收到帧。捕获的帧会出现在 Wireshark 中,时间戳接近 x 还是 y?

此致,
乔纳斯

最佳答案

嗯,Wireshark 不会对数据包本身进行时间戳;它依赖于 libpcap 来完成它们,并且在几乎所有操作系统上,libpcap 也不会给它们自己加上时间戳,也不是操作系统的数据包捕获机制,就像 libpcap 使用的那样。主要的异常(exception)是 Windows,其中 WinPcap 必须在内核中提供自己的捕获机制,在 NDIS 之上,但该机制的行为与大多数 UN*X 内部的机制非常相似,并且会提供类似的行为。 (另一个异常(exception)是 HP-UX,其中操作系统的捕获机制根本不为数据包添加时间戳,因此 libpcap 会这样做;它给出的答案与其他操作系统有些相似,但在数据包之前可能会有更长的延迟有时间戳。)

如果 Wireshark(或任何其他数据包嗅探器!)在发送方上运行,数据包将在操作系统内“环绕”并交给捕获机制;时间戳可以在发送方开始传输数据包之前应用,但时间戳将更接近 x 而不是 y。

如果 Wireshark(或任何其他数据包嗅探器)在接收器上运行,则在接收到整个数据包后的某个时间应用时间戳;这可能涉及由于数据包排队、中断被“批处理”、在数据包加时间戳之前完成的一些网络堆栈处理等而导致的延迟。时间戳将更接近 y 而不是 x。

如果 Wireshark(或任何其他数据包嗅探器)在第三台机器上运行,被动嗅探网络,则时间戳可能更接近 y 而不是 x,但由于接收器和嗅探器是不同的机器,因此存在差异可能会在不同的时间看到数据包,有不同的接收代码路径等。

关于wireshark - Wireshark 时间戳什么时候捕获数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16676095/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com