2017-07-06 19 views
0

私はpcapファイルを持っており、エポックタイムスタンプtsharkに基づいていくつかのパケットをフィルタリングしたいと思います。エポック時間フィルタリング時のtsharkエラー

私はタイムスタンプt1を持っています。私は、エポックタイムスタンプがt1よりも "遅い"パケットを必要とします。 タイムスタンプt1は、他のpcapファイルから抽出されます。ここまでは順調ですね。

次の行では、タイムスタンプt1(1499351908.01)をdatetime形式p(2017-07-06 10:38:28)に変換します。私はtsharkがフィルタリングのためにこれのような表記法を必要とするので、これをやっています。それ以外の場合は、エラーが発生します。私は、入力と出力のファイルとtsharkのフィル​​タをspecifiy次の行で

t1_c = DT.datetime.fromtimestamp(t1) 
p = t1_c.strftime('%Y-%m-%d %H:%M:%S') 

os.system('tshark -r test_in.pcap -w test_out.pcap -Y "frame.time >= p"') 

私は私のコードを実行するのであれば、このtsharkのエラーが発生します。

tshark: "p" is not a valid absolute time. Example: "Nov 12, 1999 08:55:44.123" or "2011-07-04 12:34:56" 

何間違っている?フィルタ表記法が間違っていますか?

ありがとうございます!

答えて

2

文字列のpを書き換えるだけでは、置き換えられません。あなたの行は次のようになります:

os.system('tshark -r test_in.pcap -w test_out.pcap -Y "frame.time >= {}"'.format(p)) 
+0

ありがとう!今それは動作します:) – crappidy

関連する問題