Повторить захват UDP-пакета

Повторить захват UDP-пакета

У меня есть захват UDP-пакета, который транслировался с Port1 на IP1 на Port2 на IP2 в сети N1. Мне нужно воспроизвести эти пакеты в другой сети N2 с Port3 на IP3 на Port4 на IP4.

Мне нужно знать, какое программное обеспечение использовать для этого и как я буду воспроизводить эти пакеты, чтобы иметь возможность снова обнаружить/захватить их в N2.

До сих пор я пытался просто воспроизвести эти пакеты с помощью программы Colasoft Packet Player, но безуспешно.

решение1

tcpreplay(https://tcpreplay.appneta.com/) также, по-видимому, сможет сделать то, что вы хотите, возможно, за один шаг, используяtcprelat-редактированиепрограмма, но я лично не запускал это программное обеспечение.

Изtcpreplay-редактирование обзор:

tcpreplay значительно развился за эти годы. В дни 1.x он просто считывал пакеты и отправлял их обратно по сети. В 2.x tcpreplay был значительно улучшен, чтобы добавить различные функции перезаписи, но за счет сложности, производительности и раздувания. Теперь в 3.x tcpreplay вернулся к своим корням, чтобы стать простой машиной для отправки пакетов, а функции редактирования переместились в tcprewrite и мощный tcpreplay-edit, который объединяет их.

Поскольку tcpreplay-edit включает в себя все функции как tcpreplay, так и tcprewrite, пожалуйста, ознакомьтесь с этими страницами вики, чтобы узнать, как использовать tcpreplay-edit.

решение2

BitTwist(http://bittwist.sourceforge.net) должен иметь возможность делать то, что вы хотите.

С Bit-Twist вы теперь можете регенерировать ваш захваченный трафик в работающей сети! Пакеты генерируются из файла трассировки tcpdump (файл .pcap). Bit-Twist также поставляется с комплексным редактором файлов трассировки, позволяющим вам изменять содержимое файла трассировки.

Больше всего вас здесь интересует часть «редактор файла трассировки».

Я думаю, что вам нужно преобразовать в два прохода: один для изменения IP-адресов, другой для изменения номеров портов UDP. Я думаю, вы можете сделать это в любом порядке.

bittwiste -I original.pcap -O changedip.pcap -T ip -s IP1,IP3 -d IP2,IP4
bittwiste -I changedip.pcap -O changedipandport.pcap -T udp -s Port1,Port3 -d Port2,Port4

где вам нужно вставить IP-адреса и номера портов, например

bittwiste -I original.pcap -O changedip.pcap -T ip -s 192.168.0.1,10.10.0.3 -d 192.168.0.2,10.10.0.4
bittwiste -I changedip.pcap -O changedipandport.pcap -T udp -s 12345,24680 -d 80,8080

Если ваш исходный файл захвата содержит только IP-адреса и номера портов ваших исходных машин, вы можете упростить это, не упоминая старые IP-адреса и номера портов в командах редактирования, например:

bittwiste -I original.pcap -O changedip.pcap -T ip -s 10.10.0.3 -d 10.10.0.4
bittwiste -I changedip.pcap -O changedipandport.pcap -T udp -s 24680 -d 8080

для генерации пакетов с 10.10.0.3:24680 на 10.10.0.4:8080.

С машины в вашей сети N2 вы сможете воспроизвести файл, changedipandport.pcapиспользуяПакетный проигрыватель Colasoft(http://www.colasoft.com/packet_player) или командная строкаBitTwistигрок, например

bittwist -i 1 changedipandport.pcap

где «1» здесь — это устройство 1. Используйте bittwist -dдля вывода списка устройств.

В плеере BitTwist есть и другие полезные функции, которые вы не сможете реализовать в Colasoft Packet Player, в частности, изменение скорости отправляемых пакетов с помощью множителя (например, в 5 раз больше исходной скорости или в 0,1 раза больше исходной скорости).

Я успешно протестировал этот метод, используяWireshark(http://www.wireshark.org) для захвата данных OSC (UDP-пакетов), отправляемых с TouchOSC на i-устройстве на мой ноутбук (через WiFi) на порт 8000, используябиттвист(редактор) изменить IP-адрес назначения на адрес моего проводного адаптера Ethernet и порт UDP на 8001, затем воспроизвести с помощьюбиттвист(игрок) кЧистые данные(http://puredata.info) патч прослушивает порт 8001.

Связанный контент