21

How to concatenate two tcpdump files, so that one traffic will appear after another in the file? To be concrete I want to "multiply" one tcpdump file, so that all the sessions will be repeated one after another sequentially few times.

6 Answers6

34

mergecap can resolve your issue, but you must use it with '-a' option, otherwise it reorders packets temporally. Then: mergecap -a file_1.pcap file_1.pcap file_1.cap -w output_file.pcap

Gianluca Costa
  • 476
  • 4
  • 6
7

As the other answers say, you can use File->Merge in Wireshark, tcpslice, or mergecap. You can also drag a file into Wireshark's main window. If Wireshark/tcpdump/snort/Ntop/etc supported pcap-ng, you'd be able to simply concatenate your capture files.

Gerald Combs
  • 1,374
  • 10
  • 12
  • But don't they all just merge packet data, without caring about sequential numbers and shift of the packets in time, so that one concatenation segment is placed after another in time. –  May 26 '09 at 21:51
  • 1
    If you use File->Merge or mergecap you have the option of prepending, merging chronologically (interleaving according to timestamps), or appending. – Gerald Combs May 27 '09 at 18:55
2

Wireshark has the File -> Merge command which should do this.

I also remember mergecap being a tool to do so, but I haven't used it in a while.

viksit
  • 7,542
  • 9
  • 42
  • 54
1

to join multiple pcap, use this batch script

all pcap files must be in the same folder that batch script located and also first pcap file must be named 01.pcap and second must be 02.pcap when you dir the directory, there is no other limitation.

@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
1

Use mergecap from Wireshark:

mergecap ... -w output.cap

Dan
  • 11
  • 1
-4

Try pcapjoiner (commercial, with demo limited to 1000 packets).

Nickolay
  • 31,095
  • 13
  • 107
  • 185
michael
  • 1
  • 1