pypcapkit 1.3.1.dev1__cp311-none-any.whl → 1.3.1.dev3__cp311-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pcapkit/__init__.py +1 -1
- pcapkit/const/reg/apptype.py +13 -1
- pcapkit/const/reg/ethertype.py +10 -8
- pcapkit/const/reg/transtype.py +1 -1
- pcapkit/protocols/internet/ah.py +1 -1
- pcapkit/protocols/internet/hip.py +2 -2
- pcapkit/protocols/internet/hopopt.py +2 -16
- pcapkit/protocols/internet/ipv4.py +8 -8
- pcapkit/protocols/internet/ipv6_frag.py +1 -1
- pcapkit/protocols/internet/ipv6_opts.py +3 -17
- pcapkit/protocols/internet/ipv6_route.py +3 -3
- pcapkit/protocols/internet/mh.py +11 -3
- pcapkit/protocols/link/arp.py +2 -2
- pcapkit/protocols/link/link.py +9 -4
- pcapkit/protocols/misc/pcapng.py +8 -8
- pcapkit/protocols/protocol.py +13 -12
- pcapkit/protocols/schema/internet/hip.py +1 -1
- pcapkit/protocols/schema/internet/hopopt.py +2 -2
- pcapkit/protocols/schema/internet/ipv6_opts.py +2 -2
- pcapkit/protocols/schema/schema.py +13 -21
- pcapkit/protocols/schema/transport/tcp.py +2 -2
- pcapkit/protocols/transport/tcp.py +7 -6
- pcapkit/protocols/transport/udp.py +3 -2
- {pypcapkit-1.3.1.dev1.dist-info → pypcapkit-1.3.1.dev3.dist-info}/METADATA +1 -1
- {pypcapkit-1.3.1.dev1.dist-info → pypcapkit-1.3.1.dev3.dist-info}/RECORD +29 -29
- {pypcapkit-1.3.1.dev1.dist-info → pypcapkit-1.3.1.dev3.dist-info}/WHEEL +1 -1
- {pypcapkit-1.3.1.dev1.dist-info → pypcapkit-1.3.1.dev3.dist-info}/LICENSE +0 -0
- {pypcapkit-1.3.1.dev1.dist-info → pypcapkit-1.3.1.dev3.dist-info}/entry_points.txt +0 -0
- {pypcapkit-1.3.1.dev1.dist-info → pypcapkit-1.3.1.dev3.dist-info}/top_level.txt +0 -0
pcapkit/__init__.py
CHANGED
pcapkit/const/reg/apptype.py
CHANGED
@@ -23047,6 +23047,15 @@ class AppType(StrEnum):
|
|
23047
23047
|
#: [UDP] Reserved
|
23048
23048
|
reserved_8666: 'AppType' = 8666, 'reserved', TransportProtocol.get('udp')
|
23049
23049
|
|
23050
|
+
#: [N/A] Unassigned
|
23051
|
+
unassigned_8667: 'AppType' = 8667, 'unassigned', TransportProtocol.get('undefined')
|
23052
|
+
|
23053
|
+
#: [TCP] Spartan management
|
23054
|
+
spartan: 'AppType' = 8668, 'spartan', TransportProtocol.get('tcp')
|
23055
|
+
|
23056
|
+
#: [UDP] Reserved
|
23057
|
+
reserved_8668: 'AppType' = 8668, 'reserved', TransportProtocol.get('udp')
|
23058
|
+
|
23050
23059
|
#: [TCP] Motorola Solutions Customer Programming Software for Radio Management
|
23051
23060
|
msi_cps_rm: 'AppType' = 8675, 'msi-cps-rm', TransportProtocol.get('tcp')
|
23052
23061
|
|
@@ -28888,6 +28897,9 @@ class AppType(StrEnum):
|
|
28888
28897
|
#: [TCP] A protocol for controlling a microscope
|
28889
28898
|
microdeep: 'AppType' = -1, 'microdeep', TransportProtocol.get('tcp')
|
28890
28899
|
|
28900
|
+
#: [UDP] MIDI 2.0 Device Discovery
|
28901
|
+
midi2: 'AppType' = -1, 'midi2', TransportProtocol.get('udp')
|
28902
|
+
|
28891
28903
|
#: [TCP] Protocol for connected accessories
|
28892
28904
|
mieleacs: 'AppType' = -1, 'mieleacs', TransportProtocol.get('tcp')
|
28893
28905
|
|
@@ -31365,7 +31377,7 @@ class AppType(StrEnum):
|
|
31365
31377
|
if 8616 <= value <= 8664:
|
31366
31378
|
#: [N/A] Unassigned
|
31367
31379
|
return extend_enum(cls, 'unassigned_%d' % value, value, 'unassigned', TransportProtocol.get('undefined'))
|
31368
|
-
if
|
31380
|
+
if 8669 <= value <= 8674:
|
31369
31381
|
#: [N/A] Unassigned
|
31370
31382
|
return extend_enum(cls, 'unassigned_%d' % value, value, 'unassigned', TransportProtocol.get('undefined'))
|
31371
31383
|
if 8676 <= value <= 8685:
|
pcapkit/const/reg/ethertype.py
CHANGED
@@ -50,7 +50,7 @@ class EtherType(IntEnum):
|
|
50
50
|
#: DLOG [Neil Sembower]
|
51
51
|
DLOG_0x0661 = 0x0661
|
52
52
|
|
53
|
-
#: Internet Protocol version 4 (IPv4) [
|
53
|
+
#: Internet Protocol version 4 (IPv4) [RFC-ietf-intarea-rfc7042bis-11]
|
54
54
|
Internet_Protocol_version_4 = 0x0800
|
55
55
|
|
56
56
|
#: X.75 Internet [Neil Sembower]
|
@@ -68,7 +68,7 @@ class EtherType(IntEnum):
|
|
68
68
|
#: X.25 Level 3 [Neil Sembower]
|
69
69
|
X_25_Level_3 = 0x0805
|
70
70
|
|
71
|
-
#: Address Resolution Protocol (ARP) [
|
71
|
+
#: Address Resolution Protocol (ARP) [RFC-ietf-intarea-rfc7042bis-11]
|
72
72
|
Address_Resolution_Protocol = 0x0806
|
73
73
|
|
74
74
|
#: XNS Compatability [Neil Sembower]
|
@@ -318,7 +318,7 @@ class EtherType(IntEnum):
|
|
318
318
|
Wellfleet_Communications = 0x80FF
|
319
319
|
|
320
320
|
#: Customer VLAN Tag Type (C-Tag, formerly called the Q-Tag) (initially
|
321
|
-
#: Wellfleet) [
|
321
|
+
#: Wellfleet) [RFC-ietf-intarea-rfc7042bis-11]
|
322
322
|
Customer_VLAN_Tag_Type = 0x8100
|
323
323
|
|
324
324
|
#: Hayes Microcomputers [Neil Sembower]
|
@@ -381,7 +381,7 @@ class EtherType(IntEnum):
|
|
381
381
|
#: Delta Controls [Neil Sembower]
|
382
382
|
Delta_Controls = 0x86DE
|
383
383
|
|
384
|
-
#: Internet Protocol version 6 (IPv6) [
|
384
|
+
#: Internet Protocol version 6 (IPv6) [RFC-ietf-intarea-rfc7042bis-11]
|
385
385
|
Internet_Protocol_version_6 = 0x86DD
|
386
386
|
|
387
387
|
#: ATOMIC [Joe Touch]
|
@@ -396,16 +396,17 @@ class EtherType(IntEnum):
|
|
396
396
|
#: Secure Data [:rfc:`1701`]
|
397
397
|
Secure_Data = 0x876D
|
398
398
|
|
399
|
-
#: IEEE Std 802.3 - Ethernet Passive Optical Network (EPON) [EPON][
|
399
|
+
#: IEEE Std 802.3 - Ethernet Passive Optical Network (EPON) [EPON][RFC-ietf-
|
400
|
+
#: intarea-rfc7042bis-11]
|
400
401
|
IEEE_Std_802_3_Ethernet_Passive_Optical_Network = 0x8808
|
401
402
|
|
402
403
|
#: Slow Protocols (Link Aggregation, OAM, etc.) [IEEE]
|
403
404
|
Slow_Protocols = 0x8809
|
404
405
|
|
405
|
-
#: Point-to-Point Protocol (PPP) [
|
406
|
+
#: Point-to-Point Protocol (PPP) [RFC-ietf-intarea-rfc7042bis-11]
|
406
407
|
Point_to_Point_Protocol = 0x880B
|
407
408
|
|
408
|
-
#: General Switch Management Protocol (GSMP) [
|
409
|
+
#: General Switch Management Protocol (GSMP) [RFC-ietf-intarea-rfc7042bis-11]
|
409
410
|
General_Switch_Management_Protocol = 0x880C
|
410
411
|
|
411
412
|
#: Ethernet NIC hardware and software testing [Wind River]
|
@@ -417,7 +418,8 @@ class EtherType(IntEnum):
|
|
417
418
|
#: MPLS with upstream-assigned label [:rfc:`5332`]
|
418
419
|
MPLS_with_upstream_assigned_label = 0x8848
|
419
420
|
|
420
|
-
#: Multicast Channel Allocation Protocol (MCAP) [
|
421
|
+
#: Multicast Channel Allocation Protocol (MCAP) [RFC-ietf-intarea-
|
422
|
+
#: rfc7042bis-11]
|
421
423
|
Multicast_Channel_Allocation_Protocol = 0x8861
|
422
424
|
|
423
425
|
#: PPP over Ethernet (PPPoE) Discovery Stage [:rfc:`2516`]
|
pcapkit/const/reg/transtype.py
CHANGED
@@ -476,7 +476,7 @@ class TransType(IntEnum):
|
|
476
476
|
#: AGGFRAG encapsulation payload for ESP [:rfc:`9347`]
|
477
477
|
AGGFRAG = 144
|
478
478
|
|
479
|
-
#: Network Service Header [
|
479
|
+
#: Network Service Header [:rfc:`9491`]
|
480
480
|
NSH = 145
|
481
481
|
|
482
482
|
#: Use for experimentation and testing [:rfc:`3692`]
|
pcapkit/protocols/internet/ah.py
CHANGED
@@ -226,7 +226,7 @@ class AH(IPsec[Data_AH, Schema_AH],
|
|
226
226
|
**kwargs: Arbitrary keyword arguments.
|
227
227
|
|
228
228
|
See Also:
|
229
|
-
For construction argument, please refer to :meth:`make
|
229
|
+
For construction argument, please refer to :meth:`self.make <AH.make>`.
|
230
230
|
|
231
231
|
"""
|
232
232
|
#: bool: If the protocol is used as an IPv6 extension header.
|
@@ -311,7 +311,7 @@ class HIP(Internet[Data_HIP, Schema_HIP],
|
|
311
311
|
- :meth:`~pcapkit.protocols.internet.hip.HIP._read_param_reg_failed`
|
312
312
|
* - :attr:`~pcapkit.const.hip.parameter.Parameter.REG_FROM`
|
313
313
|
- :meth:`~pcapkit.protocols.internet.hip.HIP._read_param_reg_from`
|
314
|
-
* - :attr:`~pcapkit.const.hip.parameter.Parameter.
|
314
|
+
* - :attr:`~pcapkit.const.hip.parameter.Parameter.ECHO_RESPONSE_SIGNED`
|
315
315
|
- :meth:`~pcapkit.protocols.internet.hip.HIP._read_param_echo_response_signed`
|
316
316
|
* - :attr:`~pcapkit.const.hip.parameter.Parameter.TRANSPORT_FORMAT_LIST`
|
317
317
|
- :meth:`~pcapkit.protocols.internet.hip.HIP._read_param_transport_format_list`
|
@@ -611,7 +611,7 @@ class HIP(Internet[Data_HIP, Schema_HIP],
|
|
611
611
|
**kwargs: Arbitrary keyword arguments.
|
612
612
|
|
613
613
|
See Also:
|
614
|
-
For construction argument, please refer to :meth:`make
|
614
|
+
For construction argument, please refer to :meth:`self.make <HIP.make>`.
|
615
615
|
|
616
616
|
"""
|
617
617
|
#: bool: If the protocol is used as an IPv6 extension header.
|
@@ -186,8 +186,8 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
186
186
|
# Defaults.
|
187
187
|
##########################################################################
|
188
188
|
|
189
|
-
#: DefaultDict[Enum_Option, str | tuple[OptionParser, OptionConstructor]]:
|
190
|
-
#:
|
189
|
+
#: DefaultDict[Enum_Option, str | tuple[OptionParser, OptionConstructor]]: Option
|
190
|
+
#: code to method mapping, c.f. :meth:`_read_hopopt_options` and/or
|
191
191
|
#: :meth:`_make_hopopt_options`. Method names are expected to be referred
|
192
192
|
#: to the class by ``_read_opt_${name}`` and/or ``_make_opt_${name}``, and
|
193
193
|
#: if such name not found, the value should then be a method that can parse
|
@@ -492,7 +492,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
492
492
|
|
493
493
|
Args:
|
494
494
|
schema: parsed parameter schema
|
495
|
-
length: option length (incl. type, length, content)
|
496
495
|
option: extracted HOPOPT options
|
497
496
|
|
498
497
|
Returns:
|
@@ -577,7 +576,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
577
576
|
|
578
577
|
Args:
|
579
578
|
schema: parsed parameter schema
|
580
|
-
length: option length (incl. type, length, content)
|
581
579
|
option: extracted HOPOPT options
|
582
580
|
|
583
581
|
Returns:
|
@@ -612,7 +610,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
612
610
|
|
613
611
|
Args:
|
614
612
|
schema: parsed parameter schema
|
615
|
-
length: option length (incl. type, length, content)
|
616
613
|
option: extracted HOPOPT options
|
617
614
|
|
618
615
|
Returns:
|
@@ -653,7 +650,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
653
650
|
|
654
651
|
Args:
|
655
652
|
schema: parsed parameter schema
|
656
|
-
length: option length (incl. type, length, content)
|
657
653
|
option: extracted HOPOPT options
|
658
654
|
|
659
655
|
Returns:
|
@@ -718,7 +714,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
718
714
|
|
719
715
|
Args:
|
720
716
|
schema: parsed parameter schema
|
721
|
-
length: option length (incl. type, length, content)
|
722
717
|
option: extracted HOPOPT options
|
723
718
|
|
724
719
|
Returns:
|
@@ -782,7 +777,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
782
777
|
|
783
778
|
Args:
|
784
779
|
schema: parsed parameter schema
|
785
|
-
length: option length (incl. type, length, content)
|
786
780
|
option: extracted HOPOPT options
|
787
781
|
|
788
782
|
Returns:
|
@@ -842,7 +836,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
842
836
|
|
843
837
|
Args:
|
844
838
|
schema: parsed parameter schema
|
845
|
-
length: option length (incl. type, length, content)
|
846
839
|
option: extracted HOPOPT options
|
847
840
|
|
848
841
|
Returns:
|
@@ -906,7 +899,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
906
899
|
|
907
900
|
Args:
|
908
901
|
schema: parsed parameter schema
|
909
|
-
length: option length (incl. type, length, content)
|
910
902
|
option: extracted HOPOPT options
|
911
903
|
|
912
904
|
Returns:
|
@@ -951,7 +943,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
951
943
|
|
952
944
|
Args:
|
953
945
|
schema: parsed parameter schema
|
954
|
-
length: option length (incl. type, length, content)
|
955
946
|
option: extracted HOPOPT options
|
956
947
|
|
957
948
|
Returns:
|
@@ -1013,7 +1004,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
1013
1004
|
|
1014
1005
|
Args:
|
1015
1006
|
schema: parsed parameter schema
|
1016
|
-
length: option length (incl. type, length, content)
|
1017
1007
|
option: extracted HOPOPT options
|
1018
1008
|
|
1019
1009
|
Returns:
|
@@ -1046,7 +1036,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
1046
1036
|
|
1047
1037
|
Args:
|
1048
1038
|
schema: parsed parameter schema
|
1049
|
-
length: option length (incl. type, length, content)
|
1050
1039
|
option: extracted HOPOPT options
|
1051
1040
|
|
1052
1041
|
Returns:
|
@@ -1078,7 +1067,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
1078
1067
|
|
1079
1068
|
Args:
|
1080
1069
|
schema: parsed parameter schema
|
1081
|
-
length: option length (incl. type, length, content)
|
1082
1070
|
option: extracted HOPOPT options
|
1083
1071
|
|
1084
1072
|
Returns:
|
@@ -1123,7 +1111,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
1123
1111
|
|
1124
1112
|
Args:
|
1125
1113
|
schema: parsed parameter schema
|
1126
|
-
length: option length (incl. type, length, content)
|
1127
1114
|
option: extracted HOPOPT options
|
1128
1115
|
|
1129
1116
|
Returns:
|
@@ -1162,7 +1149,6 @@ class HOPOPT(Internet[Data_HOPOPT, Schema_HOPOPT],
|
|
1162
1149
|
|
1163
1150
|
Args:
|
1164
1151
|
schema: parsed parameter schema
|
1165
|
-
length: option length (incl. type, length, content)
|
1166
1152
|
option: extracted HOPOPT options
|
1167
1153
|
|
1168
1154
|
Returns:
|
@@ -152,9 +152,9 @@ class IPv4(IP[Data_IPv4, Schema_IPv4],
|
|
152
152
|
* - :attr:`~pcapkit.const.ipv4.option_number.OptionNumber.TS`
|
153
153
|
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4._read_opt_ts`
|
154
154
|
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4._make_opt_ts`
|
155
|
-
* - :attr:`~pcapkit.const.ipv4.option_number.OptionNumber.
|
156
|
-
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4.
|
157
|
-
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4.
|
155
|
+
* - :attr:`~pcapkit.const.ipv4.option_number.OptionNumber.E_SEC`
|
156
|
+
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4._read_opt_e_sec`
|
157
|
+
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4._make_opt_e_sec`
|
158
158
|
* - :attr:`~pcapkit.const.ipv4.option_number.OptionNumber.RR`
|
159
159
|
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4._read_opt_rr`
|
160
160
|
- :meth:`~pcapkit.protocols.internet.ipv4.IPv4._make_opt_rr`
|
@@ -800,10 +800,10 @@ class IPv4(IP[Data_IPv4, Schema_IPv4],
|
|
800
800
|
)
|
801
801
|
return opt
|
802
802
|
|
803
|
-
def
|
804
|
-
"""Read IPv4 Extended Security (``
|
803
|
+
def _read_opt_e_sec(self, schema: 'Schema_ESECOption', *, options: 'Option') -> 'Data_ESECOption': # pylint: disable=unused-argument
|
804
|
+
"""Read IPv4 Extended Security (``E-SEC``) option.
|
805
805
|
|
806
|
-
Structure of IPv4 Extended Security (``
|
806
|
+
Structure of IPv4 Extended Security (``E-SEC``) option [:rfc:`1108`]:
|
807
807
|
|
808
808
|
.. code-block:: text
|
809
809
|
|
@@ -1477,11 +1477,11 @@ class IPv4(IP[Data_IPv4, Schema_IPv4],
|
|
1477
1477
|
data=ts_list,
|
1478
1478
|
)
|
1479
1479
|
|
1480
|
-
def
|
1480
|
+
def _make_opt_e_sec(self, kind: 'Enum_OptionNumber', option: 'Optional[Data_ESECOption]' = None, *,
|
1481
1481
|
format: 'int' = 0,
|
1482
1482
|
info: 'Optional[bytes]' = None,
|
1483
1483
|
**kwargs: 'Any') -> 'Schema_ESECOption':
|
1484
|
-
"""Make IPv4 Extended Security (``
|
1484
|
+
"""Make IPv4 Extended Security (``E-SEC``) option.
|
1485
1485
|
|
1486
1486
|
Args:
|
1487
1487
|
kind: option type code
|
@@ -209,7 +209,7 @@ class IPv6_Frag(Internet[Data_IPv6_Frag, Schema_IPv6_Frag],
|
|
209
209
|
**kwargs: Arbitrary keyword arguments.
|
210
210
|
|
211
211
|
See Also:
|
212
|
-
For construction argument, please refer to :meth:`make
|
212
|
+
For construction argument, please refer to :meth:`self.make <IPv6_Frag.make>`.
|
213
213
|
|
214
214
|
"""
|
215
215
|
#: bool: If the protocol is used as an IPv6 extension header.
|
@@ -191,8 +191,8 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
191
191
|
# Defaults.
|
192
192
|
##########################################################################
|
193
193
|
|
194
|
-
#: DefaultDict[Enum_Option, str | tuple[OptionParser, OptionConstructor]]:
|
195
|
-
#:
|
194
|
+
#: DefaultDict[Enum_Option, str | tuple[OptionParser, OptionConstructor]]: Option
|
195
|
+
#: code to method mapping, c.f. :meth:`_read_ipv6_opts` and/or
|
196
196
|
#: :meth:`_make_ipv6_opts`. Method names are expected to be referred to the
|
197
197
|
#: class by ``_read_opt_${name}`` and/or ``_make_opt_${name}``, and if such
|
198
198
|
#: name not found, the value should then be a method that can parse the
|
@@ -393,7 +393,7 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
393
393
|
**kwargs: Arbitrary keyword arguments.
|
394
394
|
|
395
395
|
See Also:
|
396
|
-
For construction argument, please refer to :meth:`make
|
396
|
+
For construction argument, please refer to :meth:`self.make <IPv6_Opts.make>`.
|
397
397
|
|
398
398
|
"""
|
399
399
|
#: bool: If the protocol is used as an IPv6 extension header.
|
@@ -503,7 +503,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
503
503
|
|
504
504
|
Args:
|
505
505
|
schema: parsed parameter schema
|
506
|
-
length: option length (incl. type, length, content)
|
507
506
|
option: extracted IPv6-Opts options
|
508
507
|
|
509
508
|
Returns:
|
@@ -588,7 +587,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
588
587
|
|
589
588
|
Args:
|
590
589
|
schema: parsed parameter schema
|
591
|
-
length: option length (incl. type, length, content)
|
592
590
|
option: extracted IPv6-Opts options
|
593
591
|
|
594
592
|
Returns:
|
@@ -623,7 +621,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
623
621
|
|
624
622
|
Args:
|
625
623
|
schema: parsed parameter schema
|
626
|
-
length: option length (incl. type, length, content)
|
627
624
|
option: extracted IPv6-Opts options
|
628
625
|
|
629
626
|
Returns:
|
@@ -664,7 +661,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
664
661
|
|
665
662
|
Args:
|
666
663
|
schema: parsed parameter schema
|
667
|
-
length: option length (incl. type, length, content)
|
668
664
|
option: extracted IPv6-Opts options
|
669
665
|
|
670
666
|
Returns:
|
@@ -729,7 +725,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
729
725
|
|
730
726
|
Args:
|
731
727
|
schema: parsed parameter schema
|
732
|
-
length: option length (incl. type, length, content)
|
733
728
|
option: extracted IPv6-Opts options
|
734
729
|
|
735
730
|
Returns:
|
@@ -793,7 +788,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
793
788
|
|
794
789
|
Args:
|
795
790
|
schema: parsed parameter schema
|
796
|
-
length: option length (incl. type, length, content)
|
797
791
|
option: extracted IPv6-Opts options
|
798
792
|
|
799
793
|
Returns:
|
@@ -853,7 +847,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
853
847
|
|
854
848
|
Args:
|
855
849
|
schema: parsed parameter schema
|
856
|
-
length: option length (incl. type, length, content)
|
857
850
|
option: extracted IPv6-Opts options
|
858
851
|
|
859
852
|
Returns:
|
@@ -917,7 +910,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
917
910
|
|
918
911
|
Args:
|
919
912
|
schema: parsed parameter schema
|
920
|
-
length: option length (incl. type, length, content)
|
921
913
|
option: extracted IPv6-Opts options
|
922
914
|
|
923
915
|
Returns:
|
@@ -962,7 +954,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
962
954
|
|
963
955
|
Args:
|
964
956
|
schema: parsed parameter schema
|
965
|
-
length: option length (incl. type, length, content)
|
966
957
|
option: extracted IPv6-Opts options
|
967
958
|
|
968
959
|
Returns:
|
@@ -1024,7 +1015,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
1024
1015
|
|
1025
1016
|
Args:
|
1026
1017
|
schema: parsed parameter schema
|
1027
|
-
length: option length (incl. type, length, content)
|
1028
1018
|
option: extracted IPv6-Opts options
|
1029
1019
|
|
1030
1020
|
Returns:
|
@@ -1057,7 +1047,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
1057
1047
|
|
1058
1048
|
Args:
|
1059
1049
|
schema: parsed parameter schema
|
1060
|
-
length: option length (incl. type, length, content)
|
1061
1050
|
option: extracted IPv6-Opts options
|
1062
1051
|
|
1063
1052
|
Returns:
|
@@ -1089,7 +1078,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
1089
1078
|
|
1090
1079
|
Args:
|
1091
1080
|
schema: parsed parameter schema
|
1092
|
-
length: option length (incl. type, length, content)
|
1093
1081
|
option: extracted IPv6-Opts options
|
1094
1082
|
|
1095
1083
|
Returns:
|
@@ -1134,7 +1122,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
1134
1122
|
|
1135
1123
|
Args:
|
1136
1124
|
schema: parsed parameter schema
|
1137
|
-
length: option length (incl. type, length, content)
|
1138
1125
|
option: extracted IPv6-Opts options
|
1139
1126
|
|
1140
1127
|
Returns:
|
@@ -1173,7 +1160,6 @@ class IPv6_Opts(Internet[Data_IPv6_Opts, Schema_IPv6_Opts],
|
|
1173
1160
|
|
1174
1161
|
Args:
|
1175
1162
|
schema: parsed parameter schema
|
1176
|
-
length: option length (incl. type, length, content)
|
1177
1163
|
option: extracted IPv6-Opts options
|
1178
1164
|
|
1179
1165
|
Returns:
|
@@ -96,8 +96,8 @@ class IPv6_Route(Internet[Data_IPv6_Route, Schema_IPv6_Route],
|
|
96
96
|
# Defaults.
|
97
97
|
##########################################################################
|
98
98
|
|
99
|
-
#: DefaultDict[Enum_Routing, str | tuple[TypeParser, TypeConstructor]]:
|
100
|
-
#:
|
99
|
+
#: DefaultDict[Enum_Routing, str | tuple[TypeParser, TypeConstructor]]: Type
|
100
|
+
#: code to method mapping. Method names are expected to be referred to
|
101
101
|
#: the class by ``_read_data_type_${name}`` and/or ``_make_data_type_${name}``,
|
102
102
|
#: and if such name not found, the value should then be a method that can
|
103
103
|
#: parse the routing type by itself.
|
@@ -327,7 +327,7 @@ class IPv6_Route(Internet[Data_IPv6_Route, Schema_IPv6_Route],
|
|
327
327
|
**kwargs: Arbitrary keyword arguments.
|
328
328
|
|
329
329
|
See Also:
|
330
|
-
For construction argument, please refer to :meth:`make
|
330
|
+
For construction argument, please refer to :meth:`self.make <IPv6_Route.make>`.
|
331
331
|
|
332
332
|
"""
|
333
333
|
#: bool: If the protocol is used as an IPv6 extension header.
|
pcapkit/protocols/internet/mh.py
CHANGED
@@ -193,8 +193,16 @@ if TYPE_CHECKING:
|
|
193
193
|
|
194
194
|
__all__ = ['MH']
|
195
195
|
|
196
|
-
|
197
|
-
NTPTimestamp.
|
196
|
+
|
197
|
+
class NTPTimestamp(collections.namedtuple('NTPTimestamp', 'seconds fraction')):
|
198
|
+
"""NTP timestamp format, c.f., :rfc:`1305`."""
|
199
|
+
|
200
|
+
__slots__ = ()
|
201
|
+
|
202
|
+
#: Seconds since 1 January 1900.
|
203
|
+
seconds: int
|
204
|
+
#: Fraction of a second.
|
205
|
+
fraction: int
|
198
206
|
|
199
207
|
|
200
208
|
class MH(Internet[Data_MH, Schema_MH],
|
@@ -607,7 +615,7 @@ class MH(Internet[Data_MH, Schema_MH],
|
|
607
615
|
**kwargs: Arbitrary keyword arguments.
|
608
616
|
|
609
617
|
See Also:
|
610
|
-
For construction argument, please refer to :meth:`make
|
618
|
+
For construction argument, please refer to :meth:`self.make <MH.make>`.
|
611
619
|
|
612
620
|
"""
|
613
621
|
#: bool: If the protocol is used as an IPv6 extension header.
|
pcapkit/protocols/link/arp.py
CHANGED
@@ -80,8 +80,8 @@ class ARP(Link[Data_ARP, Schema_ARP],
|
|
80
80
|
|
81
81
|
- Address Resolution Protocol (:class:`~pcapkit.protocols.link.arp.ARP`) [:rfc:`826`]
|
82
82
|
- Reverse Address Resolution Protocol (:class:`~pcapkit.protocols.link.rarp.RARP`) [:rfc:`903`]
|
83
|
-
- Dynamic Reverse Address Resolution Protocol (:class:`~pcapkit.protocols.link.DRARP`) [:rfc:`1931`]
|
84
|
-
- Inverse Address Resolution Protocol (:class:`~pcapkit.protocols.link.InARP`) [:rfc:`2390`]
|
83
|
+
- Dynamic Reverse Address Resolution Protocol (:class:`~pcapkit.protocols.link.rarp.DRARP`) [:rfc:`1931`]
|
84
|
+
- Inverse Address Resolution Protocol (:class:`~pcapkit.protocols.link.arp.InARP`) [:rfc:`2390`]
|
85
85
|
|
86
86
|
"""
|
87
87
|
#: Name of corresponding protocol.
|
pcapkit/protocols/link/link.py
CHANGED
@@ -5,10 +5,15 @@
|
|
5
5
|
|
6
6
|
.. module:: pcapkit.protocols.link.link
|
7
7
|
|
8
|
-
:mod:`pcapkit.protocols.link.link` contains
|
9
|
-
|
10
|
-
|
11
|
-
:class:`~pcapkit.protocols.link.
|
8
|
+
:mod:`pcapkit.protocols.link.link` contains
|
9
|
+
:class:`~pcapkit.protocols.link.link.Link`,
|
10
|
+
which is a base class for link layer protocols, e.g.
|
11
|
+
:class:`~pcapkit.protocols.link.arp.ARP`/:class:`~pcapkit.protocols.link.arp.InARP`,
|
12
|
+
:class:`~pcapkit.protocols.link.ethernet.Ethernet`,
|
13
|
+
:class:`~pcapkit.protocols.link.l2tp.L2TP`,
|
14
|
+
:class:`~pcapkit.protocols.link.ospf.OSPF`,
|
15
|
+
:class:`~pcapkit.protocols.link.rarp.RARP`/:class:`~pcapkit.protocols.link.rarp.DRARP`
|
16
|
+
and etc.
|
12
17
|
|
13
18
|
"""
|
14
19
|
import collections
|
pcapkit/protocols/misc/pcapng.py
CHANGED
@@ -532,8 +532,8 @@ class PCAPNG(Protocol[Data_PCAPNG, Schema_PCAPNG],
|
|
532
532
|
},
|
533
533
|
) # type: DefaultDict[Enum_LinkType | int, ModuleDescriptor[Protocol] | Type[Protocol]]
|
534
534
|
|
535
|
-
#: DefaultDict[Enum_BlockType, str | tuple[BlockParser, BlockConstructor]]:
|
536
|
-
#:
|
535
|
+
#: DefaultDict[Enum_BlockType, str | tuple[BlockParser, BlockConstructor]]: Block
|
536
|
+
#: type to method mapping. Method names are expected to be referred
|
537
537
|
#: to the class by ``_read_block_${name}`` and/or ``_make_block_${name}``,
|
538
538
|
#: and if such name not found, the value should then be a method that can
|
539
539
|
#: parse the block by itself.
|
@@ -554,8 +554,8 @@ class PCAPNG(Protocol[Data_PCAPNG, Schema_PCAPNG],
|
|
554
554
|
},
|
555
555
|
) # type: DefaultDict[Enum_BlockType | int, str | tuple[BlockParser, BlockConstructor]]
|
556
556
|
|
557
|
-
#: DefaultDict[Enum_OptionType, str | tuple[OptionParser, OptionConstructor]]:
|
558
|
-
#:
|
557
|
+
#: DefaultDict[Enum_OptionType, str | tuple[OptionParser, OptionConstructor]]: Block
|
558
|
+
#: option type to method mapping. Method names are expected to be
|
559
559
|
#: referred to the class by ``_read_option_${name}`` and/or ``_make_option_${name}``,
|
560
560
|
#: and if such name not found, the value should then be a method that can
|
561
561
|
#: parse the option by itself.
|
@@ -605,8 +605,8 @@ class PCAPNG(Protocol[Data_PCAPNG, Schema_PCAPNG],
|
|
605
605
|
},
|
606
606
|
) # type: DefaultDict[Enum_OptionType | int, str | tuple[OptionParser, OptionConstructor]]
|
607
607
|
|
608
|
-
#: DefaultDict[Enum_RecordType, str | tuple[RecordParser, RecordConstructor]]:
|
609
|
-
#:
|
608
|
+
#: DefaultDict[Enum_RecordType, str | tuple[RecordParser, RecordConstructor]]: :manpage:`systemd(1)`
|
609
|
+
#: Journal Export record type to method mapping. Method names are expected
|
610
610
|
#: to be referred to the class by ``_read_record_${name}`` and/or ``_make_record_${name}``,
|
611
611
|
#: and if such name not found, the value should then be a method that can
|
612
612
|
#: parse the name record by itself.
|
@@ -619,8 +619,8 @@ class PCAPNG(Protocol[Data_PCAPNG, Schema_PCAPNG],
|
|
619
619
|
},
|
620
620
|
) # type: DefaultDict[Enum_RecordType | int, str | tuple[RecordParser, RecordConstructor]]
|
621
621
|
|
622
|
-
#: DefaultDict[Enum_SecretsType, str | tuple[SecretsParser, SecretsConstructor]]:
|
623
|
-
#:
|
622
|
+
#: DefaultDict[Enum_SecretsType, str | tuple[SecretsParser, SecretsConstructor]]: Decryption
|
623
|
+
#: secrets type to method mapping. Method names are expected to
|
624
624
|
#: be referred to the class by ``_read_secrets_${name}`` and/or ``_make_secrets_${name}``,
|
625
625
|
#: and if such name not found, the value should then be a method that can
|
626
626
|
#: parse the decryption secrets by itself.
|
pcapkit/protocols/protocol.py
CHANGED
@@ -105,9 +105,9 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
105
105
|
|
106
106
|
#: Layer of protocol, can be one of ``Link``, ``Internet``, ``Transport``
|
107
107
|
#: and ``Application``. For example, the layer of
|
108
|
-
#: :class:`~pcapkit.protocols.link.Ethernet` is ``Link``. However,
|
109
|
-
#: protocols are not in any layer, such as
|
110
|
-
|
108
|
+
#: :class:`~pcapkit.protocols.link.ethernet.Ethernet` is ``Link``. However,
|
109
|
+
#: certain protocols are not in any layer, such as
|
110
|
+
#: :class:`~pcapkit.protocols.misc.raw.Raw`, and thus its layer is :obj:`None`.
|
111
111
|
__layer__: 'Optional[Literal["Link", "Internet", "Transport", "Application"]]' = None
|
112
112
|
|
113
113
|
#: Protocol index mapping for decoding next layer, c.f.
|
@@ -205,8 +205,9 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
205
205
|
def id(cls) -> 'tuple[str, ...]':
|
206
206
|
"""Index ID of the protocol.
|
207
207
|
|
208
|
-
|
209
|
-
|
208
|
+
Returns:
|
209
|
+
By default, it returns the name of the protocol. In certain cases,
|
210
|
+
the method may return multiple values.
|
210
211
|
|
211
212
|
See Also:
|
212
213
|
:meth:`pcapkit.protocols.protocol.Protocol.__getitem__`
|
@@ -500,7 +501,7 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
500
501
|
length: Length of packet data.
|
501
502
|
_layer (str): Parse packet until ``_layer``
|
502
503
|
(:attr:`self._exlayer <pcapkit.protocols.protocol.Protocol._exlayer>`).
|
503
|
-
_protocol (str
|
504
|
+
_protocol (Union[str, Protocol, Type[Protocol]]): Parse packet until ``_protocol``
|
504
505
|
(:attr:`self._exproto <pcapkit.protocols.protocol.Protocol._exproto>`).
|
505
506
|
**kwargs: Arbitrary keyword arguments.
|
506
507
|
|
@@ -657,7 +658,7 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
657
658
|
"""Subscription (``getitem``) support.
|
658
659
|
|
659
660
|
* If ``key`` is a :class:`~pcapkit.protocols.protocol.Protocol` object,
|
660
|
-
the method will fetch its indexes (:meth
|
661
|
+
the method will fetch its indexes (:meth:`self.id <pcapkit.protocols.protocol.Protocol.id>`).
|
661
662
|
* Later, search the packet's chain of protocols with the calculated ``key``.
|
662
663
|
* If no matches, then raises :exc:`~pcapkit.utilities.exceptions.ProtocolNotFound`.
|
663
664
|
|
@@ -760,13 +761,13 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
760
761
|
##########################################################################
|
761
762
|
|
762
763
|
def _get_payload(self) -> 'bytes':
|
763
|
-
"""Get payload
|
764
|
+
"""Get payload from :attr:`self.__header__ <Protocol.__header__>`.
|
764
765
|
|
765
766
|
Returns:
|
766
767
|
Payload of :attr:`self.__header__ <Protocol.__header__>` as :obj:`bytes`.
|
767
768
|
|
768
769
|
See Also:
|
769
|
-
This is a wrapper function for :meth:`pcapkit.protocols.schema.Schema.get_payload`.
|
770
|
+
This is a wrapper function for :meth:`pcapkit.protocols.schema.schema.Schema.get_payload`.
|
770
771
|
|
771
772
|
"""
|
772
773
|
return self.__header__.get_payload()
|
@@ -883,7 +884,7 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
883
884
|
* If ``discard`` is set as :data:`True`, returns the packet body (in
|
884
885
|
:obj:`bytes`) only.
|
885
886
|
* Otherwise, returns the header and payload data as
|
886
|
-
:class:`~pcapkit.protocols.data.protocol.
|
887
|
+
:class:`~pcapkit.protocols.data.protocol.Packet` object.
|
887
888
|
|
888
889
|
"""
|
889
890
|
if header is not None:
|
@@ -1089,7 +1090,7 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
1089
1090
|
dict\_: info buffer
|
1090
1091
|
proto: next layer protocol index
|
1091
1092
|
length: valid (*non-padding*) length
|
1092
|
-
packet: packet info (passed from :meth:`unpack
|
1093
|
+
packet: packet info (passed from :meth:`self.unpack <Protocol.unpack>`)
|
1093
1094
|
|
1094
1095
|
Returns:
|
1095
1096
|
Current protocol with next layer extracted.
|
@@ -1126,7 +1127,7 @@ class ProtocolBase(Generic[PT, ST], metaclass=ProtocolMeta):
|
|
1126
1127
|
Arguments:
|
1127
1128
|
proto: next layer protocol index
|
1128
1129
|
length: valid (*non-padding*) length
|
1129
|
-
packet: packet info (passed from :meth:`unpack
|
1130
|
+
packet: packet info (passed from :meth:`self.unpack <Protocol.unpack>`)
|
1130
1131
|
|
1131
1132
|
Returns:
|
1132
1133
|
Instance of next layer.
|
@@ -122,7 +122,7 @@ def locator_value_selector(pkt: 'dict[str, Any]') -> 'Field':
|
|
122
122
|
|
123
123
|
Returns:
|
124
124
|
* If ``kind`` is ``0`` and ``size`` is ``16``,
|
125
|
-
returns an :class:`~pcapkit.corekit.fields.ipaddress.
|
125
|
+
returns an :class:`~pcapkit.corekit.fields.ipaddress.IPv6AddressField` instance.
|
126
126
|
* If ``kind`` is ``1`` and ``size`` is ``20``,
|
127
127
|
returns a :class:`~pcapkit.corekit.fields.misc.SchemaField` wrapped
|
128
128
|
:class:`~pcapkit.protocols.schema.internet.hip.LocatorData` instance.
|
@@ -172,9 +172,9 @@ def smf_i_dpd_tid_selector(pkt: 'dict[str, Any]') -> 'Field':
|
|
172
172
|
Returns:
|
173
173
|
* If ``tid_type`` is ``0``, returns a :class:`~pcapkit.corekit.fields.misc.NoValueField`
|
174
174
|
instance.
|
175
|
-
* If ``tid_type`` is ``1``, returns a :class:`~pcapkit.corekit.fields.ipaddress.
|
175
|
+
* If ``tid_type`` is ``1``, returns a :class:`~pcapkit.corekit.fields.ipaddress.IPv4AddressField`
|
176
176
|
instance.
|
177
|
-
* If ``tid_type`` is ``2``, returns a :class:`~pcapkit.corekit.fields.ipaddress.
|
177
|
+
* If ``tid_type`` is ``2``, returns a :class:`~pcapkit.corekit.fields.ipaddress.IPv6AddressField`
|
178
178
|
instance.
|
179
179
|
* Otherwise, returns a :class:`~pcapkit.corekit.fields.strings.BytesField` instance.
|
180
180
|
|
@@ -172,9 +172,9 @@ def smf_i_dpd_tid_selector(pkt: 'dict[str, Any]') -> 'Field':
|
|
172
172
|
Returns:
|
173
173
|
* If ``tid_type`` is ``0``, returns a :class:`~pcapkit.corekit.fields.misc.NoValueField`
|
174
174
|
instance.
|
175
|
-
* If ``tid_type`` is ``1``, returns a :class:`~pcapkit.corekit.fields.ipaddress.
|
175
|
+
* If ``tid_type`` is ``1``, returns a :class:`~pcapkit.corekit.fields.ipaddress.IPv4AddressField`
|
176
176
|
instance.
|
177
|
-
* If ``tid_type`` is ``2``, returns a :class:`~pcapkit.corekit.fields.ipaddress.
|
177
|
+
* If ``tid_type`` is ``2``, returns a :class:`~pcapkit.corekit.fields.ipaddress.IPv6AddressField`
|
178
178
|
instance.
|
179
179
|
* Otherwise, returns a :class:`~pcapkit.corekit.fields.strings.BytesField` instance.
|
180
180
|
|
@@ -127,13 +127,17 @@ class SchemaMeta(abc.ABCMeta):
|
|
127
127
|
.. seealso::
|
128
128
|
|
129
129
|
This is implemented thru setting up the initial field dictionary
|
130
|
-
in the
|
130
|
+
in the |prepare|_ method, and then inherit the field
|
131
131
|
dictionaries from the base classes.
|
132
132
|
|
133
|
-
Later, during the class creation, the
|
133
|
+
Later, during the class creation, the
|
134
|
+
:meth:`Field.__set_name__ <pcapkit.corekit.fields.field.FieldBase.__set_name__>`
|
134
135
|
method will be called to set the field name for each field object,
|
135
136
|
as well as to add the field object to the field dictionary.
|
136
137
|
|
138
|
+
.. |prepare| replace:: :meth:`__prepare__`
|
139
|
+
.. _prepare: https://docs.python.org/3/reference/datamodel.html#preparing-the-class-namespace
|
140
|
+
|
137
141
|
* :attr:`Schema.__additional__` and :attr:`Schema.__excluded__` are
|
138
142
|
lists of additional and excluded field names, which are used to
|
139
143
|
determine certain names to be included or excluded from the field
|
@@ -142,8 +146,8 @@ class SchemaMeta(abc.ABCMeta):
|
|
142
146
|
|
143
147
|
.. note::
|
144
148
|
|
145
|
-
This is implemented thru the :meth
|
146
|
-
inherit the additional and excluded field names from the base
|
149
|
+
This is implemented thru the :meth:`~object.__new__` method, which
|
150
|
+
will inherit the additional and excluded field names from the base
|
147
151
|
classes, as well as populating the additional and excluded field
|
148
152
|
from the subclass attributes.
|
149
153
|
|
@@ -162,12 +166,6 @@ class SchemaMeta(abc.ABCMeta):
|
|
162
166
|
print(B.__additional__) # ['a', 'b', 'c', 'd']
|
163
167
|
print(C.__additional__) # ['a', 'b', 'c', 'd', 'e', 'f']
|
164
168
|
|
165
|
-
Args:
|
166
|
-
name: Schema class name.
|
167
|
-
bases: Schema class bases.
|
168
|
-
attrs: Schema class attributes.
|
169
|
-
**kwargs: Arbitrary keyword arguments in class definition.
|
170
|
-
|
171
169
|
"""
|
172
170
|
|
173
171
|
@classmethod
|
@@ -687,13 +685,7 @@ class EnumMeta(SchemaMeta, Generic[ET]):
|
|
687
685
|
|
688
686
|
* :attr:`~EnumSchema.registry` is added to subclasses as an *immutable*
|
689
687
|
proxy (similar to :class:`property`, but on class variables) to the
|
690
|
-
:attr:`__enum__` mapping.
|
691
|
-
|
692
|
-
Args:
|
693
|
-
name: Schema class name.
|
694
|
-
bases: Schema class bases.
|
695
|
-
attrs: Schema class attributes.
|
696
|
-
**kwargs: Arbitrary keyword arguments in class definition.
|
688
|
+
:attr:`EnumSchema.__enum__` mapping.
|
697
689
|
|
698
690
|
"""
|
699
691
|
|
@@ -765,7 +757,7 @@ class EnumSchema(Schema, Generic[ET], metaclass=EnumMeta):
|
|
765
757
|
"""Mapping of enumeration numbers to schemas.
|
766
758
|
|
767
759
|
Note:
|
768
|
-
This property is
|
760
|
+
This property is also available as a class
|
769
761
|
attribute.
|
770
762
|
|
771
763
|
"""
|
@@ -785,13 +777,13 @@ class EnumSchema(Schema, Generic[ET], metaclass=EnumMeta):
|
|
785
777
|
not given, the subclass will not be registered.
|
786
778
|
|
787
779
|
Notes:
|
788
|
-
If :attr
|
780
|
+
If :attr:`__enum__` is not yet defined at function call,
|
789
781
|
it will automatically be defined as a :class:`collections.defaultdict`
|
790
782
|
object, with the default value set to :attr:`__default__`.
|
791
783
|
|
792
|
-
If intended to customise the :attr
|
784
|
+
If intended to customise the :attr:`__enum__` mapping,
|
793
785
|
it is possible to override the :meth:`__init_subclass__` method and
|
794
|
-
define :attr
|
786
|
+
define :attr:`__enum__` manually.
|
795
787
|
|
796
788
|
"""
|
797
789
|
if not hasattr(cls, '__enum__'):
|
@@ -220,9 +220,9 @@ def mptcp_add_address_selector(pkt: 'dict[str, Any]') -> 'Field':
|
|
220
220
|
pkt: Packet data.
|
221
221
|
|
222
222
|
Returns:
|
223
|
-
* If IP version is 4, a :class:`~pcapkit.corekit.fields.ipaddress.
|
223
|
+
* If IP version is 4, a :class:`~pcapkit.corekit.fields.ipaddress.IPv4AddressField`
|
224
224
|
instance.
|
225
|
-
* If IP version is 6, a :class:`~pcapkit.corekit.fields.ipaddress.
|
225
|
+
* If IP version is 6, a :class:`~pcapkit.corekit.fields.ipaddress.IPv6AddressField`
|
226
226
|
instance.
|
227
227
|
|
228
228
|
"""
|
@@ -302,8 +302,9 @@ class TCP(Transport[Data_TCP, Schema_TCP],
|
|
302
302
|
# Defaults.
|
303
303
|
##########################################################################
|
304
304
|
|
305
|
-
#: DefaultDict[int, ModuleDescriptor[Protocol] | Type[Protocol]]: Protocol
|
306
|
-
#: c.f.
|
305
|
+
#: DefaultDict[int, ModuleDescriptor[Protocol] | Type[Protocol]]: Protocol
|
306
|
+
#: index mapping for decoding next layer, c.f.
|
307
|
+
#: :meth:`self._decode_next_layer <pcapkit.protocols.transport.transport.Transport._decode_next_layer>`
|
307
308
|
#: & :meth:`self._import_next_layer <pcapkit.protocols.protocol.Protocol._import_next_layer>`.
|
308
309
|
__proto__ = collections.defaultdict(
|
309
310
|
lambda: ModuleDescriptor('pcapkit.protocols.misc.raw', 'Raw'), # type: ignore[arg-type,return-value]
|
@@ -313,8 +314,8 @@ class TCP(Transport[Data_TCP, Schema_TCP],
|
|
313
314
|
},
|
314
315
|
)
|
315
316
|
|
316
|
-
#: DefaultDict[Enum_Option, str | tuple[OptionParser, OptionConstructor]]:
|
317
|
-
#:
|
317
|
+
#: DefaultDict[Enum_Option, str | tuple[OptionParser, OptionConstructor]]: Option
|
318
|
+
#: code to method mapping, c.f. :meth:`_read_tcp_options` and
|
318
319
|
#: :meth:`_make_tcp_options`. Method names are expected to be referred to
|
319
320
|
#: the class by ``_read_mode_${name}`` and ``_make_mode_${name}``, and if
|
320
321
|
#: such name not found, the value should then be a method that can parse
|
@@ -347,8 +348,8 @@ class TCP(Transport[Data_TCP, Schema_TCP],
|
|
347
348
|
},
|
348
349
|
) # type: DefaultDict[int, str | tuple[OptionParser, OptionConstructor]]
|
349
350
|
|
350
|
-
#: DefaultDict[Enum_MPTCPOption, str | tuple[MPOptionParser, MPOptionConstructor]]:
|
351
|
-
#:
|
351
|
+
#: DefaultDict[Enum_MPTCPOption, str | tuple[MPOptionParser, MPOptionConstructor]]: Option
|
352
|
+
#: code to method mapping, c.f. :meth:`_read_mode_mp` and :meth:`_make_mode_mp`.
|
352
353
|
#: Method names are expected to be referred to the class by ``_read_mptcp_${name}``
|
353
354
|
#: and ``_make_mptcp_${name}``, and if such name not found, the value should
|
354
355
|
#: then be a method that can parse the option by itself.
|
@@ -65,8 +65,9 @@ class UDP(Transport[Data_UDP, Schema_UDP],
|
|
65
65
|
# Defaults.
|
66
66
|
##########################################################################
|
67
67
|
|
68
|
-
#: DefaultDict[int, ModuleDescriptor[Protocol] | Type[Protocol]]: Protocol
|
69
|
-
#: c.f.
|
68
|
+
#: DefaultDict[int, ModuleDescriptor[Protocol] | Type[Protocol]]: Protocol
|
69
|
+
#: index mapping for decoding next layer, c.f.
|
70
|
+
#: :meth:`self._decode_next_layer <pcapkit.protocols.transport.transport.Transport._decode_next_layer>`
|
70
71
|
#: & :meth:`self._import_next_layer <pcapkit.protocols.protocol.Protocol._import_next_layer>`.
|
71
72
|
__proto__ = collections.defaultdict(
|
72
73
|
lambda: ModuleDescriptor('pcapkit.protocols.misc.raw', 'Raw'), # type: ignore[arg-type,return-value]
|
@@ -1,4 +1,4 @@
|
|
1
|
-
pcapkit/__init__.py,sha256=
|
1
|
+
pcapkit/__init__.py,sha256=soDS6EdgH6SEQhK6nVy7pZp9Uh-8lIRiEkxZl4HCm4U,4096
|
2
2
|
pcapkit/__main__.py,sha256=pckITFrDzzXCXPM_r03AAhvpGyqFWdwyKDkGRZENiv4,6313
|
3
3
|
pcapkit/all.py,sha256=6G7rVFlajYk98F5vCYcLOw-CkXdEw4C2zAwnTgU0asU,6679
|
4
4
|
pcapkit/const/__init__.py,sha256=XpEr66hXmBpBofS5aHiTZXTG8VZlxU7xy0BNXBKCi1Q,3266
|
@@ -116,10 +116,10 @@ pcapkit/const/pcapng/record_type.py,sha256=4rZytbhhF6u5SPvQ8ew3jx4OhN_rwDQG3I4Jl
|
|
116
116
|
pcapkit/const/pcapng/secrets_type.py,sha256=n_662aowLtqA25ilbdG6BWb2rYmrdBJt79_SISzfJkw,1578
|
117
117
|
pcapkit/const/pcapng/verdict_type.py,sha256=_jEkN0g6CX-DGshAj-lUiZjiwdK7Fqou2pnzgZ-WyIk,1476
|
118
118
|
pcapkit/const/reg/__init__.py,sha256=xKABPHwDQ0diN2sFA7hkw42FNsb6tx294XemEjTs2g8,1469
|
119
|
-
pcapkit/const/reg/apptype.py,sha256=
|
120
|
-
pcapkit/const/reg/ethertype.py,sha256=
|
119
|
+
pcapkit/const/reg/apptype.py,sha256=kIrgEdxisCTxqeivAOIGmnySoUIP2vr-Wsy7IrsAdB8,1428223
|
120
|
+
pcapkit/const/reg/ethertype.py,sha256=Ie2rI6rEC6Us05jtK-hHkrzad6ecTSktK56tLn52TfQ,26732
|
121
121
|
pcapkit/const/reg/linktype.py,sha256=kQlEMX-MrKbYpeAMk_ClRI_McEedVmSeDnExnO58tHg,37477
|
122
|
-
pcapkit/const/reg/transtype.py,sha256=
|
122
|
+
pcapkit/const/reg/transtype.py,sha256=w7FgjN3uDm8G3MS8EkQr7_DDN-fannqXcMrF0iIyPIs,12888
|
123
123
|
pcapkit/const/tcp/__init__.py,sha256=PSTSxmdKt5l4NBsXq4m8x6dELWqOSNQxAuWePqTNAw8,1494
|
124
124
|
pcapkit/const/tcp/checksum.py,sha256=0SSu5WD2_BcN6CYnIMI0AoToDBFTcVrxOYNzGinm7kE,1524
|
125
125
|
pcapkit/const/tcp/flags.py,sha256=hTsqWViSxku-j8zsbP3274UxNIeNsBF4ZJAyAXMQnRs,1740
|
@@ -175,7 +175,7 @@ pcapkit/interface/__init__.py,sha256=UnQ1wjAWjP4iTA8HGRNonYDegDzCps4f7oWt7GK4kUE
|
|
175
175
|
pcapkit/interface/core.py,sha256=l-fomBF0lonkyEML8C4R-pYvqrhCGOfeLRWusknTQYI,8424
|
176
176
|
pcapkit/interface/misc.py,sha256=viLrss71P793OCNH45Ry8FybJLB8YCGTBRb5zqpIrmE,4805
|
177
177
|
pcapkit/protocols/__init__.py,sha256=3jZrKmShb_dtsgnwh9dqqsCN0kOGYzFAEB0H7PMf4Nc,1841
|
178
|
-
pcapkit/protocols/protocol.py,sha256=
|
178
|
+
pcapkit/protocols/protocol.py,sha256=vwbKmxGhJuJfad9k6cZc0UHY0jt1Fq5g79M4HbPJZ6M,46537
|
179
179
|
pcapkit/protocols/application/__init__.py,sha256=nInVbuUoyQiLGATLiCyxkyEfWyXVJMYVOr7ddrh7LDg,1044
|
180
180
|
pcapkit/protocols/application/application.py,sha256=6z2HKpsIoS0sROYXot_0CTcxbFTWzgO49qeTxgJN8rE,4356
|
181
181
|
pcapkit/protocols/application/ftp.py,sha256=FdNVpBKKYzNV5Cj8Gqm5VqK2O0x9S7SupsL-JgGmdpw,6532
|
@@ -237,19 +237,19 @@ pcapkit/protocols/data/transport/__init__.py,sha256=ONSAUTOHBtgfAM2XBUK74XbNs2n-
|
|
237
237
|
pcapkit/protocols/data/transport/tcp.py,sha256=qC9JiQAGmWrNoCoh2kpCtYOEQIjvUpbBTBMVzBGrE_E,17945
|
238
238
|
pcapkit/protocols/data/transport/udp.py,sha256=rqM4tf8YmWla-_cSDeq5heSzbhp1b3i08dX5Spd3s-c,755
|
239
239
|
pcapkit/protocols/internet/__init__.py,sha256=92A7PPTi_YYjGvns_aRKaBq2uhRMDc_6bkCemKfuqOw,1507
|
240
|
-
pcapkit/protocols/internet/ah.py,sha256=
|
241
|
-
pcapkit/protocols/internet/hip.py,sha256=
|
242
|
-
pcapkit/protocols/internet/hopopt.py,sha256=
|
240
|
+
pcapkit/protocols/internet/ah.py,sha256=mPI887GUeJGxy_Ovoh0Hs2vU2i0gZ9nDJYNNmlN5mDo,10219
|
241
|
+
pcapkit/protocols/internet/hip.py,sha256=NloOKuxvcFFvWvv8D5p5EUdgt8zxmZZ6ocDNM-EC_pI,209870
|
242
|
+
pcapkit/protocols/internet/hopopt.py,sha256=dtpe28jxkpZU7HX6wTkxgDX3gz6iuHzbA3uGtCGiQrQ,75260
|
243
243
|
pcapkit/protocols/internet/internet.py,sha256=tCKlA7gM6-UhG8cu2m935tF_3oH8NS7igna2pL2r2cQ,11328
|
244
244
|
pcapkit/protocols/internet/ip.py,sha256=c1slYoopEg-lXAycf8GQ1_S6nA6Uxbg7CCiMypv5DrY,1648
|
245
245
|
pcapkit/protocols/internet/ipsec.py,sha256=ApIDOxLK2TiTCm0wkkDZgXS4Ifusu84I6i_DNHc_25c,1539
|
246
|
-
pcapkit/protocols/internet/ipv4.py,sha256
|
246
|
+
pcapkit/protocols/internet/ipv4.py,sha256=-A4mrKsh76VjyQiUr53xJX8gI7PyO78HET74ZCwR7I8,70545
|
247
247
|
pcapkit/protocols/internet/ipv6.py,sha256=n1t_obpJwUYWxzZA7fs54ozipemLgRexkKXIaycTR_c,13653
|
248
|
-
pcapkit/protocols/internet/ipv6_frag.py,sha256=
|
249
|
-
pcapkit/protocols/internet/ipv6_opts.py,sha256=
|
250
|
-
pcapkit/protocols/internet/ipv6_route.py,sha256=
|
248
|
+
pcapkit/protocols/internet/ipv6_frag.py,sha256=hVS_-596hx90-mUNerhcfwhExdX9wdG6j6E4qeO04eY,9389
|
249
|
+
pcapkit/protocols/internet/ipv6_opts.py,sha256=FQTg04w4d3iKFqlyK2EmNAkuOEcFUMo0i-zt5spxycw,76104
|
250
|
+
pcapkit/protocols/internet/ipv6_route.py,sha256=X8mpCl6Lbt_fctfSEJEe_iHWWLAOoBAmVAx8Vo07610,29715
|
251
251
|
pcapkit/protocols/internet/ipx.py,sha256=a6SinNMJ5XDttNtn7Ii9H8HNC2-_-w_VuBr4RKSYNm0,7812
|
252
|
-
pcapkit/protocols/internet/mh.py,sha256=
|
252
|
+
pcapkit/protocols/internet/mh.py,sha256=ZINPkkqXp15ZGRuazTk-FXewopxqhourZ2eKdzRSreo,114047
|
253
253
|
pcapkit/protocols/internet/NotImplemented/ecn.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
254
254
|
pcapkit/protocols/internet/NotImplemented/esp.py,sha256=VdD9sGT6vpxZ5x7k6crk1abxlBmmx0sp3Ko3qDtJTGA,4448
|
255
255
|
pcapkit/protocols/internet/NotImplemented/icmp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -257,10 +257,10 @@ pcapkit/protocols/internet/NotImplemented/icmpv6.py,sha256=47DEQpj8HBSa-_TImW-5J
|
|
257
257
|
pcapkit/protocols/internet/NotImplemented/igmp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
258
258
|
pcapkit/protocols/internet/NotImplemented/shim6.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
259
259
|
pcapkit/protocols/link/__init__.py,sha256=PJNPtYKLSdtqcZkGku2C9l3JBvRTE5ze3O6srCWIFgM,998
|
260
|
-
pcapkit/protocols/link/arp.py,sha256=
|
260
|
+
pcapkit/protocols/link/arp.py,sha256=Fks77PjhWXyCGbwSGKw1nsrVea8AK5343nCWfJCWv8Y,16956
|
261
261
|
pcapkit/protocols/link/ethernet.py,sha256=ualSVSEiSPg-K4sq58idd5ad3Lxhga3ko9OXMXcDZH0,8294
|
262
262
|
pcapkit/protocols/link/l2tp.py,sha256=wKdOsjNMnYdEe4RRLyptr7IrN5IKqTPf7y76rw2o2o0,10668
|
263
|
-
pcapkit/protocols/link/link.py,sha256=
|
263
|
+
pcapkit/protocols/link/link.py,sha256=ynOuwqEs0tRCQ8N7Ar4jAPuTVIkPzcQ2dWkKocvM5tA,5956
|
264
264
|
pcapkit/protocols/link/ospf.py,sha256=z01IKw-HdJao3d_ZLm2f_LXzpTresGXsPZSO2xf2A8w,13442
|
265
265
|
pcapkit/protocols/link/rarp.py,sha256=mZcPYXXGMM67zmN4w7MoJ95ufw0cY4NHPcsDNNoQeaM,3250
|
266
266
|
pcapkit/protocols/link/vlan.py,sha256=WDSe_AQIoeKK5VToUdXFnooCjneT4o-lIHmkPWWXWSQ,8585
|
@@ -272,25 +272,25 @@ pcapkit/protocols/link/NotImplemented/ndp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
272
272
|
pcapkit/protocols/link/NotImplemented/ppp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
273
273
|
pcapkit/protocols/misc/__init__.py,sha256=-gT11kcQFhmWa1YpS6LrYKOKZk3Is6GFRjGnYn4fCrM,852
|
274
274
|
pcapkit/protocols/misc/null.py,sha256=gqABjavslAvwbsGPzU-9ZlH0IS12NZcupBirG6ZTgAU,4240
|
275
|
-
pcapkit/protocols/misc/pcapng.py,sha256
|
275
|
+
pcapkit/protocols/misc/pcapng.py,sha256=-2EB0vK_pNKl93EqvN72TZkLISiQDFweDnm6JPY4qLs,238085
|
276
276
|
pcapkit/protocols/misc/raw.py,sha256=MDDxbwY41J3uvdMnirD_18P5OS5_p-3KI1hNE3_NpwY,5949
|
277
277
|
pcapkit/protocols/misc/pcap/__init__.py,sha256=-uxoPg3k-8NteBUUxLdgysbpwHbV_uyHyqz75lKpbc4,542
|
278
278
|
pcapkit/protocols/misc/pcap/frame.py,sha256=PPY7gql7HisyM0QLHDsXWK7w0OZw1mNmHa2OG3v-N8I,18081
|
279
279
|
pcapkit/protocols/misc/pcap/header.py,sha256=qGGd0z9YBgKCMZbvw8QSe9vTA9HuFO60fKSPju2nOzU,12681
|
280
280
|
pcapkit/protocols/schema/__init__.py,sha256=h5GqPMdMYNM7089UA8wLP8E17wEAIZCGoSoySFss6Dg,7306
|
281
|
-
pcapkit/protocols/schema/schema.py,sha256=
|
281
|
+
pcapkit/protocols/schema/schema.py,sha256=MSKkxGVZNRPOzneFaWs3uHLDE1TmZxiayIk7xU7HOFc,29366
|
282
282
|
pcapkit/protocols/schema/application/__init__.py,sha256=5Cug38rdq8thUWMol0ICGIPP7FW3nBeBnFWPbnU0sbA,1997
|
283
283
|
pcapkit/protocols/schema/application/ftp.py,sha256=uZm2D5Za3GJCjATk76dJOwNsO8GuFDMNVtqy2qzSmiI,520
|
284
284
|
pcapkit/protocols/schema/application/httpv1.py,sha256=PC-JCR940Uo_s5e0zGAGj5wRLUDUnkR6j0bx_Vf_VhI,524
|
285
285
|
pcapkit/protocols/schema/application/httpv2.py,sha256=_xEZDAR9Sv9D73yPW8DhqMKWMxdharnA5pMI66XjrAU,11143
|
286
286
|
pcapkit/protocols/schema/internet/__init__.py,sha256=KCjGcFkFOFXndjYpKaktOV4u8LbwG7IRs_jKpG3jUG4,18766
|
287
287
|
pcapkit/protocols/schema/internet/ah.py,sha256=sA-VoMrQwOha3jdJPPmy2oOS_ue1JaqEL55GJNn7u4c,1350
|
288
|
-
pcapkit/protocols/schema/internet/hip.py,sha256=
|
289
|
-
pcapkit/protocols/schema/internet/hopopt.py,sha256=
|
288
|
+
pcapkit/protocols/schema/internet/hip.py,sha256=iacmNM2F69vf005O6A39CMajyFwHcyQre2ja08fFj30,41799
|
289
|
+
pcapkit/protocols/schema/internet/hopopt.py,sha256=UhMalbqbTt5TSbdsU3Gq-RncisGLoZlrI00lb61yCtI,21432
|
290
290
|
pcapkit/protocols/schema/internet/ipv4.py,sha256=us04bxCJ3SJytV65GvxYF79A1gHH3aGQKldaMTirUSE,19070
|
291
291
|
pcapkit/protocols/schema/internet/ipv6.py,sha256=zLtUfBoWwgoKUtojTdWqIceZwPcKBJshdW57GLZtW5g,2045
|
292
292
|
pcapkit/protocols/schema/internet/ipv6_frag.py,sha256=Zewv7Bau3m3DDIja9G9ko_WYMmKo3m1d-DzrQ2jOQ7o,1434
|
293
|
-
pcapkit/protocols/schema/internet/ipv6_opts.py,sha256=
|
293
|
+
pcapkit/protocols/schema/internet/ipv6_opts.py,sha256=M-h3DM_PStbUK2FhHP7UoHiza0AdGh5wI8F5w5jXRlg,21504
|
294
294
|
pcapkit/protocols/schema/internet/ipv6_route.py,sha256=lh-i7i7JEVp7raP3OJc6sUSu5FI1qbe-N5ILCHPzkT4,6272
|
295
295
|
pcapkit/protocols/schema/internet/ipx.py,sha256=RWWMrnXZiruLocpc2BGC7iKQ3qt7GImz72LJzXRr43M,1377
|
296
296
|
pcapkit/protocols/schema/internet/mh.py,sha256=s_S76GUpNP3NwbU1gq9aPg1y8k6KJ7BV0A-LuhNOuss,24920
|
@@ -308,12 +308,12 @@ pcapkit/protocols/schema/misc/pcap/__init__.py,sha256=hM9-xbwwO2ZQsX4k2FsAHGEbxS
|
|
308
308
|
pcapkit/protocols/schema/misc/pcap/frame.py,sha256=aXEnOzGdDe3bnlEwoqb4h2PIyVw7Ixl5VHnMXcOXqic,1573
|
309
309
|
pcapkit/protocols/schema/misc/pcap/header.py,sha256=bxi1MDnc6wvIQcE-uxrqi8t3_YnZDl94j36oJ6BYoGo,2327
|
310
310
|
pcapkit/protocols/schema/transport/__init__.py,sha256=e2Z308ZrFrCVUiABvQyb_9N_jGeMlxIwF2vDHLjB7Vc,4371
|
311
|
-
pcapkit/protocols/schema/transport/tcp.py,sha256=
|
311
|
+
pcapkit/protocols/schema/transport/tcp.py,sha256=6JJg7xAn9W2F0iHVPPHkC0B6MqLXiXnLoTU9dq4m8Gc,27984
|
312
312
|
pcapkit/protocols/schema/transport/udp.py,sha256=NjUfAkllOXnxAh-r3lBLZG-lIYK13Eyykya5BvoraJI,3011
|
313
313
|
pcapkit/protocols/transport/__init__.py,sha256=15zwQlVMcPJeG-s1DZCOU4bA_fPfY52-VRQEO7-TWqw,780
|
314
|
-
pcapkit/protocols/transport/tcp.py,sha256=
|
314
|
+
pcapkit/protocols/transport/tcp.py,sha256=uDIVf6ckWU-4G0BrzXMzYkQzDmuSIED0dJu7e4pXm6c,113862
|
315
315
|
pcapkit/protocols/transport/transport.py,sha256=mFOqlKqpMWy2EGMbnavt5WyJ3rm3zk0oNz1jpgmuE-A,6340
|
316
|
-
pcapkit/protocols/transport/udp.py,sha256=
|
316
|
+
pcapkit/protocols/transport/udp.py,sha256=JU5Z09W6Qqy2gToDR13YSaPqdLgxJxjHb433Pxh_VaE,7185
|
317
317
|
pcapkit/protocols/transport/NotImplemented/dccp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
318
318
|
pcapkit/protocols/transport/NotImplemented/rsvp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
319
319
|
pcapkit/protocols/transport/NotImplemented/sctp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -457,9 +457,9 @@ pcapkit/vendor/tcp/mp_tcp_option.py,sha256=f6_-VMoQFnhuEbxs17Q1rp6JjFSLXGK3w1K2v
|
|
457
457
|
pcapkit/vendor/tcp/option.py,sha256=p05DrOt2m0QCf4gjLJzRshQRvaWxmt2PIzsv2UMjsa8,3043
|
458
458
|
pcapkit/vendor/vlan/__init__.py,sha256=qvLktJ0yuoZokas6-_ZGwMJOzbujSCM8pZHQ9jjTegU,674
|
459
459
|
pcapkit/vendor/vlan/priority_level.py,sha256=xVu6M-Ys4pft5I-qPCCxM-KfnMAUnZppD2qPO9gPkVE,2961
|
460
|
-
pypcapkit-1.3.1.
|
461
|
-
pypcapkit-1.3.1.
|
462
|
-
pypcapkit-1.3.1.
|
463
|
-
pypcapkit-1.3.1.
|
464
|
-
pypcapkit-1.3.1.
|
465
|
-
pypcapkit-1.3.1.
|
460
|
+
pypcapkit-1.3.1.dev3.dist-info/LICENSE,sha256=KkKND5E2e1Z6CQvSLPc1lRBy4xPRed41AG6q1txotWk,1516
|
461
|
+
pypcapkit-1.3.1.dev3.dist-info/METADATA,sha256=-4gneVdAjGqYjys6KyEz4az8JJV_nj5bQStfslFyKHc,7703
|
462
|
+
pypcapkit-1.3.1.dev3.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
|
463
|
+
pypcapkit-1.3.1.dev3.dist-info/entry_points.txt,sha256=8tVaZ-N0S2t19ELoTEGq_OlC8-dSmd7dvNn-kMV3afY,100
|
464
|
+
pypcapkit-1.3.1.dev3.dist-info/top_level.txt,sha256=KEssKRhG9ln3EOfGH-yi98HgI-MM9hOHy09QQP-fvk8,8
|
465
|
+
pypcapkit-1.3.1.dev3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|