Base Class¶
pcapkit.foundation.reassembly.reassembly
contains
Reassembly
only,
which is an abstract base class for all reassembly classes,
bases on algorithms described in RFC 791 and RFC 815,
implements datagram reassembly of IP and TCP packets.
- class pcapkit.foundation.reassembly.reassembly.Reassembly(*, strict=True)[source]¶
Bases:
Generic
[PT
,DT
,IT
,BT
]Base class for reassembly procedure.
- Parameters
strict (
bool
) – if return all datagrams (including those not implemented) when submit*args (Any) – Arbitrary positional arguments.
**kwargs (Any) – Arbitrary keyword arguments.
- Return type
Reassembly[PT, DT, IT, BT]
- __init__(*, strict=True)[source]¶
Initialise packet reassembly.
- Parameters
strict (
bool
) – if return all datagrams (including those not implemented) when submit- Return type
None
- abstract submit(buf, **kwargs)[source]¶
Submit reassembled payload.
- Parameters
buf (BT) – buffer dict of reassembled packets
**kwargs (Any) – arbitrary keyword arguments
- Return type
list[DT]
- fetch()[source]¶
Fetch datagram.
- Returns
Tuple of reassembled datagrams.
- Return type
tuple[DT, …]
Fetch reassembled datagrams from
_dtgram
and returns a tuple of such datagrams.If no cache found, the method will call
submit()
to forcedly obtain newly reassembled payload. Otherwise, the already calculated_dtgram
will be returned.