Skip to content

fix(engines): the scapy engine cuts a captured record at 65,535 octets #1717

Closed

Description

@JarryShaw

Describe the bug
pcapkit's scapy engine hands over at most 65,535 octets of a captured record, even when the file holds more. It reads through scapy's PcapReader.recv, which caps a record at scapy's MTU of 65,535 octets. A longer frame therefore reaches reassembly and the tracer truncated. Under the #1687 best-effort ruling this is still a defect, because the engine loses data it was handed.

Reproduction
#1713 round 3 makes examples/generators/options.py emit a genuine 65,590-octet jumbogram into options-ipv6.pcap (snaplen 262,144). The default engine reads all 65,590 octets. The scapy engine (2.7.0 on 3.14, 2.8.0 on 3.11) delivers frame 13's first 65,535 octets. This was found by the #1713 worker before #1714 deleted the cross-engine test that compared them.

Expected behavior
The scapy engine hands over each record's full captured length. For example, it could read records with a cap of at least the file's snaplen, or pass a larger MTU to the reader. A test should pin the record length on a capture with a record over 65,535 octets.

Blocked until the #1708 scapy revert merges, since both edit pcapkit/foundation/engines/scapy.py.

Activity

  1. added
    fixPull requests that fix a defect (fix: subject prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 14, 2026
  2. moved this to Blocked in PyPCAPKiton Oct 14, 2026
  3. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 14, 2026
  4. JarryShaw commented on Oct 14, 2026

    @JarryShaw
    OwnerAuthor

    #1724, the scapy revert, has merged, so this is unblocked. A worker is on it.

  5. moved this from Blocked to WIP in PyPCAPKiton Oct 14, 2026
  6. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    fixPull requests that fix a defect (fix: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions