forked from osmocom/wireshark
13fae81007
svn path=/trunk/; revision=18867
233 lines
7.5 KiB
Text
233 lines
7.5 KiB
Text
|
|
=head1 NAME
|
|
|
|
editcap - Edit and/or translate the format of capture files
|
|
|
|
=head1 SYNOPSYS
|
|
|
|
B<editcap>
|
|
S<[ B<-c> E<lt>packets per fileE<gt> ]>
|
|
S<[ B<-C> E<lt>choplenE<gt> ]>
|
|
S<[ B<-d> ]>
|
|
S<[ B<-E> E<lt>error probabilityE<gt> ]>
|
|
S<[ B<-F> E<lt>file formatE<gt> ]>
|
|
S<[ B<-A> E<lt>start timeE<gt> ]>
|
|
S<[ B<-B> E<lt>stop timeE<gt> ]>
|
|
S<[ B<-h> ]>
|
|
S<[ B<-r> ]>
|
|
S<[ B<-s> E<lt>snaplenE<gt> ]>
|
|
S<[ B<-t> E<lt>time adjustmentE<gt> ]>
|
|
S<[ B<-T> E<lt>encapsulation typeE<gt> ]>
|
|
S<[ B<-v> ]>
|
|
I<infile>
|
|
I<outfile>
|
|
S<[ I<packet#>[-I<packet#>] ... ]>
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
B<Editcap> is a program that reads some or all of the captured packets from the
|
|
I<infile>, optionally converts them in various ways and writes the
|
|
resulting packets to the capture I<outfile> (or outfiles).
|
|
|
|
By default, it reads all packets from the I<infile> and writes them to the
|
|
I<outfile> in libpcap file format.
|
|
|
|
A list of packet numbers can be specified on the command line; ranges of
|
|
packet numbers can be specified as I<start>-I<end>, referring to all packets
|
|
from I<start> to I<end>.
|
|
The selected packets with those numbers will I<not> be written to the
|
|
capture file.
|
|
If the B<-r> flag is specified, the whole packet selection is reversed;
|
|
in that case I<only> the selected packets will be written to the capture file.
|
|
|
|
B<Editcap> is able to detect, read and write the same capture files that
|
|
are supported by B<Wireshark>.
|
|
The input file doesn'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
|
|
L<http://www.wireshark.org/docs/man-pages/wireshark.html>
|
|
is a detailed description of the way B<Wireshark> handles this, which is
|
|
the same way B<Editcap> handles this.
|
|
|
|
B<Editcap> can write the file in several output formats. The B<-F>
|
|
flag can be used to specify the format in which to write the capture
|
|
file, B<editcap -F> provides a list of the available output formats.
|
|
|
|
=head1 OPTIONS
|
|
|
|
=over 4
|
|
|
|
=item -c E<lt>packets per fileE<gt>
|
|
|
|
Sets the maximum number of packets per output file. Each output file will
|
|
be created with a suffix -nnnnn, starting with 00000. If the specified
|
|
number of packets are written to the output file, the next output file is
|
|
opened. The default is to use a single output file.
|
|
|
|
=item -C E<lt>choplenE<gt>
|
|
|
|
Sets the chop length to use when writing the packet data.
|
|
Each packet is chopped at the packet end by a few <choplen> bytes of data.
|
|
|
|
This is useful in the rare case that the conversion between two file
|
|
formats leaves some random bytes at the end of each packet.
|
|
|
|
=item -d
|
|
|
|
Attempts to remove duplicate packets. The length and MD5 sum of the
|
|
current packet are compared to the previous four packets. If a match
|
|
is found, the packet is skipped.
|
|
|
|
=item -E E<lt>error probabilityE<gt>
|
|
|
|
Sets the probabilty that bytes in the output file are randomly changed.
|
|
B<Editcap> uses that probability (between 0.0 and 1.0 inclusive)
|
|
to apply errors to each data byte in the file. For instance, a
|
|
probability of 0.02 means that each byte has a 2% chance of having an error.
|
|
|
|
This option is meant to be used for fuzz-testing protocol dissectors.
|
|
|
|
=item -F E<lt>file formatE<gt>
|
|
|
|
Sets the file format of the output capture file.
|
|
B<Editcap> can write the file in several formats, B<editcap -F>
|
|
provides a list of the available output formats. The default
|
|
is the B<libpcap> format.
|
|
|
|
=item -A E<lt>start timeE<gt>
|
|
|
|
Saves only the packets whose timestamp is on or after start time.
|
|
The time is given in the following format YYYY-MM-DD HH:MM:SS
|
|
|
|
=item -B E<lt>stop timeE<gt>
|
|
|
|
Saves only the packets whose timestamp is on or before stop time.
|
|
The time is given in the following format YYYY-MM-DD HH:MM:SS
|
|
|
|
=item -h
|
|
|
|
Prints the version and options and exits.
|
|
|
|
=item -r
|
|
|
|
Reverse the packet selection.
|
|
Causes the packets whose packet numbers are specified on the command
|
|
line to be written to the output capture file, instead of discarding them.
|
|
|
|
=item -s E<lt>snaplenE<gt>
|
|
|
|
Sets the snapshot length to use when writing the data.
|
|
If the B<-s> flag is used to specify a snapshot length, packets 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 packets larger than the standard Ethernet MTU,
|
|
making them incapable of handling gigabit Ethernet captures if jumbo
|
|
packets were used).
|
|
|
|
=item -t E<lt>time adjustmentE<gt>
|
|
|
|
Sets the time adjustment to use on selected packets.
|
|
If the B<-t> flag is used to specify a time adjustment, the specified
|
|
adjustment will be applied to all selected packets in the capture file.
|
|
The adjustment is specified as [-]I<seconds>[I<.fractional seconds>].
|
|
For example, B<-t> 3600 advances the timestamp on selected packets by one
|
|
hour while B<-t> -0.5 reduces the timestamp on selected packets by
|
|
one-half second.
|
|
|
|
This feature is useful when synchronizing dumps
|
|
collected on different machines where the time difference between the
|
|
two machines is known or can be estimated.
|
|
|
|
=item -T E<lt>encapsulation typeE<gt>
|
|
|
|
Sets the packet encapsulation type of the output capture file.
|
|
If the B<-T> flag is used to specify an encapsulation type, the
|
|
encapsulation type of the output capture file will be forced to the
|
|
specified type.
|
|
B<editcap -T> provides a list of the available types. The default
|
|
type is the one appropriate to the encapsulation type of the input
|
|
capture file.
|
|
|
|
Note: 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 'B<-T
|
|
fddi>' is specified). If you need to remove/add headers from/to a
|
|
packet, you will need od(1)/text2pcap(1).
|
|
|
|
=item -v
|
|
|
|
Causes B<editcap> to print verbose messages while it's working.
|
|
|
|
=back
|
|
|
|
=head1 EXAMPLES
|
|
|
|
To see more detailed description of the options use:
|
|
|
|
editcap -h
|
|
|
|
To shrink the capture file by truncating the packets at 64 bytes and writing it as Sun snoop file use:
|
|
|
|
editcap -s 64 -F snoop capture.pcap shortcapture.snoop
|
|
|
|
To delete packet 1000 from the capture file use:
|
|
|
|
editcap capture.pcap sans1000.pcap 1000
|
|
|
|
To limit a capture file to packets from number 200 to 750 (inclusive) use:
|
|
|
|
editcap -r capture.pcap small.pcap 200-750
|
|
|
|
To get all packets from number 1-500 (inclusive) use:
|
|
|
|
editcap -r capture.pcap 500.pcap 1-500
|
|
|
|
or
|
|
|
|
editcap capture.pcap 500.pcap 501-9999999
|
|
|
|
To filter out packets 10 to 20 and 30 to 40 into a new file use:
|
|
|
|
editcap capture.pcap selection.pcap 10-20 30-40
|
|
|
|
To introduce 5% random errors in a capture file use:
|
|
|
|
=over 4
|
|
|
|
editcap -E 0.05 capture.pcap capture_error.pcap
|
|
|
|
=back
|
|
|
|
=head1 SEE ALSO
|
|
|
|
tcpdump(8), pcap(3), wireshark(1), tshark(1), mergecap(1), dumpcap(1),
|
|
capinfos(1), text2pcap(1), od(1)
|
|
|
|
=head1 NOTES
|
|
|
|
B<Editcap> is part of the B<Wireshark> distribution. The latest version
|
|
of B<Wireshark> can be found at L<http://www.wireshark.org>.
|
|
|
|
HTML versions of the Wireshark project man pages are available at:
|
|
L<http://www.wireshark.org/docs/man-pages>.
|
|
|
|
=head1 AUTHORS
|
|
|
|
Original Author
|
|
-------- ------
|
|
Richard Sharpe <sharpe[AT]ns.aus.com>
|
|
|
|
|
|
Contributors
|
|
------------
|
|
Guy Harris <guy[AT]alum.mit.edu>
|
|
Ulf Lamping <ulf.lamping[AT]web.de>
|