wiresharkの-Tfields
今日もwiresharkのソース読んでた
tsharkで -te -Tfields -e frame.time オプションつけてフレームの届いた時刻を出そうとしても、epoch にならずにこーなる。
Oct 12, 2008 15:48:08.871946000
日付の出し方がイマイチ不明(%dか%eか)なのでソースチェック。
$ ack %b
epan/ftypes/ftype-time.c
243: curptr = strptime(s,"%b %d, %Y %H:%M:%S", &tm);
%bで引っかかったところで、同じ形式はここなので、恐らくここかな。
strptimeはパースする関数だからstrftimeで探したけど該当したものはない。
どこから呼ばれているか確認しようとしてgtags待ち。(昨日パッチ書いて消してしまった)
とりあえず、時刻のパースはコレで
#!/usr/bin/perl
use Time;:Piece;my $date = 'Oct 12, 2008 15:48:08.871946000';
$date =~ s/\.[0-9]{9}$//;
my $t = Time::Piece->strptime($date,"%b %d, %Y %H:%M:%S);
print $t->datetime;
2008-10-12T15:48:08