Tcpdump

前幾個數據包的 PCAP 過濾器,以及與斷開連接相關的數據包,僅 TCP

  • February 27, 2016

我想使用帶有過濾器的 tcpdump 進行一些長時間執行的調試。具體來說,我只想擷取具有以下條件的數據包:

  • 新 TCP 連接的前 10 個左右的數據包(包括握手)
  • 任何奇怪的東西(重傳、重複 ACK 等)
  • 任何指示斷開連接(FIN、RST、其他)

我堅持的部分是前 X 個數據包。是否可以為 tcpdump(或類似工具)編寫 PCAP 過濾器來執行此操作?如果是這樣,怎麼做?

我堅持的部分是前 X 個數據包。是否可以為 tcpdump(或類似工具)編寫 PCAP 過濾器來執行此操作?

不。Pcap 過濾器是“無狀態的”,這意味著它們獨立於先前的數據包對每個數據包起作用,並且沒有在數據包之間保持可用的“狀態”(或記憶體);看到的數據包數量將是一種狀態,您可以在 pcap 過濾器中檢查這種類型的內容。

重傳和重複的 ACK 還需要狀態來辨識,即您必須記住第一次傳輸以檢查重傳並記住第一個 ACK 以檢查重複的 ACK。

引用自:https://serverfault.com/questions/760167