instead of repeating the capture file format description over and over again (this...
[obnox/wireshark/wip.git] / doc / mergecap.pod
1
2 =head1 NAME
3
4 mergecap - Merges two or more capture files into one
5
6 =head1 SYNOPSYS
7
8 B<mergecap>
9 S<[ B<-a> ]>
10 S<[ B<-F> E<lt>I<file format>E<gt> ]>
11 S<[ B<-h> ]>
12 S<[ B<-s> E<lt>I<snaplen>E<gt> ]>
13 S<[ B<-T> E<lt>I<encapsulation type>E<gt> ]>
14 S<[ B<-v> ]>
15 S<B<-w> E<lt>I<outfile>E<gt>|->
16 E<lt>I<infile>E<gt>
17 I<...>
18
19 =head1 DESCRIPTION
20
21 B<Mergecap> is a program that combines multiple saved capture files into
22 a single output file specified by the B<-w> argument.  B<Mergecap> knows
23 how to read B<libpcap> capture files, including those of B<tcpdump>,
24 B<Ethereal>, and other tools that write captures in that format.  
25
26 By default, it writes the capture file in B<libpcap> format, and writes
27 all of the packets in both input capture files to the output file.  
28
29 B<Mergecap> is able to detect, read and write the same capture files that 
30 are supported by B<Ethereal>.
31 The input files don't need a specific filename extension, the file 
32 format and an optional gzip compression will be automatically detected.
33 The I<capture file format> section of I<ethereal(1)> or
34 I<http://www.ethereal.com/docs/man-pages/ethereal.1.html>
35 provides a detailed description.
36
37 B<Mergecap> can write the file in several output formats.
38 The B<-F> flag can be used to specify the format in which to write the
39 capture file, B<mergecap -F> provides a list of the available output 
40 formats.
41
42 Packets from the input files are merged in chronological order based on
43 each frame's timestamp, unless the B<-a> flag is specified.  B<Mergecap>
44 assumes that frames within a single capture file are already stored in
45 chronological order.  When the B<-a> flag is specified, packets are
46 copied directly from each input file to the output file, independent of
47 each frame's timestamp.
48
49 The output file frame encapsulation type is set to the type of the input
50 files, if all input files have the same type.  If not all of the input
51 files have the same frame encapsulation type, the output file type is
52 set to WTAP_ENCAP_PER_PACKET.  Note that some capture file formats, most
53 notably B<libpcap>, do not currently support WTAP_ENCAP_PER_PACKET.
54 This combination will cause the output file creation to fail.
55
56 =head1 OPTIONS
57
58 =over 4
59
60 =item -a
61
62 Causes the frame timestamps to be ignored, writing all packets from the
63 first input file followed by all packets from the second input file.  By
64 default, when B<-a> is not specified, the contents of the input files
65 are merged in chronological order based on each frame's timestamp.
66
67 Note: when merging, B<mergecap> assumes that packets within a capture
68 file are already in chronological order.
69
70 =item -F  E<lt>file formatE<gt>
71
72 Sets the file format of the output capture file. B<Mergecap> can write 
73 the file in several formats, B<mergecap -F> provides a list of the 
74 available output formats. The default is to use the file format of the 
75 first input file.
76
77 =item -h
78
79 Prints the version and options and exits.
80
81 =item -s  E<lt>snaplenE<gt>
82
83 Sets the snapshot length to use when writing the data.
84 If the B<-s> flag is used to specify a snapshot length, frames in the
85 input file with more captured data than the specified snapshot length
86 will have only the amount of data specified by the snapshot length
87 written to the output file.  This may be useful if the program that is
88 to read the output file cannot handle packets larger than a certain size
89 (for example, the versions of snoop in Solaris 2.5.1 and Solaris 2.6
90 appear to reject Ethernet frames larger than the standard Ethernet MTU,
91 making them incapable of handling gigabit Ethernet captures if jumbo
92 frames were used).
93
94 =item -v
95
96 Causes B<mergecap> to print a number of messages while it's working.
97
98 =item -w  E<lt>outfileE<gt>|-
99
100 Sets the output filename. If the name is 'B<->', stdout will be used.
101 This setting is mandatory.
102
103 =item -T  E<lt>encapsulation typeE<gt>
104
105 Sets the packet encapsulation type of the output capture file.
106 If the B<-T> flag is used to specify a frame encapsulation type, the
107 encapsulation type of the output capture file will be forced to the
108 specified type, rather than being the type appropriate to the
109 encapsulation type of the input capture files.  
110
111 Note that this merely
112 forces the encapsulation type of the output file to be the specified
113 type; the packet headers of the packets will not be translated from the
114 encapsulation type of the input capture file to the specified
115 encapsulation type (for example, it will not translate an Ethernet
116 capture to an FDDI capture if an Ethernet capture is read and 'B<-T
117 fddi>' is specified).
118
119 =back
120
121 =head1 SEE ALSO
122
123 I<tcpdump(8)>, I<pcap(3)>, I<ethereal(1)>, I<editcap(1)>
124
125 =head1 NOTES
126
127 B<Mergecap> is based heavily upon B<editcap> by Richard Sharpe
128 <sharpe[AT]ns.aus.com> and Guy Harris <guy[AT]alum.mit.edu>.
129
130 B<Mergecap> is part of the B<Ethereal> distribution.  The latest version
131 of B<Ethereal> can be found at B<http://www.ethereal.com>.
132
133 HTML versions of the Ethereal project man pages are available at:
134 http://www.ethereal.com/docs/man-pages
135
136 =head1 AUTHORS
137
138   Original Author
139   -------- ------
140   Scott Renfro             <scott[AT]renfro.org>
141
142
143   Contributors
144   ------------
145   Bill Guyton              <guyton[AT]bguyton.com>