MERGECAP(1) The Ethereal Network Analyzer MERGECAP(1)
mergecap - Merges two capture files into one
mergecap [ -hva ] [ -s snaplen ] [ -F file format ] [ -T encapsulation type ] -w outfile
Mergecap is a program that combines multiple saved capture files into a single output file
specified by the -w argument. Mergecap knows how to read libpcap capture files, including
those of tcpdump, Ethereal, and other tools that write captures in that format. In addi-
tion, Mergecap can read capture files from snoop and atmsnoop, Shomiti/Finisar Surveyor,
Novell LANalyzer, Network General/Network Associates DOS-based Sniffer (compressed or
uncompressed), Microsoft Network Monitor, AIX's iptrace, Cinco Networks NetXRay, Network
Associates Windows-based Sniffer, AG Group/WildPackets EtherPeek/TokenPeek/AiroPeek, RAD-
COM's WAN/LAN analyzer, Lucent/Ascend router debug output, HP-UX's nettl, the dump output
from Toshiba's ISDN routers, the output from i4btrace from the ISDN4BSD project, the out-
put in IPLog format from the Cisco Secure Intrusion Detection System, pppd logs (pppdump
format), the output from VMS's TCPIPtrace utility, the text output from the DBS Etherwatch
VMS utility, traffic capture files from Visual Networks' Visual UpTime, and the output
from CoSine L2 debug. There is no need to tell Mergecap what type of file you are read-
ing; it will determine the file type by itself. Mergecap is also capable of reading any
of these file formats if they are compressed using gzip. Mergecap recognizes this
directly from the file; the '.gz' extension is not required for this purpose.
By default, it writes the capture file in libpcap format, and writes all of the packets in
both input capture files to the output file. The -F flag can be used to specify the for-
mat in which to write the capture file; it can write the file in libpcap format (standard
libpcap format, a modified format used by some patched versions of libpcap, the format
used by Red Hat Linux 6.1, or the format used by SuSE Linux 6.3), snoop format, uncom-
pressed Sniffer format, Microsoft Network Monitor 1.x format, the format used by Windows-
based versions of the Sniffer software, and the format used by Visual Networks' software.
Packets from the input files are merged in chronological order based on each frame's time-
stamp, unless the -a flag is specified. Mergecap assumes that frames within a single cap-
ture file are already stored in chronological order. When the -a flag is specified, pack-
ets are copied directly from each input file to the output file, independent of each
If the -s flag is used to specify a snapshot length, frames in the input file with more
captured data than the specified snapshot length will have only the amount of data speci-
fied by the snapshot length written to the output file. This may be useful if the program
that is to read the output file cannot handle packets larger than a certain size (for
example, the versions of snoop in Solaris 2.5.1 and Solaris 2.6 appear to reject Ethernet
frames larger than the standard Ethernet MTU, making them incapable of handling gigabit
Ethernet captures if jumbo frames were used).
The output file frame encapsulation type is set to the type of the input files, if all
input files have the same type. If not all of the input files have the same frame encap-
sulation type, the output file type is set to WTAP_ENCAP_PER_PACKET. Note that some cap-
ture file formats, most notably libpcap, do not currently support WTAP_ENCAP_PER_PACKET.
This combination will cause the output file creation to fail.
If the -T flag is used to specify a frame encapsulation type, the encapsulation type of
the output capture file will be forced to the specified type, rather than being the type
appropriate to the encapsulation type of the input capture files. Note that this merely
forces the encapsulation type of the output file to be the specified type; the packet
headers of the packets will not be translated from the encapsulation type of the input
capture file to the specified encapsulation type (for example, it will not translate an
Ethernet capture to an FDDI capture if an Ethernet capture is read and '-T fddi' is speci-
-w Sets the output filename.
-F Sets the file format of the output capture file.
-T Sets the packet encapsulation type of the output capture file.
-a Causes the frame timestamps to be ignored, writing all packets from the first input
file followed by all packets from the second input file. By default, when -a is not
specified, the contents of the input files are merged in chronological order based on
each frame's timestamp. Note: when merging, mergecap assumes that packets within a
capture file are already in chronological order.
-v Causes mergecap to print a number of messages while it's working.
-s Sets the snapshot length to use when writing the data.
-h Prints the version and options and exits.
tcpdump(8), pcap(3), ethereal(1), editcap(1)
Mergecap is based heavily upon editcap by Richard Sharpe <firstname.lastname@example.org> and Guy Har-
Mergecap is part of the Ethereal distribution. The latest version of Ethereal can be
found at http://www.ethereal.com.
Scott Renfro <email@example.com>
0.9.8 2002-08-08 MERGECAP(1)