Tcpdump

tcpdump 可以按時間戳過濾嗎?

  • February 17, 2018

我有一個文件,其中tcpdump包含幾天內擷取的數據包。從這個文件中,我想查看在僅幾個小時的特定時間段內擷取的數據包。

我知道我可以用來tcpdump -r從文件中讀取數據包。我可以使用所有常用的過濾器,例如按協議和埠號過濾。我也知道我可以-c用來限制輸出的數據包數量。但這不允許我從一開始就跳過一些數據包。

我可以在我感興趣的時間範圍內使用tcpdump -ttttgrep但最後我想用 將數據包寫入一個新的(較小的)文件-wgrep但對此我無能為力。

有沒有辦法指示tcpdump只包含特定時間間隔的數據包?

有一個名為editcap(wireshark 系列的一部分)的命令行工具,可以按時間範圍過濾 pcap 文件。StackOverflow 上這個問題的答案中有更多資訊:

https://stackoverflow.com/questions/19952991/filter-a-pcap-dump-file-for-a-specific-time-range#19955700

還有一個工具叫做logdissect,可以過濾 tcpdump 終端輸出,並輸出到 tcpdump 的終端輸出格式,或 json(帶有一些基本欄位,如源/目標主機、協議、日期戳)。不幸的是,它無法輸出到 pcap,但如果您不需要 pcap 輸出,它可以按許多不同的標准進行過濾。它在 pip (python 首選安裝程序)上可用,它在 github 上帶有安裝說明。

只是為了充分披露,我寫了 logdissect。我通常不會在這裡提及我自己的項目,但在這種情況下它可能會有所幫助。

引用自:https://unix.stackexchange.com/questions/424838