Base Protocol¶
pcapkit.protocols.internet.internet
contains Internet
,
which is a base class for internet layer protocols, eg. AH
,
IPsec
, IPv4
,
IPv6
, IPX
, and etc.
- class pcapkit.protocols.internet.internet.Internet(file=None, length=None, **kwargs)[source]¶
Bases:
Protocol
[PT
],Generic
[PT
]Abstract base class for internet layer protocol family.
This class currently supports parsing of the following protocols, which are registered in the
self.__proto__
attribute:Index
Protocol
- Parameters
*args (Any) – Arbitrary positional arguments.
**kwargs (Any) – Arbitrary keyword arguments.
- Return type
Protocol[PT]
- classmethod register(code, module, class_)[source]¶
Register a new protocol class.
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}
.
- _decode_next_layer(dict_, proto=None, length=None, *, version=4, ipv6_exthdr=None)[source]¶
Decode next layer extractor.
- Parameters
- Return type
TypeVar
(PT
, bound= Info)- Returns
Current protocol with next layer extracted.
- _import_next_layer(proto, length=None, *, version=4, extension=False)[source]¶
Import next layer extractor.
- __layer__: Optional[Literal['Link', 'Internet', 'Transport', 'Application']] = 'Internet'¶
Layer of protocol.
- __proto__: DefaultDict[int, tuple[str, str]]¶
Protocol index mapping for decoding next layer, c.f.
self._decode_next_layer
&self._import_next_layer
.