2009-05-26 9 views
15

Как объединить два файла tcpdump, чтобы один трафик появлялся после другого в файле? Чтобы быть конкретным, я хочу «размножить» один файл tcpdump, чтобы все сеансы повторялись один за другим последовательно несколько раз.Как объединить два файла tcpdump (файлы pcap)

ответ

2

Wireshark имеет команду File -> Merge, которая должна это делать.

Я также помню, что mergecap является инструментом для этого, но я не использовал его в то время.

6

Как говорят другие ответы, вы можете использовать File-> Merge в Wireshark, tcpslice или mergecap. Вы также можете перетащить файл в главное окно Wireshark. Если Wireshark/tcpdump/snort/Ntop/etc поддерживается pcap-ng, вы сможете просто конкатенировать ваши файлы захвата.

+0

Но не все они просто сливаются пакетные данные, не заботясь о последовательных чисел и сдвига пакетов во времени, так что сегмент один конкатенации помещается за другим во времени. – 2009-05-26 21:51:32

+1

Если вы используете File-> Merge или mergecap, у вас есть возможность добавления, слияния в хронологическом порядке (чередование по меткам времени) или добавление. –

1

Использование mergecap из Wireshark:

mergecap ... -w output.cap

-3

Попробуйте pcapjoiner (коммерческий, с демо ограниченным до 1000 пакетов).

+2

Зачем использовать коммерческий, закрытый, ограниченный инструмент, когда у вас есть mergecap? –

23

mergecap может решить вашу проблему, но вы должны использовать ее с опцией '-a', иначе она будет переупорядочивать пакеты на время. Тогда: mergecap -a file_1.pcap file_1.pcap file_1.cap -w output_file.pcap

+1

Обратите внимание, что mergecap является частью пакета «wirehark-common» в дистрибутивах на основе debian –

1

присоединиться несколько PCAP, используйте этот пакетный скрипт

все файлы PCAP должны находиться в той же папке, что партия скрипт, а также первый файл pcap должен быть указан 01.pcap, а второй должен быть 02.pcap, когда вы каталогизируете каталог, других ограничений нет.

@echo off 
@setlocal enableextensions enabledelayedexpansion 

set /a var1=1 
set mergecapL="C:\Program Files\Wireshark" 

dir /b *.pcap > list.txt 
%mergecapL%\mergecap.exe -w %cd%\out%var1%.pcap %cd%\01.pcap %cd%\02.pcap 
FOR /F "skip=2 delims=" %%A IN (list.txt) DO (
    set var2=!var1! 
    set /a var1+=1 
    %mergecapL%\mergecap.exe -w %cd%\out!var1!.pcap %cd%\out!var2!.pcap "%cd%\%%A" 
    del out!var2!.pcap 
) 
del list.txt 
Смежные вопросы