Tcpdump

實時嗅探數據包

  • September 13, 2015

我一直在使用 tcpdump,它很好,但在這裡出現了問題。hexinject、tcpflow 和 tracedump 等其他程序都使用 pcap,因此它們在顯示數據包之前會延遲一點。

我還使用了不滯後的原始套接字,但我無法使用原始套接字獲取埠號。

我查看了 tcpdump 的文件,似乎有--immediate-mode. 我試圖讓 tcpdump 停止延遲發送它的數據包。

我目前的版本是:

  • tcpdump 版本 4.6.2
  • libpcap 版本 1.6.2

是否有這樣的 tcpdump 更新檔其他不延遲的 cli?

有沒有這樣的 tcpdump更新檔

是的,有這個,就像那個更新檔一樣,添加一個標誌來打開即時模式……

…除了它不是 BPF 特定的(因此它不限於 BSD、OS X 和 Solaris 11),並且使用--immediate-mode而不是-b,並且它已經在標準 tcpdump 4.7.x 版本中,所以如果你有 tcpdump 4.7 .x 或更高*版本您不必應用更新檔。

你在找什麼樣的更新檔?一個不需要帶有 API 的最新版本的 libpcap 來打開立即模式?如果是這樣,那麼該更新檔將無法在某些作業系統上執行,或者必須執行與作業系統相關的事情(不幸的是,您無法在 Linux 上執行一些簡單的 ioctl,因此可能沒有作業系統相關的轉換方式為您的作業系統緩衝)。

另一方面,您可以嘗試將超時減少到,比如說,1/10 秒(在 or 中使用 100 而不是 1000 pcap_open_live()pcap_set_timeout()甚至是 1/100 秒(在pcap_open_live()or中使用 10 而不是 1000 pcap_set_timeout())。

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