Ethernet Protocol¶
pcapkit.protocols.link.ethernet
contains
Ethernet
only, which implements extractor for Ethernet
Protocol [*], whose structure is described as
below:
Octets |
Bits |
Name |
Description |
---|---|---|---|
0 |
0 |
|
Destination MAC Address |
1 |
8 |
|
Source MAC Address |
2 |
16 |
|
Protocol (Internet Layer) |
- class pcapkit.protocols.link.ethernet.Ethernet(file=None, length=None, **kwargs)[source]¶
Bases:
Link
[Ethernet
,Ethernet
]This class implements Ethernet Protocol.
- property name: Literal['Ethernet Protocol']¶
Name of current protocol.
- read(length=None, **kwargs)[source]¶
Read Ethernet Protocol.
Structure of Ethernet header [RFC 7042]:
0 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dst MAC Addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Src MAC Addr | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Ether Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- make(dst='00:00:00:00:00:00', src='00:00:00:00:00:00', type=<EtherType.Internet_Protocol_version_4: 2048>, type_default=None, type_namespace=None, type_reversed=False, payload=b'', **kwargs)[source]¶
Make (construct) packet data.
- Parameters:
type (
EtherType
|IntEnum
|IntEnum
|str
|int
) – EtherType.type_namespace (
Union
[dict
[str
,int
],dict
[int
,str
],Type
[IntEnum
],Type
[IntEnum
],None
]) – EtherType namespace.type_reversed (
bool
) – Whether EtherType is reversed.payload (
bytes
|ProtocolBase
|Schema
) – Payload data.**kwargs (
Any
) – Arbitrary keyword arguments.
- Return type:
- Returns:
Constructed packet data.
Header Schemas¶
- class pcapkit.protocols.schema.link.ethernet.Ethernet(dict_=None, **kwargs)[source]¶
Bases:
Schema
Header schema for ethernet packet.
- dst: bytes = <BytesField dst>¶
Destination MAC address.
- src: bytes = <BytesField src>¶
Source MAC address.
- type: Enum_EtherType = <EnumField type>¶
Protocol (internet layer).
- payload: bytes = <PayloadField payload>¶
Payload.
Auxiliary Functions¶
- pcapkit.protocols.schema.link.ethernet.callback_payload(self, packet)[source]¶
Callback function for
Ethernet.payload
.- Return type:
Data Models¶
- class pcapkit.protocols.data.link.ethernet.Ethernet(*args: VT, **kwargs: VT)[source]¶
Bases:
Protocol
Data model for ethernet packet.
- dst: str¶
Destination MAC address.
- src: str¶
Source MAC address.
- type: EtherType¶
Protocol (internet layer).
Footnotes