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

eth.dst

Destination MAC Address

1

8

eth.src

Source MAC Address

2

16

eth.type

Protocol (Internet Layer)


class pcapkit.protocols.link.ethernet.Ethernet(file=None, length=None, **kwargs)[source]

Bases: Link[Ethernet]

This class implements Ethernet Protocol.

Parameters
  • *args (Any) – Arbitrary positional arguments.

  • **kwargs (Any) – Arbitrary keyword arguments.

Return type

Protocol[PT]

classmethod __index__()[source]

Numeral registry index of the protocol.

Return type

LinkType

Returns

Numeral registry index of the protocol in tcpdump link-layer header types.

property name: Literal['Ethernet Protocol']

Name of current protocol.

Return type

Literal[‘Ethernet Protocol’]

property length: Literal[14]

Header length of current protocol.

Return type

Literal[14]

property protocol: EtherType

Name of next layer protocol.

Return type

EtherType

property src: str

Source mac address.

Return type

str

property dst: str

Destination mac address.

Return type

str

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           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters
  • length (Optional[int]) – Length of packet data.

  • **kwargs (Any) – Arbitrary keyword arguments.

Return type

Ethernet

Returns

Parsed packet data.

make(**kwargs)[source]

Make (construct) packet data.

Parameters

**kwargs (Any) – Arbitrary keyword arguments.

Return type

NoReturn

Returns

Constructed packet data.

Data Structures

class pcapkit.protocols.data.link.ethernet.Ethernet(dst, src, type)[source]

Bases: Info

Data model for ethernet packet.

Parameters
  • *args (VT) – Arbitrary positional arguments.

  • **kwargs (VT) – Arbitrary keyword arguments.

Return type

Info

dst: str

Destination MAC address.

src: str

Source MAC address.

type: EtherType

Protocol (internet layer).


*

https://en.wikipedia.org/wiki/Ethernet