Fragmented Packets Reassembly¶
pcapkit.reassembly.reassembly contains
class:~pcapkit.reassembly.reassembly.Reassembly only,
which is an abstract base class for all reassembly classes,
bases on algorithms described in RFC 815, implements
datagram reassembly of IP and TCP packets.
-
class
pcapkit.reassembly.reassembly.Reassembly(*, strict=True)[source]¶ Bases:
objectBase class for reassembly procedure.
-
__call__(packet)[source]¶ Call packet reassembly.
- Parameters
packet (dict) – packet dict to be reassembled (detailed format described in corresponding protocol)
-
__init__(*, strict=True)[source]¶ Initialise packet reassembly.
- Keyword Arguments
strict (bool) – if return all datagrams (including those not implemented) when submit
-
fetch()[source]¶ Fetch datagram.
- Returns
Tuple of reassembled datagrams.
- Return type
Tuple[dict]
Fetch reassembled datagrams from
_dtgramand returns a tuple of such datagrams.If
_newflgset asTrue, the method will callsubmit()to (force) obtain newly reassembled payload. Otherwise, the already calculated_dtgramwill be returned.
-
abstract
reassembly(info)[source]¶ Reassembly procedure.
- Parameters
info (pcapkit.corekit.infoclass.Info) – info dict of packets to be reassembled
-
run(packets)[source]¶ Run automatically.
- Parameters
packets (List[dict]) – list of packet dicts to be reassembled
-
abstract
submit(buf, **kwargs)[source]¶ Submit reassembled payload.
- Parameters
buf (dict) – buffer dict of reassembled packets
-
_buffer¶ dict buffer field
-
_dtgram¶ list reassembled datagram
-