我正在尝试将文本十六进制转储导入到具有毫秒时间戳的wireshark中。
这是我的示例十六进制转储:
0.111
000000 00 e0 1e a7 05 6f 00 10 ........
000008 5a a0 b9 12 08 00 46 00 ........
000010 03 68 00 00 00 00 0a 2e ........
000018 ee 33 0f 19 08 7f 0f 19 ........
000020 03 80 94 04 00 00 10 01 ........
000028 16 a2 0a 00 03 50 00 0c ........
000030 01 01 0f 19 03 80 11 01 ........
1.222
000000 00 e0 1e a7 05 6f 00 10 ........
000008 5a a0 b9 12 08 00 46 00 ........
000010 03 68 00 00 00 00 0a 2e ........
000018 ee 33 0f 19 08 7f 0f 19 ........
000020 03 80 94 04 00 00 10 01 ........
000028 16 a2 0a 00 03 50 00 0c ........
000030 01 01 0f 19 03 80 11 01 ........
3.333
000000 00 e0 1e a7 05 6f 00 10 ........
000008 5a a0 b9 12 08 00 46 00 ........
000010 03 68 00 00 00 00 0a 2e ........
000018 ee 33 0f 19 08 7f 0f 19 ........
000020 03 80 94 04 00 00 10 01 ........
000028 16 a2 0a 00 03 50 00 0c ........
000030 01 01 0f 19 03 80 11 01 ........
如果我在导入时输入“%S”作为日期/时间格式,我可以得到第二个粒度,这很好 - 但是除了秒之外的所有内容都被截断,所以我没有得到实际的毫秒数。 (纳秒也会很好,但我会坚持几毫秒。)
有什么想法吗?谢谢!
答案 0 :(得分:1)
这是不可能的,因为wireshark使用strptime(3)来解析时间戳, strptime(3)不支持毫秒/分数。
更新1:
一种可能的解决方案是使用wireshark支持的Lua api编写自定义解剖器。更多关于here。
答案 1 :(得分:0)
正如Wireshark发行版中的text2pcap
所记录的那样,如果要获得亚秒级的时间戳,则需要在格式字符串中包含尾随的“句点”。例如。 %H:%M:%S.
还将在Wireshark UI中正确解析10:15:14.5476
。就您而言,%S.
应该可以工作。
从text2pcap
帮助中:
-t <timefmt>
将数据包之前的文本视为日期/时间代码;指定的参数是strptime支持的那种格式的字符串。
示例:时间10:15:14.5476
的格式代码为%H:%M:%S.
注意:必须指定亚秒级分隔符'。',但不需要任何模式。剩余的数字假定为几分之一秒。
注意:当前日期/时间中的日期/时间字段用作未指定字段的默认字段。