Protocol Type Registry Vendor Crawlers

LINKTYPE

Link-Layer Header Type Values [*]

ETHERTYPE

Ethertype IEEE 802 Numbers [†]

TRANSTYPE

Transport Layer Protocol Numbers [‡]

APPTYPE

Application Layer Protocol Numbers (Service Name and Transport Protocol Port Number Registry) [§]

Link-Layer Header Type Values

Generates pcapkit.const.reg.linktype.LinkType.

class pcapkit.vendor.reg.linktype.LinkType[source]

Bases: Vendor

Link-Layer Header Type Values

FLAG: str = 'isinstance(value, int) and 0x00000000 <= value <= 0xFFFFFFFF'

Value limit checker.

Link to registry.

Ethertype IEEE 802 Numbers

Generates pcapkit.const.reg.ethertype.EtherType.

class pcapkit.vendor.reg.ethertype.EtherType[source]

Bases: Vendor

Ethertype IEEE 802 Numbers

FLAG: str = 'isinstance(value, int) and 0x0000 <= value <= 0xFFFF'

Value limit checker.

Link to registry.

static _insert_range(ranges, entry)[source]

Insert a range block ahead of the first already-placed range that fully contains it.

The generated _missing_() tests these if blocks in list order and returns on the first match, so a range that is fully contained within an earlier, wider one would never be reached – see GitHub issue #862, where the source table lists 0x0101-0x01FF after the 0x0000-0x05DC range that wholly contains it.

The IANA CSV is not otherwise sorted by range, so this only reorders the pairs where containment would otherwise shadow one of them; every other pair keeps the source table’s row order, appended in the order it was read.

Parameters:

Transport Layer Protocol Numbers

Generates pcapkit.const.reg.transtype.TransType.

class pcapkit.vendor.reg.transtype.TransType[source]

Bases: Vendor

Transport Layer Protocol Numbers

FLAG: str = 'isinstance(value, int) and 0 <= value <= 255'

Value limit checker.

Link to registry.

Application Layer Protocol Numbers

Generates pcapkit.const.reg.apptype. IANA keys every assignment on a (service, port, transport) triple, so the registry is one crawler per transport protocol alongside the base they all render against.

class pcapkit.vendor.reg.apptype.apptype.AppType[source]

Bases: Vendor

Application Layer Protocol Numbers

TRANSPORT: str | None = None

Transport protocol whose assignments this crawler renders; None for the base registry, which renders the rows belonging to no transport.

FLAG: str = 'isinstance(value, int) and 0 <= value <= 65535'

Value limit checker.

Link to registry.

class pcapkit.vendor.reg.apptype.tcp.TCP[source]

Bases: AppType

Application Layer Protocol Numbers (TCP)

TRANSPORT: str | None = 'tcp'

Transport protocol whose assignments this crawler renders.

class pcapkit.vendor.reg.apptype.udp.UDP[source]

Bases: AppType

Application Layer Protocol Numbers (UDP)

TRANSPORT: str | None = 'udp'

Transport protocol whose assignments this crawler renders.

class pcapkit.vendor.reg.apptype.sctp.SCTP[source]

Bases: AppType

Application Layer Protocol Numbers (SCTP)

TRANSPORT: str | None = 'sctp'

Transport protocol whose assignments this crawler renders.

class pcapkit.vendor.reg.apptype.dccp.DCCP[source]

Bases: AppType

Application Layer Protocol Numbers (DCCP)

TRANSPORT: str | None = 'dccp'

Transport protocol whose assignments this crawler renders.

Footnotes