Wireshark 提示和技巧 | frame.time_delta 和 frame.time_delta_displayed

简介

Wireshark 显示过滤器中有很多 time 相关的过滤表达式,譬如一般常看到的 frame.time 字段代表帧被捕获的绝对时间,以及一些用于分析关联数据包之间时间的字段,像是本文计划讲到的 frame.time_deltaframe.time_delta_displayed ,包括还有 RTT 相关、 tcp.timehttp.timedns.time 等等功能强大的字段。如果能好好掌握并运用上述时间字段的功能,对于网络数据包协议分析将会有极大的帮助。

本文简单讲解下最常用到的 frame.time_deltaframe.time_delta_displayed 字段。

frame.time
Absolute time when this frame was captured,帧被捕获的绝对时间。

frame.time_delta
Time delta from previous captured frame,相较于上一个捕获帧的时间增量。

frame.time_delta_displayed
Time delta from previous displayed frame,相较于上一个显示帧的时间增量。

以上时间单位均为 s 秒。


原理

一图胜千言
FF-01

Time Delta 列为自选添加,字段即为 frame.time_delta_displayed

frame.time

可以简单认为就是 Time 列中的时间(注:只是时间显示格式的不同),实际字段显示见下
FF-02
FF-03

frame.time_delta

拿帧 2 为例,和帧 1 (相对于帧2,为上一个捕获帧)的时间增量值为 0.000963327 s。
FF-04

frame.time_delta_displayed

如果仍拿上图的帧 2为例,和帧 1 (相对于帧2,为上一个显示帧)的时间增量值同样也为 0.000963327 s。

那么该值在什么情况下会不一样呢?就体现在 displayed 上,如果应用显示过滤器,譬如过滤源 ip 为 192.168.0.1 的情况下,显示过滤后的帧仅有帧 1 和 帧 3 ,如下图。
FF-05
那么在帧 3 的数据包细节中,frame.time_delta_displayed 即和帧 1 (相对于帧3,为上一个显示帧)的值为 0.003788956 s。而 frame.time_delta 即和帧 2 (此处因过滤显示的原因隐藏,但实际存在,所以相对于帧 3,仍为上一个捕获帧)的值为 0.002825629 s。


扩展

以上为 frame.time_deltaframe.time_delta_displayed 字段最基本的解释,可以结合包括 is present、==、!=、>、<、>=、<=、in 等关系表达式进行各种显示过滤。

而对于排查网络缓慢问题时,对于高增量时间的判断一般会用到 >、<、>=、<=。在其中特别想提到的就是 frame.time_delta > 0.01 可成功过滤,而 frame.time_delta_displayed > 0.01 是无法正常过滤的,这是什么问题???

这也是本文的由来,重点想表达的地方。

​​

frame.time_delta

FF-06
​​

frame.time_delta_displayed

为什么帧 3 的 frame.time_delta_displayed 值为 0.0028256296 s ,但却无法成功过滤出来。
FF-07
FF-08

解答
仔细查看帧 1, frame.time_delta_displayed 显示为 0,不匹配,因此被过滤掉未显示。现在是帧 2,由于帧 1 未显示,因此 frame.time_delta_displayed 也显示为 0,不匹配,因此被过滤掉未显示。然后是帧 3 … 无限套娃 。

明白了嘛?仔细体会下 disaplayed 的含义。

那么,有人问非要用 frame.time_delta_displayed > xxx 过滤行不行,嗯,也行,必须通过显示帧 1 来开始工作,例如使用显示过滤器 frame.number == 1 || frame.time_delta_displayed > xxx
FF-09


感谢阅读,更多技术文章可关注个人公众号:Echo Reply ,谢谢。
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值