<?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.29 (Ruby 3.3.8) -->
<?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-07" category="historic" tocInclude="true" sortRefs="false" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="pcap">PCAP Capture File Format</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcap-07"/>
    <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="March" day="16"/>
    <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>
    </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 bytes 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 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>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>
        <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>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>
      </dl>
      <section anchor="file-endian-information">
        <name>File Endian Information</name>
        <t>The magic number is stored in native endian format, so all the byte 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 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 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="2" month="March" 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-17"/>
        </reference>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="30" month="August" year="2025"/>
            <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-04"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
8d8ZdfibAkUAAA==

-->

</rfc>
