home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>editcap - The Wireshark Network Analyzer 1.6.1</title>
- <link rel="stylesheet" href="ws.css" type="text/css" />
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <link rev="made" href="mailto:rurban@x-ray.at" />
- </head>
-
- <body>
-
-
- <!-- INDEX BEGIN -->
- <div name="index">
- <p><a name="__index__"></a></p>
- <!--
-
- <ul>
-
- <li><a href="#name">NAME</a></li>
- <li><a href="#synopsis">SYNOPSIS</a></li>
- <li><a href="#description">DESCRIPTION</a></li>
- <li><a href="#options">OPTIONS</a></li>
- <li><a href="#examples">EXAMPLES</a></li>
- <li><a href="#see_also">SEE ALSO</a></li>
- <li><a href="#notes">NOTES</a></li>
- <li><a href="#authors">AUTHORS</a></li>
- </ul>
-
- -->
-
-
- </div>
- <!-- INDEX END -->
-
- <p>
- </p>
- <h1><a name="name">NAME</a></h1>
- <p>editcap - Edit and/or translate the format of capture files</p>
- <p>
- </p>
- <hr />
- <h1><a name="synopsis">SYNOPSIS</a></h1>
- <p><strong>editcap</strong>
- [ <strong>-c</strong> <packets per file> ]
- [ <strong>-C</strong> <choplen> ]
- [ <strong>-E</strong> <error probability> ]
- [ <strong>-F</strong> <file format> ]
- [ <strong>-W</strong> <file format option>]
- [ <strong>-H</strong> <input hosts file<gt ]>
- [ <strong>-A</strong> <start time> ]
- [ <strong>-B</strong> <stop time> ]
- [ <strong>-h</strong> ]
- [ <strong>-i</strong> <seconds per file> ]
- [ <strong>-r</strong> ]
- [ <strong>-s</strong> <snaplen> ]
- [ <strong>-t</strong> <time adjustment> ]
- [ <strong>-S</strong> <strict time adjustment> ]
- [ <strong>-T</strong> <encapsulation type> ]
- [ <strong>-v</strong> ]
- <em>infile</em>
- <em>outfile</em>
- [ <em>packet#</em>[-<em>packet#</em>] ... ]</p>
- <p><strong>editcap</strong>
- <strong>-d</strong> |
- <strong>-D</strong> <dup window> |
- <strong>-w</strong> <dup time window>
- [ <strong>-v</strong> ]
- <em>infile</em>
- <em>outfile</em></p>
- <p>
- </p>
- <hr />
- <h1><a name="description">DESCRIPTION</a></h1>
- <p><strong>Editcap</strong> is a program that reads some or all of the captured packets from the
- <em>infile</em>, optionally converts them in various ways and writes the
- resulting packets to the capture <em>outfile</em> (or outfiles).</p>
- <p>By default, it reads all packets from the <em>infile</em> and writes them to the
- <em>outfile</em> in libpcap file format.</p>
- <p>An optional list of packet numbers can be specified on the command tail;
- individual packet numbers separated by whitespace and/or ranges of packet
- numbers can be specified as <em>start</em>-<em>end</em>, referring to all packets from
- <em>start</em> to <em>end</em>. By default the selected packets with those numbers will
- <em>not</em> be written to the capture file. If the <strong>-r</strong> flag is specified, the
- whole packet selection is reversed; in that case <em>only</em> the selected packets
- will be written to the capture file.</p>
- <p><strong>Editcap</strong> can also be used to remove duplicate packets. Several different
- options (<strong>-d</strong>, <strong>-D</strong> and <strong>-w</strong>) are used to control the packet window
- or relative time window to be used for duplicate comparison.</p>
- <p><strong>Editcap</strong> is able to detect, read and write the same capture files that
- are supported by <strong>Wireshark</strong>.
- 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 <code>wireshark(1)</code> or
- <a href="http://www.wireshark.org/docs/man-pages/wireshark.html">http://www.wireshark.org/docs/man-pages/wireshark.html</a>
- is a detailed description of the way <strong>Wireshark</strong> handles this, which is
- the same way <strong>Editcap</strong> handles this.</p>
- <p><strong>Editcap</strong> can write the file in several output formats. The <strong>-F</strong>
- flag can be used to specify the format in which to write the capture
- file; <strong>editcap -F</strong> provides a list of the available output formats.</p>
- <p>
- </p>
- <hr />
- <h1><a name="options">OPTIONS</a></h1>
- <dl>
- <dt><strong><a name="c_packets_per_file" class="item">-c <packets per file></a></strong></dt>
-
- <dd>
- <p>Splits the packet output to different files based on uniform packet counts
- with a maximum of <packets per file> each. Each output file will
- be created with a suffix -nnnnn, starting with 00000. If the specified
- number of packets is written to the output file, the next output file is
- opened. The default is to use a single output file.</p>
- </dd>
- <dt><strong><a name="c_choplen" class="item">-C <choplen></a></strong></dt>
-
- <dd>
- <p>Sets the chop length to use when writing the packet data. Each packet is
- chopped by a few <choplen> bytes of data. Positive values chop at the packet
- beginning while negative values chop at the packet end.</p>
- <p>This is useful for chopping headers for decapsulation of an entire capture or
- in the rare case that the conversion between two file formats leaves some random
- bytes at the end of each packet.</p>
- </dd>
- <dt><strong><a name="d" class="item">-d</a></strong></dt>
-
- <dd>
- <p>Attempts to remove duplicate packets. The length and MD5 hash of the
- current packet are compared to the previous four (4) packets. If a
- match is found, the current packet is skipped. This option is equivalent
- to using the option <strong>-D 5</strong>.</p>
- </dd>
- <dt><strong><a name="d_dup_window" class="item">-D <dup window></a></strong></dt>
-
- <dd>
- <p>Attempts to remove duplicate packets. The length and MD5 hash of the
- current packet are compared to the previous <dup window> - 1 packets.
- If a match is found, the current packet is skipped.</p>
- <p>The use of the option <strong>-D 0</strong> combined with the <strong>-v</strong> option is useful
- in that each packet's Packet number, Len and MD5 Hash will be printed
- to standard out. This verbose output (specifically the MD5 hash strings)
- can be useful in scripts to identify duplicate packets across trace
- files.</p>
- <p>The <dup window> is specified as an integer value between 0 and 1000000 (inclusive).</p>
- <p>NOTE: Specifying large <dup window> values with large tracefiles can
- result in very long processing times for <strong>editcap</strong>.</p>
- </dd>
- <dt><strong><a name="w_dup_time_window" class="item">-w <dup time window></a></strong></dt>
-
- <dd>
- <p>Attempts to remove duplicate packets. The current packet's arrival time
- is compared with up to 1000000 previous packets. If the packet's relative
- arrival time is <em>less than or equal to</em> the <dup time window> of a previous packet
- and the packet length and MD5 hash of the current packet are the same then
- the packet to skipped. The duplicate comparison test stops when
- the current packet's relative arrival time is greater than <dup time window>.</p>
- <p>The <dup time window> is specified as <em>seconds</em>[<em>.fractional seconds</em>].</p>
- <p>The [.fractional seconds] component can be specified to nine (9) decimal
- places (billionths of a second) but most typical trace files have resolution
- to six (6) decimal places (millionths of a second).</p>
- <p>NOTE: Specifying large <dup time window> values with large tracefiles can
- result in very long processing times for <strong>editcap</strong>.</p>
- <p>NOTE: The <strong>-w</strong> option assumes that the packets are in chronological order.
- If the packets are NOT in chronological order then the <strong>-w</strong> duplication
- removal option may not identify some duplicates.</p>
- </dd>
- <dt><strong><a name="e_error_probability" class="item">-E <error probability></a></strong></dt>
-
- <dd>
- <p>Sets the probability that bytes in the output file are randomly changed.
- <strong>Editcap</strong> 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.</p>
- <p>This option is meant to be used for fuzz-testing protocol dissectors.</p>
- </dd>
- <dt><strong><a name="f_file_format" class="item">-F <file format></a></strong></dt>
-
- <dd>
- <p>Sets the file format of the output capture file.
- <strong>Editcap</strong> can write the file in several formats, <strong>editcap -F</strong>
- provides a list of the available output formats. The default
- is the <strong>libpcap</strong> format.</p>
- </dd>
- <dt><strong><a name="w_file_format_option" class="item">-W <file format option></a></strong></dt>
-
- <dd>
- <p>Save extra information in the file if the format supports it. For
- example,</p>
- <pre>
- -F pcapng -W n</pre>
- <p>will save host name resolution records along with captured packets.</p>
- <p>Future versions of Wireshark may automatically change the capture format to
- <strong>pcapng</strong> as needed.</p>
- <p>The argument is a string that may contain the following letter:</p>
- <p><strong>n</strong> write network address resolution information (pcapng only)</p>
- </dd>
- <dt><strong><a name="h_input_hosts_file" class="item">-H <input "hosts" file></a></strong></dt>
-
- <dd>
- <p>Read a list of address to host name mappings and include the result in
- the output file. Implies <strong>-W n</strong>.</p>
- <p>The input file format is described at
- <a href="http://en.wikipedia.org/wiki/Hosts_%28file%29">http://en.wikipedia.org/wiki/Hosts_%28file%29</a>.</p>
- </dd>
- <dt><strong><a name="a_start_time" class="item">-A <start time></a></strong></dt>
-
- <dd>
- <p>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</p>
- </dd>
- <dt><strong><a name="b_stop_time" class="item">-B <stop time></a></strong></dt>
-
- <dd>
- <p>Saves only the packets whose timestamp is before stop time.
- The time is given in the following format YYYY-MM-DD HH:MM:SS</p>
- </dd>
- <dt><strong><a name="h" class="item">-h</a></strong></dt>
-
- <dd>
- <p>Prints the version and options and exits.</p>
- </dd>
- <dt><strong><a name="i_seconds_per_file" class="item">-i <seconds per file></a></strong></dt>
-
- <dd>
- <p>Splits the packet output to different files based on uniform time intervals
- using a maximum interval of <seconds per file> each. Each output file will
- be created with a suffix -nnnnn, starting with 00000. If packets for the specified
- time interval are written to the output file, the next output file is
- opened. The default is to use a single output file.</p>
- </dd>
- <dt><strong><a name="r" class="item">-r</a></strong></dt>
-
- <dd>
- <p>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.</p>
- </dd>
- <dt><strong><a name="s_snaplen" class="item">-s <snaplen></a></strong></dt>
-
- <dd>
- <p>Sets the snapshot length to use when writing the data.
- If the <strong>-s</strong> 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.</p>
- <p>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).</p>
- </dd>
- <dt><strong><a name="t_time_adjustment" class="item">-t <time adjustment></a></strong></dt>
-
- <dd>
- <p>Sets the time adjustment to use on selected packets.
- If the <strong>-t</strong> 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 [-]<em>seconds</em>[<em>.fractional seconds</em>].
- For example, <strong>-t</strong> 3600 advances the timestamp on selected packets by one
- hour while <strong>-t</strong> -0.5 reduces the timestamp on selected packets by
- one-half second.</p>
- <p>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.</p>
- </dd>
- <dt><strong><a name="s_strict_time_adjustment" class="item">-S <strict time adjustment></a></strong></dt>
-
- <dd>
- <p>Time adjust selected packets to insure strict chronological order.</p>
- <p>The <strict time adjustment> value represents relative seconds
- specified as [-]<em>seconds</em>[<em>.fractional seconds</em>].</p>
- <p>As the capture file is processed each packet's absolute time is
- <em>possibly</em> adjusted to be equal to or greater than the previous
- packet's absolute timestamp depending on the <strict time
- adjustment> value.</p>
- <p>If <strict time adjustment> value is 0 or greater (e.g. 0.000001)
- then <strong>only</strong> packets with a timestamp less than the previous packet
- will adjusted. The adjusted timestamp value will be set to be
- equal to the timestamp value of the previous packet plus the value
- of the <strict time adjustment> value. A <strict time adjustment>
- value of 0 will adjust the minimum number of timestamp values
- necessary to insure that the resulting capture file is in
- strict chronological order.</p>
- <p>If <strict time adjustment> value is specified as a
- negative value, then the timestamp values of <strong>all</strong>
- packets will be adjusted to be equal to the timestamp value
- of the previous packet plus the absolute value of the
- <lt>strict time adjustment<gt> value. A <strict time
- adjustment> value of -0 will result in all packets
- having the timestamp value of the first packet.</p>
- <p>This feature is useful when the trace file has an occasional
- packet with a negative delta time relative to the previous
- packet.</p>
- </dd>
- <dt><strong><a name="t_encapsulation_type" class="item">-T <encapsulation type></a></strong></dt>
-
- <dd>
- <p>Sets the packet encapsulation type of the output capture file.
- If the <strong>-T</strong> flag is used to specify an encapsulation type, the
- encapsulation type of the output capture file will be forced to the
- specified type.
- <strong>editcap -T</strong> provides a list of the available types. The default
- type is the one appropriate to the encapsulation type of the input
- capture file.</p>
- <p>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 '<strong>-T
- fddi</strong>' is specified). If you need to remove/add headers from/to a
- packet, you will need od(1)/text2pcap(1).</p>
- </dd>
- <dt><strong><a name="v" class="item">-v</a></strong></dt>
-
- <dd>
- <p>Causes <strong>editcap</strong> to print verbose messages while it's working.</p>
- <p>Use of <strong>-v</strong> with the de-duplication switches of <strong>-d</strong>, <strong>-D</strong> or <strong>-w</strong>
- will cause all MD5 hashes to be printed whether the packet is skipped
- or not.</p>
- </dd>
- </dl>
- <p>
- </p>
- <hr />
- <h1><a name="examples">EXAMPLES</a></h1>
- <p>To see more detailed description of the options use:</p>
- <pre>
- editcap -h</pre>
- <p>To shrink the capture file by truncating the packets at 64 bytes and writing it as Sun snoop file use:</p>
- <pre>
- editcap -s 64 -F snoop capture.pcap shortcapture.snoop</pre>
- <p>To delete packet 1000 from the capture file use:</p>
- <pre>
- editcap capture.pcap sans1000.pcap 1000</pre>
- <p>To limit a capture file to packets from number 200 to 750 (inclusive) use:</p>
- <pre>
- editcap -r capture.pcap small.pcap 200-750</pre>
- <p>To get all packets from number 1-500 (inclusive) use:</p>
- <pre>
- editcap -r capture.pcap first500.pcap 1-500</pre>
- <p>or</p>
- <pre>
- editcap capture.pcap first500.pcap 501-9999999</pre>
- <p>To exclude packets 1, 5, 10 to 20 and 30 to 40 from the new file use:</p>
- <pre>
- editcap capture.pcap exclude.pcap 1 5 10-20 30-40</pre>
- <p>To select just packets 1, 5, 10 to 20 and 30 to 40 for the new file use:</p>
- <pre>
- editcap -r capture.pcap select.pcap 1 5 10-20 30-40</pre>
- <p>To remove duplicate packets seen within the prior four frames use:</p>
- <pre>
- editcap -d capture.pcap dedup.pcap</pre>
- <p>To remove duplicate packets seen within the prior 100 frames use:</p>
- <pre>
- editcap -D 101 capture.pcap dedup.pcap</pre>
- <p>To remove duplicate packets seen <em>equal to or less than</em> 1/10th of a second:</p>
- <pre>
- editcap -w 0.1 capture.pcap dedup.pcap</pre>
- <p>To display the MD5 hash for all of the packets (and NOT generate any
- real output file):</p>
- <pre>
- editcap -v -D 0 capture.pcap /dev/null</pre>
- <p>or on Windows systems</p>
- <pre>
- editcap -v -D 0 capture.pcap NUL</pre>
- <p>To advance the timestamps of each packet forward by 3.0827 seconds:</p>
- <pre>
- editcap -t 3.0827 capture.pcap adjusted.pcap</pre>
- <p>To insure all timestamps are in strict chronological order:</p>
- <pre>
- editcap -S 0 capture.pcap adjusted.pcap</pre>
- <p>To introduce 5% random errors in a capture file use:</p>
- <pre>
- editcap -E 0.05 capture.pcap capture_error.pcap</pre>
- <p>
- </p>
- <hr />
- <h1><a name="see_also">SEE ALSO</a></h1>
- <p><code>tcpdump(8)</code>, <code>pcap(3)</code>, <code>wireshark(1)</code>, <code>tshark(1)</code>, <code>mergecap(1)</code>, <code>dumpcap(1)</code>,
- <code>capinfos(1)</code>, text2pcap(1), <code>od(1)</code></p>
- <p>
- </p>
- <hr />
- <h1><a name="notes">NOTES</a></h1>
- <p><strong>Editcap</strong> is part of the <strong>Wireshark</strong> distribution. The latest version
- of <strong>Wireshark</strong> can be found at <a href="http://www.wireshark.org">http://www.wireshark.org</a>.</p>
- <p>HTML versions of the Wireshark project man pages are available at:
- <a href="http://www.wireshark.org/docs/man-pages">http://www.wireshark.org/docs/man-pages</a>.</p>
- <p>
- </p>
- <hr />
- <h1><a name="authors">AUTHORS</a></h1>
- <pre>
- Original Author
- -------- ------
- Richard Sharpe <sharpe[AT]ns.aus.com></pre>
- <pre>
- Contributors
- ------------
- Guy Harris <guy[AT]alum.mit.edu>
- Ulf Lamping <ulf.lamping[AT]web.de></pre>
-
- </body>
-
- </html>
-