Tcpdump
tcpdump 可以按時間戳過濾嗎?
我有一個文件,其中
tcpdump
包含幾天內擷取的數據包。從這個文件中,我想查看在僅幾個小時的特定時間段內擷取的數據包。我知道我可以用來
tcpdump -r
從文件中讀取數據包。我可以使用所有常用的過濾器,例如按協議和埠號過濾。我也知道我可以-c
用來限制輸出的數據包數量。但這不允許我從一開始就跳過一些數據包。我可以在我感興趣的時間範圍內使用
tcpdump -tttt
,grep
但最後我想用 將數據包寫入一個新的(較小的)文件-w
,grep
但對此我無能為力。有沒有辦法指示
tcpdump
只包含特定時間間隔的數據包?
有一個名為
editcap
(wireshark 系列的一部分)的命令行工具,可以按時間範圍過濾 pcap 文件。StackOverflow 上這個問題的答案中有更多資訊:還有一個工具叫做
logdissect
,可以過濾 tcpdump 終端輸出,並輸出到 tcpdump 的終端輸出格式,或 json(帶有一些基本欄位,如源/目標主機、協議、日期戳)。不幸的是,它無法輸出到 pcap,但如果您不需要 pcap 輸出,它可以按許多不同的標准進行過濾。它在 pip (python 首選安裝程序)上可用,它在 github 上帶有安裝說明。只是為了充分披露,我寫了 logdissect。我通常不會在這裡提及我自己的項目,但在這種情況下它可能會有所幫助。