Linux-Networking
如何將 tcpdump 擷取的流量直接發送到介面?
我可以使用中間 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。