<?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.7.36 (Ruby 3.4.9) -->
<?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-08" category="historic" tocInclude="true" sortRefs="false" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="pcap">PCAP Capture File Format</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcap-08"/>
    <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="2026" month="May" day="14"/>
    <abstract>
      <?line 40?>

<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>
    <?line 47?>

<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 historical format used by tcpdump, and other
programs using libpcap, to read and write network traces.
This document describes version 2 of the pcap format.</t>
      <t>This document is published as historical, as there has existed for some time, an updated format called "pcapng", that replaces this file format.  See <xref target="I-D.ietf-opsawg-pcapng"/>.
No new extensions for this format are expected, although new LINKLAYER types that are registered using <xref target="I-D.ietf-opsawg-pcaplinktype"/> can be included in pcap files.</t>
      <t>A major limitation of the pcap v2 format described here is that files consist of a header which is different than the other blocks in the file.
This prevents pcap v2 files from being simply concatenated for processing.
It is also difficult to break pcap v2 files apart, as a new header always needs to be placed at the beginning of any new file.  The pcapng format does not suffer from these problems.</t>
      <t>More significantly, pcap v2 files can only contain packets in a single LINKTYPE format, and this often means that packets are often from a single network interface as not all LINKTYPEs include a way to indicate which interface a packet is from.</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.
<?line -6?>
      </t>
      <t>This document uses the term octet in a way consistent with the word "byte"</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>
      <t>When hosts with a different native endian format read a file, they must swap octets as appropriate.
This is less efficient, but less common, and if repeated access to the files are important, then files can be translated and saved.</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[
                           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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    0 |                          Magic Number                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    4 |         Major Version         |         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 integer, giving the number of the current major version of
the format.  The value for the current version of the format is 2
(big-endian 0x00 0x02 or little-endian 0x02 0x00).  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.  As this document is historical, and no newer formats were publicly released,
this value will not change again.</t>
        </dd>
        <dt>Minor Version (16 bits):</dt>
        <dd>
          <t>an unsigned integer, giving the number of the current minor version of
the format.  The value for the current version of the format is 4
(big-endian 0x00 0x04 or little-endian 0x04 0x00).
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. As this document is historical, and no newer formats exist,
this value will not change again.</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 integer that indicates 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>an unsigned integer 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     |            LinkType           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The field is shown as if it were in the octet 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>FCS len (4 bits):</dt>
        <dd>
          <t>an unsigned integer that indicates 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>
        <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>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>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>LinkType (16 bits):</dt>
        <dd>
          <t>an unsigned integer that indicates the link layer type for packets in the file;
it is a value as defined in the PCAP-related LinkType List registry, as defined in <xref target="I-D.ietf-opsawg-pcaplinktype"/>.</t>
        </dd>
      </dl>
      <section anchor="file-endian-information">
        <name>File Endian Information</name>
        <t>The magic number is stored in native endian format, so all the octet sequences below are magic numbers.</t>
        <ul spacing="normal">
          <li>
            <t>0xA1,0xB2,0xC3,0xD4: little endian file, with timestamps in seconds/microseconds.</t>
          </li>
          <li>
            <t>0x1A,0x2B,0x3C,0x4D: little endian file, with timestamps in seconds/nanoseconds.</t>
          </li>
          <li>
            <t>0xD4,0xC3,0xB2,0xA1: big endian file, with timestamps in seconds/microseconds.</t>
          </li>
          <li>
            <t>0x4D,0x3C,0x2B,0x1A: big endian file, with timestamps in seconds/nanoseconds.</t>
          </li>
        </ul>
      </section>
    </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 integer 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 integer 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 integer 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 <tt>.pcap</tt> should be avoided.</t>
      <t>There is new work to create the PCAP Now Generic 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 validate the File Header and Packet Record headers.
If it analyzes the Packet Data according to the LINKTYPE for the packets, it must also validate all of that data.
A reader can receive as input not only valid headers or packets, but any arbitrary
random sequence of octets:
Headers or packets may be intentionally malformed by a sender, and capture files from outside sources may contain intentionally malformed contents, for malicious reasons.</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 one IANA action:</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="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors wish to thank Michael Tuexen for document shepherding as well as being the original impetous for starting this work.</t>
      <t>Carsten Bormann, Joe Clarke, Mohamed Boucadair, and John Thacker provided review comments and suggested text and diagrams.</t>
      <t>The TCPDUMP Group team, led by Denis Ovsienko, and Francois-Xavier Le Bail contributed to this document and helped motivate its forward progress.</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 anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-opsawg-pcaplinktype">
          <front>
            <title>Link-Layer Types for PCAP-related 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="6" month="April" year="2026"/>
            <abstract>
              <t>   This document describes a set of Packet CAPture (PCAP)-related
   LinkType values and creates an IANA registry for those values.  These
   values are used by the PCAP and PCAP-Now-Generic specifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcaplinktype-18"/>
        </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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-opsawg-pcapng">
          <front>
            <title>PCAP Now Generic (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="16" month="March" year="2026"/>
            <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-05"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
