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, 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