AH - Authentication Header¶
pcapkit.protocols.internet.ah
contains
AH
only,
which implements extractor for Authentication
Header (AH) [*], whose structure is described
as below:
Octets |
Bits |
Name |
Description |
---|---|---|---|
0 |
0 |
|
Next Header |
1 |
8 |
|
Payload Length |
2 |
16 |
Reserved (must be zero) |
|
4 |
32 |
|
Security Parameters Index (SPI) |
8 |
64 |
|
Sequence Number Field |
12 |
96 |
|
Integrity Check Value (ICV) |
- class pcapkit.protocols.internet.ah.AH(file=None, length=None, **kwargs)[source]¶
-
This class implements Authentication Header.
- property name: Literal['Authentication Header']¶
Name of corresponding protocol.
- property payload: ProtocolBase | NoReturn¶
Payload of current instance.
- Raises:
UnsupportedCall – if the protocol is used as an IPv6 extension header
- property protocol: str | None | NoReturn¶
Name of next layer protocol (if any).
- Raises:
UnsupportedCall – if the protocol is used as an IPv6 extension header
- property protochain: ProtoChain | NoReturn¶
Protocol chain of current instance.
- Raises:
UnsupportedCall – if the protocol is used as an IPv6 extension header
- read(length=None, *, version=4, extension=False, **kwargs)[source]¶
Read Authentication Header.
Structure of AH header [RFC 4302]:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Payload Len | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number Field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Integrity Check Value-ICV (variable) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- make(next=<TransType.UDP: 17>, next_default=None, next_namespace=None, next_reversed=False, spi=0, seq=0, icv=b'', payload=b'', **kwargs)[source]¶
Make (construct) packet data.
- Parameters:
next (
TransType
|IntEnum
|IntEnum
|str
|int
) – Next header type.next_default (
Optional
[int
]) – Default value of next header type.next_namespace (
Union
[dict
[str
,int
],dict
[int
,str
],Type
[IntEnum
],Type
[IntEnum
],None
]) – Namespace of next header type.next_reversed (
bool
) – If the namespace is reversed.spi (
int
) – Security Parameters Index.seq (
int
) – Sequence Number Field.icv (
bytes
) – Integrity Check Value-ICV.payload (
bytes
|ProtocolBase
|Schema
) – Payload of current instance.**kwargs (
Any
) – Arbitrary keyword arguments.
- Return type:
- Returns:
Constructed packet data.
Header Schemas¶
- class pcapkit.protocols.schema.internet.ah.AH(dict_=None, **kwargs)[source]¶
Bases:
Schema
Header schema for AH packet.
- next: Enum_TransType = <EnumField next>¶
Next header.
- len: int = <UInt8Field len>¶
Payload length.
- reserved: bytes = <PaddingField reserved>¶
Reserved.
- spi: int = <UInt32Field spi>¶
Security parameters index.
- seq: int = <UInt32Field seq>¶
Sequence number field.
- icv: bytes = <BytesField icv>¶
Integrity check value.
- payload: bytes = <PayloadField payload>¶
Payload.
Data Models¶
- class pcapkit.protocols.data.internet.ah.AH(*args: VT, **kwargs: VT)[source]¶
Bases:
Protocol
Data model for AH protocol.
- next: TransType¶
Next header.
- length: int¶
Payload length.
- spi: int¶
Security parameters index.
- seq: int¶
Sequence number field.
- icv: bytes¶
Integrity check value.
Footnotes