Linux-Networking

如何將 tcpdump 擷取的流量直接發送到介面?

  • May 18, 2018

我可以使用中間 pcap 文件來做到這一點:

tcpdump -i lo -s 0 -w out.pcap 'tcp and port 12345'
^C
tcpreplay -i eth1 out.pcap

是否可以跳過 pcap 並立即轉發所有流量?這對於長時間執行的擷取非常有用,其中 pcap 的大小可以增長到千兆字節。

解決方案是將 tcpdump 輸出寫入 stdout 並從 stdin 讀取 tcpreplay:

tcpdump -i lo -w - 'tcp and port 12345' | tcpreplay -i eth1 -

似乎 tcpreplay 不會在損壞的管道上退出,因此,在關閉 tcpdump 後Ctrl-C,您必須單獨殺死 tcpreplay。

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