NAME
mergecap - Merges two or more capture files into one
SYNOPSIS
mergecap [ -a ] [ -F <file format> ] [ -h ] [ -s <snaplen> ]
[ -T <encapsulation type> ] [ -v ] -w <outfile>|- <infile> ...
DESCRIPTION
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, Wireshark, and
other tools that write captures in that format.
By default, Mergecap writes the capture file in libpcap format, and
writes all of the packets from the input capture files to the output
file.
Mergecap is able to detect, read and write the same capture files that
are supported by Wireshark. The input files don't need a specific
filename extension; the file format and an optional gzip compression
will be automatically detected. Near the beginning of the DESCRIPTION
section of wireshark(1) or
<http://www.wireshark.org/docs/man-pages/wireshark.html> is a detailed
description of the way Wireshark handles this, which is the same way
Mergecap handles this.
Mergecap can write the file in several output formats. The -F flag can
be used to specify the format in which to write the capture file,
mergecap -F provides a list of the available output formats.
Packets from the input files are merged in chronological order based on
each frame's timestamp, unless the -a flag is specified. Mergecap
assumes that frames within a single capture file are already stored in
chronological order. When the -a flag is specified, packets are copied
directly from each input file to the output file, independent of each
frame's timestamp.
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 encapsulation type, the output file
type is set to WTAP_ENCAP_PER_PACKET. Note that some capture file
formats, most notably libpcap, do not currently support
WTAP_ENCAP_PER_PACKET. This combination will cause the output file
creation to fail.
OPTIONS
-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.
-F <file format>
Sets the file format of the output capture file. Mergecap can write
the file in several formats; mergecap -F provides a list of the
available output formats. The default is to use the file format of
the first input file.
-h Prints the version and options and exits.
-s <snaplen>
Sets the snapshot length to use when writing the data. 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 specified 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).
-v Causes mergecap to print a number of messages while it's working.
-w <outfile>|-
Sets the output filename. If the name is '-', stdout will be used.
This setting is mandatory.
-T <encapsulation type>
Sets the packet encapsulation type of the output capture file. 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 specified).
SEE ALSO
tcpdump(8), pcap(3), wireshark(1), tshark(1), dumpcap(1), editcap(1),
text2pcap(1)
NOTES
Mergecap is based heavily upon editcap by Richard Sharpe
<sharpe[AT]ns.aus.com> and Guy Harris <guy[AT]alum.mit.edu>.
Mergecap is part of the Wireshark distribution. The latest version of
Wireshark can be found at <http://www.wireshark.org>.
HTML versions of the Wireshark project man pages are available at:
<http://www.wireshark.org/docs/man-pages>.
AUTHORS
Original Author
-------- ------
Scott Renfro <scott[AT]renfro.org>
Contributors
------------
Bill Guyton <guyton[AT]bguyton.com>