2017-07-06 87 views
0

我有一個pcap文件,我想過濾出一些數據包基於他們與tshark時代的時間戳。在紀元時間過濾tshark錯誤

我有一個時間戳t1。我需要這些數據包,其時間戳比t1晚。 時間戳t1從另一個pcap文件中提取。到現在爲止還挺好。

在以下幾行中,我將時間戳t1(1499351908.01)轉換爲日期時間格式p(2017-07-06 10:38:28)。我這樣做是因爲tshark需要這樣的符號進行過濾。否則會發生錯誤。

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

在以下行中我specifiy輸入和輸出文件和tshark的過濾器:

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