Ответ, импортированный из аналогичного вопроса на superuser.com (также является частью StackExchange): Воспроизведение захвата пакетов UDP
BitTwist (http://bittwist.sourceforge.net)должен иметь возможность делать то, что вы хотите.
С Bit-Twist вы теперь можете регенерировать ваш захваченный трафик в живую сеть! Пакеты генерируются из файла трассировки tcpdump (файл .pcap).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.
Вы должны иметь возможность воспроизвести changedipandport.pcap
файл, используя Colasoft Packet Player (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, используя bittwiste (редактор), чтобы изменить IP-адрес назначения на адрес моего проводного адаптера Ethernet и порт UDP на 8001, а затем воспроизвести с помощью bittwist (игрок) в Pure Data (http://puredata.info) патч прослушивает порт 8001.