如何将tshark时间格式化为ISO格式(yyyy-dd-mm)?

时间:2013-09-17 13:38:05

标签: wireshark tshark time-format

我正在尝试打印包含HTTP流量的PCAP中的各个字段。其中一列应为ISO 8601格式的时间戳(YYYY-MM-DD hhmmss)。

另外,如果有人在-e下有完整的字段列表,那就太棒了(例如,ip.src,frame.time等)。

作为一个例子,我从几个角度开始:

tshark -r out.pcap -R "tcp.port==80" -o column.format:"Packet,%m,Time,%t,Info%i" 

tshark -r out.pcap -R "tcp.port==80" -T fields -e frame.time

1 个答案:

答案 0 :(得分:8)

您是否尝试过以下操作:

tshark -r out.pcap -R "tcp.port==80" -o column.format:"Packet,%m,Time,%Yt,Info%i"

关键是使用%Yt而不是%t,它使用YYYY-MM-DD hhmmss.格式。如果您想要UTC,请使用%Yut。其他格式也可以使用。

请注意:

在Wireshark提交r52627之前,列格式仅在源代码本身中记录(即在epan/column.c中);但是,在该修订之后,您可以运行tshark -G column-formats来查看它们。

(该版本目前仅在Wireshark的开发版本中提供。无论如何,您仍然可以使用源代码本身作为参考。如果您想下载开发版本,请访问Wireshark download page 。)

要回答你的第二个问题,即“如果有人在-e下工作的字段的完整列表,那就太棒了”,你可以参考Wireshark display filter reference page。基本上,可以使用任何命名字段。