Назад | Перейти на главную страницу

Как отправить трафик, захваченный tcpdump, непосредственно на интерфейс?

Я могу сделать это с помощью промежуточного файла pcap:

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

Можно ли пропустить pcap и сразу перенаправить весь трафик? Это было бы чрезвычайно полезно для длительных захватов, когда размер pcaps может увеличиваться до гигабайт.

Решение состоит в том, чтобы записать вывод tcpdump в stdout и прочитать tcpreplay из stdin:

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

Кажется, что tcpreplay не выходит на сломанном канале, поэтому после закрытия tcpdump с Ctrl-C, вам придется убить tcpreplay отдельно.