<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.21 (Ruby 2.6.6) -->
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc inline="yes"?>
<?rfc strict="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-pcap-04" category="info" tocInclude="true" sortRefs="false" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.1 -->
  <front>
    <title abbrev="pcap">PCAP Capture File Format</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcap-04"/>
    <author initials="G." surname="Harris" fullname="Guy Harris" role="editor">
      <organization/>
      <address>
        <email>gharris@sonic.net</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael C. Richardson">
      <organization abbrev="Sandelman">Sandelman Software Works Inc</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <uri>http://www.sandelman.ca/</uri>
      </address>
    </author>
    <date year="2024" month="August" day="04"/>
    <abstract>
      <t>This document describes the format used by the libpcap library to
record captured packets to a file.  Programs using the libpcap
library to read and write those files, and thus reading and writing
files in that format, include tcpdump.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcap/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        opsawg Working Group mailing list (<eref target="mailto:opsawg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/opsawg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/IETF-OPSAWG-WG/pcapng"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>In the late 1980's, Van Jacobson, Steve McCanne, and others at the
Network Research Group at Lawrence Berkeley National Laboratory
developed the tcpdump program to capture and dissect network traces.
The code to capture traffic, using low-level mechanisms in various
operating systems, and to read and write network traces to a file was
later put into a library named libpcap.</t>
      <t>This document describes the format used by tcpdump, and other
programs using libpcap, to read and write network traces.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="general-file-structure">
      <name>General File Structure</name>
      <t>A capture file begins with a File Header, followed by zero or more
Packet Records, one per packet.</t>
      <t>All fields in the File Header and in the headers of Packet Records will
always be written according to the characteristics (little endian / big
endian) of the machine that is writing the file.  This refers to all the
fields that are written as numbers and that span over two or more
octets.</t>
      <t>The approach of having the file written in the native format of the host
writing the file is more efficient because it avoids translation of data
when writing the file or reading the file on the host that wrote the
file, which is the most common case when generating or processing
capture captures.</t>
    </section>
    <section anchor="file-header">
      <name>File Header</name>
      <t>The File Header has the following format, with the octet offset of
fields shown to the left of the field:</t>
      <figure anchor="fig-header">
        <name>File Header</name>
        <artwork align="left"><![CDATA[
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    0 |                          Magic Number                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    4 |          Major Version        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    6 |          Minor Version        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    8 |                           Reserved1                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |                           Reserved2                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   16 |                            SnapLen                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   20 |               LinkType and additional information             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The File Header length is 24 octets.</t>
      <t>The meaning of the fields in the File Header is:</t>
      <dl>
        <dt>Magic Number (32 bits):</dt>
        <dd>
          <t>an unsigned magic number, whose value is either the hexadecimal number
0xA1B2C3D4 or the hexadecimal number 0xA1B23C4D.</t>
        </dd>
        <dt/>
        <dd>
          <t>If the value is 0xA1B2C3D4, timestamps in Packet Records (see Figure
3) are in seconds and microseconds; if it is 0xA1B23C4D, timestamps in
Packet Records are in seconds and nanoseconds.</t>
        </dd>
        <dt/>
        <dd>
          <t>These numbers can be used to distinguish sessions that have been
written on little-endian machines from the ones written on big-endian
machines, and to heuristically identify pcap files.</t>
        </dd>
        <dt>Major Version (16 bits):</dt>
        <dd>
          <t>an unsigned value, giving the number of the current major version of
the format.  The value for the current version of the format is 2.  This
value should change if the format changes in such a way that code that
reads the new format could not read the old format (i.e., code to read
both formats would have to check the version number and use different
code paths for the two formats) and code that reads the old format could
not read the new format.</t>
        </dd>
        <dt>Minor Version (16 bits):</dt>
        <dd>
          <t>an unsigned value, giving the number of the current minor version of
the format.  The value is for the current version of the format is 4.
This value should change if the format changes in such a way that code
that reads the new format could read the old format without checking the
version number but code that reads the old format could not read all
files in the new format.</t>
        </dd>
        <dt>Reserved1 (32 bits):</dt>
        <dd>
          <t>not used - SHOULD be filled with 0 by pcap file writers, and MUST be
ignored by pcap file readers.  This value was documented by some older
implementations as "gmt to local correction" or "time zone offset".
Some older pcap file writers stored non-zero values in this field.</t>
        </dd>
        <dt>Reserved2 (32 bits):</dt>
        <dd>
          <t>not used - SHOULD be filled with 0 by pcap file writers, and MUST be
ignored by pcap file readers.  This value was documented by some older
implementations as "accuracy of timestamps".  Some older pcap file
writers stored non-zero values in this field.</t>
        </dd>
        <dt>SnapLen (32 bits):</dt>
        <dd>
          <t>an unsigned value indicating the maximum number of octets captured
from each packet.  The portion of each packet that exceeds this value
will not be stored in the file.  This value MUST NOT be zero; if no
limit was specified, the value SHOULD be a number greater than or equal
to the largest packet length in the file.</t>
        </dd>
        <dt>LinkType and additional information (32 bits):</dt>
        <dd>
          <t>a 32-bit unsigned value that contains the link-layer type of packets
in the file and may contain additional information.</t>
        </dd>
      </dl>
      <t>The LinkType and additional information field is in the form</t>
      <figure anchor="fig-linktype">
        <name>LinkType and additional information</name>
        <artwork align="left"><![CDATA[
                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |FCS len|R|P|     Reserved3     |        Link-layer type        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The field is shown as if it were in the byte order of the host reading
or writing the file, with bit 0 being the most-significant bit of the
field and bit 31 being the least-significant bit of the field.</t>
      <dl>
        <dt>Link-layer type (16 bits):</dt>
        <dd>
          <t>a 16-bit value indicating link-layer type for packets in the file;
it is a value as defined in the PCAP LinkType list registry, as defined in <xref target="I-D.ietf-opsawg-pcaplinktype"/>.</t>
        </dd>
        <dt>Reserved3 (10 bits):</dt>
        <dd>
          <t>not used - MUST be set to zero by pcap writers, and MUST NOT be
interpreted by pcap readers; a reader SHOULD treat a non-zero value as
an error.</t>
        </dd>
        <dt>P (1 bit):</dt>
        <dd>
          <t>a bit that, if set, indicates that the Frame Check Sequence (FCS)
length value is present and, if not set, indicates that the FCS value is
not present.</t>
        </dd>
        <dt>R (1 bit):</dt>
        <dd>
          <t>not used - MUST be set to zero by pcap writers, and MUST NOT be
interpreted by pcap readers; a reader SHOULD treat a non-zero value as
an error.</t>
        </dd>
        <dt>FCS len (4 bits):</dt>
        <dd>
          <t>a 4-bit unsigned value indicating the number of 16-bit (2-octet) words
of FCS that are appended to each packet, if the P bit is set; if the P
bit is not set, and the FCS length is not indicated by the link-layer
type value, the FCS length is unknown.  The valid values of the FCS len
field are between 0 and 15; Ethernet, for example, would have an FCS
length value of 2, corresponding to a 4-octet FCS.</t>
        </dd>
      </dl>
    </section>
    <section anchor="packet-record">
      <name>Packet Record</name>
      <t>A Packet Record is the standard container for storing the packets
coming from the network.</t>
      <figure anchor="fig-record">
        <name>Packet Record</name>
        <artwork align="left"><![CDATA[
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    0 |                      Timestamp (Seconds)                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    4 |            Timestamp (Microseconds or nanoseconds)            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    8 |                    Captured Packet Length                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |                    Original Packet Length                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   16 /                                                               /
      /                          Packet Data                          /
      /                  variable length, not padded                  /
      /                                                               /
]]></artwork>
      </figure>
      <t>The Packet Record begins with a 16-octet header, followed by data from
the packet.</t>
      <t>The meaning of the fields in the Packet Record is:</t>
      <dl>
        <dt>Timestamp (Seconds) and Timestamp (Microseconds or nanoseconds):</dt>
        <dd>
          <t>seconds and fraction of a seconds values of a timestamp.</t>
        </dd>
        <dt/>
        <dd>
          <t>The seconds value is a 32-bit unsigned integer that represents the
number of seconds that have elapsed since 1970-01-01 00:00:00 UTC, and
the microseconds or nanoseconds value is a 32-bit unsigned value that
represents the number of microseconds or nanoseconds that have elapsed
since that seconds.</t>
        </dd>
        <dt/>
        <dd>
          <t>The Magic Number field in the File Header of a file indicates
whether the values of the Timestamp (Microseconds or nanoseconds) fields
of packets in that file are in units of microseconds or nanoseconds.</t>
        </dd>
        <dt>Captured Packet Length (32 bits):</dt>
        <dd>
          <t>an unsigned value that indicates the number of octets captured from
the packet (i.e., the length of the Packet Data field).  It will be the
minimum value among the Original Packet Length and the snapshot length
for the interface (SnapLen, defined in Figure 1).</t>
        </dd>
        <dt>Original Packet Length (32 bits):</dt>
        <dd>
          <t>an unsigned value that indicates the number of octets of packet data
that would have been provided had the packet not been truncated to the
snapshot length for the interface or to a length limit imposed by the
capture mechanism. If no truncation was done, it will be the same as
the Captured Packet Length, but it will be different from the Captured
Packet Length if the packet has been truncated by the capture process.
It SHOULD NOT be less than the Captured Packet Length.</t>
        </dd>
        <dt/>
        <dd>
          <t>A pcap file writer MAY write an Original Packet Length that is less
than the Captured Packet Length if both the Captured Packet Length and
the Original Packet length came from a file in which a packet had an
Original Packet Length less than the Captured Packet Length; otherwise,
it MUST write an Original Packet Length that is greater than or equal to
the Captured Packet Length.</t>
        </dd>
        <dt/>
        <dd>
          <t>A pcap file reader MAY convert an Original Packet Length that is less
than the Captured Packet Length to a value that is greater than or equal
to the Captured Packet Length.</t>
        </dd>
        <dt>Packet Data:</dt>
        <dd>
          <t>the data coming from the network, including link-layer headers. The
actual length of this field is the Captured Packet Length. The format
of the link-layer headers depends on the LinkType field specified in the
file header (see Figure 1) and it is specified in
<xref target="I-D.ietf-opsawg-pcaplinktype"/>.</t>
        </dd>
      </dl>
      <t>Packet Records are not padded to a 4-octet boundary; if the number of
octets of packet data is not a multiple of 4, there are no padding
octets following it, so Packet Records are not guaranteed to begin on a
4-octet boundary within a file.</t>
    </section>
    <section anchor="recommended-file-name-extension-pcap">
      <name>Recommended File Name Extension: .pcap</name>
      <t>The recommended file name extension for the "PCAP Capture File Format"
specified in this document is ".pcap".</t>
      <t>On Windows and macOS, files are distinguished by an extension to their
filename. Such an extension is technically not actually required, as
applications should be able to automatically detect the pcap file format
through the Magic Number field in the File Header, as some desktop
environments other than those of Windows and macOS do. However, using
name extensions makes it easier to work with files (e.g. visually
distinguish file formats) so it is recommended - though not required -
to use .pcap as the name extension for files following this
specification.</t>
      <t>Please note: To avoid confusion (such as the current usage of .cap for a
plethora of different capture file formats) file name extensions other
than .pcap should be avoided.</t>
      <t>There is new work to create the PCAP Next Generation capture File Format
(see <xref target="I-D.ietf-opsawg-pcapng"/>).  The new file format is not
compatible with this specification, but many programs read both
transparently.  Files of that type will start with a Section
Header Block, the first four octets of which are 0x0A 0x0D 0x0D 0x0A,
which does not match any of the Magic Number values in a pcap File
Header, allowing code that reads both file formats to determine the
format of a file.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A pcap file reader MUST do invalid header and packet checks.
It can receive as input not only valid headers or packets, but any arbitrary
random sequence of octets:
Headers or packets originally malformed by the sender or by a fuzz tester,
corrupted in transit or for some other reason.</t>
      <t>See also:
https://www.iana.org/assignments/media-types/application/vnd.tcpdump.pcap</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requires the following IANA actions:</t>
      <section anchor="media-type-registry">
        <name>Media-Type Registry</name>
        <t>This section registers the 'application/pcap' in the "Media Types"
registry.  These media types are used to indicate that the content is
packet capture as described in this document.</t>
        <section anchor="applicationpcap">
          <name>application/pcap</name>
          <artwork><![CDATA[
    Type name:  application
    Subtype name:  pcap
    Required parameters:  none
    Optional parameters:  none
    Encoding considerations:  PCAP files contain network packets
    Security considerations:  See Security Considerations, Section
    Interoperability considerations:  The format is designed to be broadly interoperable.
    Published specification:  THIS RFC.
    Applications that use this media type: tcpdump, wireshark, others.
    Additional information:
      Magic number(s): 0xA1B2C3D4, and 0xA1B23C4D in both endian orders
      File extension(s):  .pcap
      Macintosh file type code(s):  none
    Person & email address to contact for further information: The Tcpdump Group, www.tcpdump.org
    Intended usage:  LIMITED
    Restrictions on usage:  NONE
    Author:  Guy Harris and Michael Richardson
    Change controller:  The Tcpdump Group
    Provisional registration? (standards tree only):  NO
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Insert pcap developers etc. here</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors wish to thank (many reviewers) and many others for
their invaluable comments.</t>
      <!--
COMMENTS.
1) if editing with emacs, please use markdown-mode
2) with gin (auto-wrap) *TURNED OFF*,
3) and visual-line-mode *ON*
4) start each sentence on a new line, and mostly keep it on one line.

INSERT GVIM settings.
-->

</section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-opsawg-pcaplinktype">
          <front>
            <title>Link-Layer Types for PCAP and PCAPNG Capture File Formats</title>
            <author fullname="Guy Harris" initials="G." surname="Harris">
         </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works Inc</organization>
            </author>
            <date day="26" month="April" year="2024"/>
            <abstract>
              <t>   This document creates an IANA registry for the PCAP and PCAPNG
   LINKTYPE values.  The PCAP and PCAPNG formats are used to save
   network captures from programs such as tcpdump and wireshark, when
   using libraries such as libpcap.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcaplinktype-03"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-opsawg-pcapng">
          <front>
            <title>PCAP Next Generation (pcapng) Capture File Format</title>
            <author fullname="Michael Tüxen" initials="M." surname="Tüxen">
              <organization>Muenster University of Applied Sciences</organization>
            </author>
            <author fullname="Fulvio Risso" initials="F." surname="Risso">
              <organization>Politecnico di Torino</organization>
            </author>
            <author fullname="Jasper Bongertz" initials="J." surname="Bongertz">
              <organization>Airbus Defence and Space CyberSecurity</organization>
            </author>
            <author fullname="Gerald Combs" initials="G." surname="Combs">
              <organization>Wireshark Foundation</organization>
            </author>
            <author fullname="Guy Harris" initials="G." surname="Harris">
         </author>
            <author fullname="Eelco Chaudron" initials="E." surname="Chaudron">
              <organization>Red Hat</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="23" month="July" year="2023"/>
            <abstract>
              <t>   This document describes a format to record captured packets to a
   file.  This format is extensible; Wireshark can currently read and
   write it, and libpcap can currently read some pcapng files.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcapng-01"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
dnMrX/9wfoFtUVwCLHE4/Dfxv/UfE+i5OwAA

-->

</rfc>
