Tcpdump
實時嗅探數據包
我一直在使用 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 而不是 1000pcap_set_timeout()
)。