pypcapkit 0.16.2__tar.gz → 1.0.0__tar.gz

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.
Files changed (530) hide show
  1. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/LICENSE +1 -1
  2. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/MANIFEST.in +4 -10
  3. {pypcapkit-0.16.2/pypcapkit.egg-info → pypcapkit-1.0.0}/PKG-INFO +41 -38
  4. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/README.rst +23 -24
  5. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/__init__.py +8 -2
  6. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/__main__.py +7 -6
  7. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/all.py +26 -5
  8. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/__init__.py +23 -4
  9. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/arp/hardware.py +10 -6
  10. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/arp/operation.py +5 -3
  11. pypcapkit-1.0.0/pcapkit/const/ftp/command.py +257 -0
  12. pypcapkit-1.0.0/pcapkit/const/ftp/return_code.py +276 -0
  13. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/__init__.py +5 -1
  14. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/certificate.py +5 -3
  15. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/cipher.py +5 -3
  16. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/di.py +5 -3
  17. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/ecdsa_curve.py +5 -3
  18. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/ecdsa_low_curve.py +5 -3
  19. pypcapkit-1.0.0/pcapkit/const/hip/eddsa_curve.py +65 -0
  20. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/esp_transform_suite.py +5 -3
  21. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/group.py +5 -3
  22. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/hi_algorithm.py +12 -4
  23. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/hit_suite.py +12 -4
  24. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/nat_traversal.py +5 -3
  25. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/notify_message.py +17 -27
  26. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/packet.py +7 -7
  27. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/parameter.py +52 -97
  28. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/registration.py +6 -5
  29. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/registration_failure.py +6 -5
  30. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/suite.py +5 -3
  31. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/hip/transport.py +4 -1
  32. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/http/__init__.py +11 -1
  33. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/http/error_code.py +21 -19
  34. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/http/frame.py +17 -16
  35. pypcapkit-1.0.0/pcapkit/const/http/method.py +184 -0
  36. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/http/setting.py +20 -12
  37. pypcapkit-1.0.0/pcapkit/const/http/status_code.py +294 -0
  38. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/__init__.py +2 -0
  39. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/classification_level.py +6 -3
  40. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/option_class.py +5 -3
  41. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/option_number.py +5 -3
  42. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/protection_authority.py +6 -4
  43. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/qs_function.py +5 -3
  44. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/router_alert.py +6 -5
  45. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/tos_del.py +5 -3
  46. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/tos_ecn.py +5 -3
  47. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/tos_pre.py +5 -3
  48. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/tos_rel.py +5 -3
  49. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/tos_thr.py +5 -3
  50. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv4/ts_flag.py +5 -3
  51. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/__init__.py +7 -1
  52. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/extension_header.py +10 -1
  53. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/option.py +14 -7
  54. pypcapkit-1.0.0/pcapkit/const/ipv6/option_action.py +55 -0
  55. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/qs_function.py +5 -3
  56. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/router_alert.py +6 -5
  57. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/routing.py +5 -3
  58. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/seed_id.py +5 -3
  59. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/smf_dpd_mode.py +5 -3
  60. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipv6/tagger_id.py +5 -3
  61. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipx/__init__.py +2 -0
  62. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipx/packet.py +5 -3
  63. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ipx/socket.py +9 -11
  64. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/l2tp/__init__.py +2 -0
  65. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/l2tp/type.py +5 -3
  66. pypcapkit-1.0.0/pcapkit/const/mh/__init__.py +183 -0
  67. pypcapkit-1.0.0/pcapkit/const/mh/access_type.py +92 -0
  68. pypcapkit-1.0.0/pcapkit/const/mh/ack_status_code.py +71 -0
  69. pypcapkit-1.0.0/pcapkit/const/mh/ani_suboption.py +74 -0
  70. pypcapkit-1.0.0/pcapkit/const/mh/auth_subtype.py +53 -0
  71. pypcapkit-1.0.0/pcapkit/const/mh/binding_ack_flag.py +66 -0
  72. pypcapkit-1.0.0/pcapkit/const/mh/binding_revocation.py +59 -0
  73. pypcapkit-1.0.0/pcapkit/const/mh/binding_update_flag.py +81 -0
  74. pypcapkit-1.0.0/pcapkit/const/mh/dhcp_support_mode.py +53 -0
  75. pypcapkit-1.0.0/pcapkit/const/mh/dns_status_code.py +65 -0
  76. pypcapkit-1.0.0/pcapkit/const/mh/dsmip6_tls_packet.py +62 -0
  77. pypcapkit-1.0.0/pcapkit/const/mh/dsmipv6_home_address.py +74 -0
  78. pypcapkit-1.0.0/pcapkit/const/mh/enumerating_algorithm.py +56 -0
  79. pypcapkit-1.0.0/pcapkit/const/mh/fb_ack_status.py +62 -0
  80. pypcapkit-1.0.0/pcapkit/const/mh/fb_action.py +71 -0
  81. pypcapkit-1.0.0/pcapkit/const/mh/fb_indication_trigger.py +65 -0
  82. pypcapkit-1.0.0/pcapkit/const/mh/fb_type.py +59 -0
  83. pypcapkit-1.0.0/pcapkit/const/mh/flow_id_status.py +77 -0
  84. pypcapkit-1.0.0/pcapkit/const/mh/flow_id_suboption.py +71 -0
  85. pypcapkit-1.0.0/pcapkit/const/mh/handoff_type.py +71 -0
  86. pypcapkit-1.0.0/pcapkit/const/mh/handover_ack_flag.py +54 -0
  87. pypcapkit-1.0.0/pcapkit/const/mh/handover_ack_status.py +92 -0
  88. pypcapkit-1.0.0/pcapkit/const/mh/handover_initiate_flag.py +57 -0
  89. pypcapkit-1.0.0/pcapkit/const/mh/handover_initiate_status.py +62 -0
  90. pypcapkit-1.0.0/pcapkit/const/mh/home_address_reply.py +71 -0
  91. pypcapkit-1.0.0/pcapkit/const/mh/lma_mag_suboption.py +59 -0
  92. pypcapkit-1.0.0/pcapkit/const/mh/mn_group_id.py +59 -0
  93. pypcapkit-1.0.0/pcapkit/const/mh/mn_id_subtype.py +77 -0
  94. pypcapkit-1.0.0/pcapkit/const/mh/operator_id.py +63 -0
  95. pypcapkit-1.0.0/pcapkit/const/mh/option.py +260 -0
  96. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/mh/packet.py +5 -3
  97. pypcapkit-1.0.0/pcapkit/const/mh/qos_attribute.py +89 -0
  98. pypcapkit-1.0.0/pcapkit/const/mh/revocation_status_code.py +65 -0
  99. pypcapkit-1.0.0/pcapkit/const/mh/revocation_trigger.py +86 -0
  100. pypcapkit-1.0.0/pcapkit/const/mh/status_code.py +67 -0
  101. pypcapkit-1.0.0/pcapkit/const/mh/traffic_selector.py +62 -0
  102. pypcapkit-1.0.0/pcapkit/const/mh/upa_status.py +71 -0
  103. pypcapkit-1.0.0/pcapkit/const/mh/upn_reason.py +80 -0
  104. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ospf/__init__.py +2 -0
  105. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ospf/authentication.py +6 -5
  106. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ospf/packet.py +6 -5
  107. pypcapkit-1.0.0/pcapkit/const/pcapng/__init__.py +51 -0
  108. pypcapkit-1.0.0/pcapkit/const/pcapng/block_type.py +152 -0
  109. pypcapkit-1.0.0/pcapkit/const/pcapng/filter_type.py +48 -0
  110. pypcapkit-1.0.0/pcapkit/const/pcapng/hash_algorithm.py +59 -0
  111. pypcapkit-1.0.0/pcapkit/const/pcapng/option_type.py +198 -0
  112. pypcapkit-1.0.0/pcapkit/const/pcapng/record_type.py +58 -0
  113. pypcapkit-1.0.0/pcapkit/const/pcapng/secrets_type.py +57 -0
  114. pypcapkit-1.0.0/pcapkit/const/pcapng/verdict_type.py +53 -0
  115. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/reg/__init__.py +2 -0
  116. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/reg/ethertype.py +60 -113
  117. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/reg/linktype.py +304 -40
  118. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/reg/transtype.py +12 -9
  119. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/tcp/__init__.py +6 -2
  120. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/tcp/checksum.py +5 -3
  121. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/tcp/mp_tcp_option.py +5 -3
  122. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/tcp/option.py +25 -11
  123. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/vlan/__init__.py +2 -0
  124. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/vlan/priority_level.py +9 -7
  125. pypcapkit-1.0.0/pcapkit/corekit/__init__.py +52 -0
  126. pypcapkit-1.0.0/pcapkit/corekit/fields/__init__.py +45 -0
  127. pypcapkit-1.0.0/pcapkit/corekit/fields/collections.py +282 -0
  128. pypcapkit-1.0.0/pcapkit/corekit/fields/field.py +234 -0
  129. pypcapkit-1.0.0/pcapkit/corekit/fields/ipaddress.py +273 -0
  130. pypcapkit-1.0.0/pcapkit/corekit/fields/misc.py +727 -0
  131. pypcapkit-1.0.0/pcapkit/corekit/fields/numbers.py +376 -0
  132. pypcapkit-1.0.0/pcapkit/corekit/fields/strings.py +246 -0
  133. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/corekit/infoclass.py +40 -10
  134. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/corekit/multidict.py +5 -3
  135. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/corekit/protochain.py +14 -2
  136. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/corekit/version.py +2 -0
  137. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/dumpkit/__init__.py +3 -1
  138. pypcapkit-1.0.0/pcapkit/dumpkit/common.py +129 -0
  139. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/dumpkit/null.py +4 -2
  140. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/dumpkit/pcap.py +8 -6
  141. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/__init__.py +14 -6
  142. pypcapkit-1.0.0/pcapkit/foundation/engines/__init__.py +35 -0
  143. pypcapkit-1.0.0/pcapkit/foundation/engines/dpkt.py +225 -0
  144. pypcapkit-1.0.0/pcapkit/foundation/engines/engine.py +95 -0
  145. pypcapkit-1.0.0/pcapkit/foundation/engines/pcap.py +182 -0
  146. pypcapkit-1.0.0/pcapkit/foundation/engines/pcapng.py +313 -0
  147. pypcapkit-1.0.0/pcapkit/foundation/engines/pyshark.py +160 -0
  148. pypcapkit-1.0.0/pcapkit/foundation/engines/scapy.py +158 -0
  149. pypcapkit-1.0.0/pcapkit/foundation/extraction.py +704 -0
  150. pypcapkit-1.0.0/pcapkit/foundation/reassembly/__init__.py +48 -0
  151. pypcapkit-1.0.0/pcapkit/foundation/reassembly/data/__init__.py +47 -0
  152. pypcapkit-1.0.0/pcapkit/foundation/reassembly/data/ip.py +109 -0
  153. pypcapkit-1.0.0/pcapkit/foundation/reassembly/data/tcp.py +139 -0
  154. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/reassembly/ip.py +17 -106
  155. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/reassembly/ipv4.py +17 -9
  156. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/reassembly/ipv6.py +17 -9
  157. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/reassembly/reassembly.py +21 -1
  158. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/reassembly/tcp.py +26 -143
  159. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/foundation/registry.py +270 -82
  160. pypcapkit-1.0.0/pcapkit/foundation/traceflow/__init__.py +43 -0
  161. pypcapkit-1.0.0/pcapkit/foundation/traceflow/data/__init__.py +29 -0
  162. pypcapkit-1.0.0/pcapkit/foundation/traceflow/data/tcp.py +101 -0
  163. pypcapkit-1.0.0/pcapkit/foundation/traceflow/tcp.py +159 -0
  164. pypcapkit-1.0.0/pcapkit/foundation/traceflow/traceflow.py +250 -0
  165. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/interface/__init__.py +3 -3
  166. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/interface/core.py +39 -21
  167. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/interface/misc.py +13 -11
  168. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/__init__.py +19 -2
  169. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/__init__.py +7 -2
  170. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/application.py +12 -9
  171. pypcapkit-1.0.0/pcapkit/protocols/application/ftp.py +206 -0
  172. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/http.py +43 -27
  173. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/httpv1.py +128 -37
  174. pypcapkit-1.0.0/pcapkit/protocols/application/httpv2.py +1254 -0
  175. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/__init__.py +31 -9
  176. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/application/__init__.py +6 -15
  177. pypcapkit-1.0.0/pcapkit/protocols/data/application/ftp.py +56 -0
  178. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/application/httpv1.py +16 -14
  179. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/application/httpv2.py +25 -21
  180. pypcapkit-1.0.0/pcapkit/protocols/data/data.py +25 -0
  181. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/__init__.py +26 -17
  182. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/ah.py +2 -2
  183. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/hip.py +86 -78
  184. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/hopopt.py +69 -49
  185. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/ipv4.py +37 -22
  186. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/ipv6.py +2 -2
  187. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/ipv6_frag.py +2 -2
  188. pypcapkit-1.0.0/pcapkit/protocols/data/internet/ipv6_opts.py +345 -0
  189. pypcapkit-1.0.0/pcapkit/protocols/data/internet/ipv6_route.py +81 -0
  190. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/ipx.py +3 -3
  191. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/internet/mh.py +2 -2
  192. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/link/arp.py +6 -6
  193. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/link/ethernet.py +2 -2
  194. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/link/l2tp.py +3 -3
  195. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/link/ospf.py +3 -3
  196. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/link/vlan.py +3 -3
  197. pypcapkit-1.0.0/pcapkit/protocols/data/misc/__init__.py +109 -0
  198. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/misc/null.py +3 -3
  199. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/misc/pcap/frame.py +4 -4
  200. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/misc/pcap/header.py +4 -4
  201. pypcapkit-1.0.0/pcapkit/protocols/data/misc/pcapng.py +857 -0
  202. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/misc/raw.py +3 -3
  203. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/protocol.py +3 -3
  204. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/transport/__init__.py +5 -6
  205. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/transport/tcp.py +45 -52
  206. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/transport/udp.py +2 -2
  207. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/__init__.py +2 -0
  208. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/ah.py +80 -44
  209. pypcapkit-1.0.0/pcapkit/protocols/internet/hip.py +4727 -0
  210. pypcapkit-1.0.0/pcapkit/protocols/internet/hopopt.py +1893 -0
  211. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/internet.py +52 -29
  212. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/ip.py +5 -3
  213. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/ipsec.py +4 -2
  214. pypcapkit-1.0.0/pcapkit/protocols/internet/ipv4.py +1781 -0
  215. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/ipv6.py +108 -39
  216. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/ipv6_frag.py +78 -25
  217. pypcapkit-1.0.0/pcapkit/protocols/internet/ipv6_opts.py +1904 -0
  218. pypcapkit-1.0.0/pcapkit/protocols/internet/ipv6_route.py +708 -0
  219. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/ipx.py +95 -42
  220. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/mh.py +78 -33
  221. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/__init__.py +4 -5
  222. pypcapkit-1.0.0/pcapkit/protocols/link/arp.py +421 -0
  223. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/ethernet.py +103 -28
  224. pypcapkit-1.0.0/pcapkit/protocols/link/l2tp.py +267 -0
  225. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/link.py +20 -15
  226. pypcapkit-1.0.0/pcapkit/protocols/link/ospf.py +342 -0
  227. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/rarp.py +22 -5
  228. pypcapkit-1.0.0/pcapkit/protocols/link/vlan.py +224 -0
  229. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/misc/__init__.py +2 -0
  230. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/misc/null.py +16 -12
  231. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/misc/pcap/__init__.py +2 -0
  232. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/misc/pcap/frame.py +174 -85
  233. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/misc/pcap/header.py +74 -54
  234. pypcapkit-1.0.0/pcapkit/protocols/misc/pcapng.py +5509 -0
  235. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/misc/raw.py +42 -16
  236. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/protocol.py +282 -50
  237. pypcapkit-1.0.0/pcapkit/protocols/schema/__init__.py +127 -0
  238. pypcapkit-1.0.0/pcapkit/protocols/schema/application/__init__.py +40 -0
  239. pypcapkit-1.0.0/pcapkit/protocols/schema/application/ftp.py +20 -0
  240. pypcapkit-1.0.0/pcapkit/protocols/schema/application/httpv1.py +20 -0
  241. pypcapkit-1.0.0/pcapkit/protocols/schema/application/httpv2.py +387 -0
  242. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/__init__.py +241 -0
  243. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ah.py +39 -0
  244. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/hip.py +1178 -0
  245. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/hopopt.py +661 -0
  246. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ipv4.py +563 -0
  247. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ipv6.py +62 -0
  248. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ipv6_frag.py +47 -0
  249. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ipv6_opts.py +664 -0
  250. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ipv6_route.py +202 -0
  251. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/ipx.py +39 -0
  252. pypcapkit-1.0.0/pcapkit/protocols/schema/internet/mh.py +40 -0
  253. pypcapkit-1.0.0/pcapkit/protocols/schema/link/__init__.py +19 -0
  254. pypcapkit-1.0.0/pcapkit/protocols/schema/link/arp.py +38 -0
  255. pypcapkit-1.0.0/pcapkit/protocols/schema/link/ethernet.py +49 -0
  256. pypcapkit-1.0.0/pcapkit/protocols/schema/link/l2tp.py +87 -0
  257. pypcapkit-1.0.0/pcapkit/protocols/schema/link/ospf.py +88 -0
  258. pypcapkit-1.0.0/pcapkit/protocols/schema/link/vlan.py +67 -0
  259. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/__init__.py +108 -0
  260. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/null.py +17 -0
  261. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/pcap/__init__.py +10 -0
  262. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/pcap/frame.py +50 -0
  263. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/pcap/header.py +62 -0
  264. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/pcapng.py +1641 -0
  265. pypcapkit-1.0.0/pcapkit/protocols/schema/misc/raw.py +23 -0
  266. pypcapkit-1.0.0/pcapkit/protocols/schema/schema.py +550 -0
  267. pypcapkit-1.0.0/pcapkit/protocols/schema/transport/__init__.py +69 -0
  268. pypcapkit-1.0.0/pcapkit/protocols/schema/transport/tcp.py +860 -0
  269. pypcapkit-1.0.0/pcapkit/protocols/schema/transport/udp.py +34 -0
  270. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/transport/__init__.py +2 -0
  271. pypcapkit-1.0.0/pcapkit/protocols/transport/tcp.py +3042 -0
  272. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/transport/transport.py +26 -8
  273. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/transport/udp.py +59 -19
  274. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/toolkit/__init__.py +10 -1
  275. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/toolkit/dpkt.py +22 -20
  276. pypcapkit-0.16.2/pcapkit/toolkit/default.py → pypcapkit-1.0.0/pcapkit/toolkit/pcap.py +24 -21
  277. pypcapkit-1.0.0/pcapkit/toolkit/pcapng.py +251 -0
  278. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/toolkit/pyshark.py +15 -9
  279. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/toolkit/scapy.py +34 -29
  280. pypcapkit-1.0.0/pcapkit/utilities/__init__.py +20 -0
  281. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/utilities/compat.py +25 -1
  282. pypcapkit-1.0.0/pcapkit/utilities/decorators.py +186 -0
  283. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/utilities/exceptions.py +28 -6
  284. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/utilities/logging.py +5 -1
  285. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/utilities/warnings.py +33 -3
  286. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/__init__.py +25 -5
  287. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/__main__.py +4 -4
  288. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/arp/__init__.py +2 -0
  289. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/arp/hardware.py +3 -1
  290. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/arp/operation.py +3 -1
  291. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/default.py +56 -11
  292. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ftp/__init__.py +2 -0
  293. pypcapkit-1.0.0/pcapkit/vendor/ftp/command.py +192 -0
  294. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ftp/return_code.py +39 -9
  295. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/__init__.py +5 -1
  296. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/certificate.py +3 -1
  297. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/cipher.py +3 -1
  298. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/di.py +3 -1
  299. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/ecdsa_curve.py +3 -1
  300. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/ecdsa_low_curve.py +3 -1
  301. pypcapkit-1.0.0/pcapkit/vendor/hip/eddsa_curve.py +85 -0
  302. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/esp_transform_suite.py +3 -1
  303. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/group.py +4 -3
  304. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/hi_algorithm.py +3 -1
  305. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/hit_suite.py +3 -1
  306. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/nat_traversal.py +3 -1
  307. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/notify_message.py +3 -1
  308. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/packet.py +4 -3
  309. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/parameter.py +4 -3
  310. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/registration.py +3 -1
  311. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/registration_failure.py +3 -1
  312. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/suite.py +3 -1
  313. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/hip/transport.py +3 -1
  314. pypcapkit-1.0.0/pcapkit/vendor/http/__init__.py +39 -0
  315. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/http/error_code.py +10 -5
  316. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/http/frame.py +9 -4
  317. pypcapkit-1.0.0/pcapkit/vendor/http/method.py +167 -0
  318. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/http/setting.py +9 -4
  319. pypcapkit-1.0.0/pcapkit/vendor/http/status_code.py +178 -0
  320. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/classification_level.py +4 -3
  321. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/option_class.py +4 -3
  322. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/option_number.py +4 -3
  323. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/protection_authority.py +5 -4
  324. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/qs_function.py +4 -3
  325. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/router_alert.py +4 -3
  326. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/tos_del.py +4 -3
  327. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/tos_ecn.py +4 -3
  328. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/tos_pre.py +4 -3
  329. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/tos_rel.py +4 -3
  330. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/tos_thr.py +4 -3
  331. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/ts_flag.py +4 -3
  332. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/__init__.py +7 -1
  333. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/extension_header.py +14 -4
  334. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/option.py +4 -3
  335. pypcapkit-1.0.0/pcapkit/vendor/ipv6/option_action.py +90 -0
  336. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/qs_function.py +5 -4
  337. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/router_alert.py +4 -3
  338. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/routing.py +4 -3
  339. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/seed_id.py +4 -3
  340. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/smf_dpd_mode.py +4 -3
  341. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv6/tagger_id.py +4 -3
  342. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipx/__init__.py +2 -0
  343. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipx/packet.py +4 -3
  344. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipx/socket.py +4 -3
  345. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/l2tp/__init__.py +2 -0
  346. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/l2tp/type.py +4 -3
  347. pypcapkit-1.0.0/pcapkit/vendor/mh/__init__.py +183 -0
  348. pypcapkit-1.0.0/pcapkit/vendor/mh/access_type.py +87 -0
  349. pypcapkit-1.0.0/pcapkit/vendor/mh/ack_status_code.py +88 -0
  350. pypcapkit-1.0.0/pcapkit/vendor/mh/ani_suboption.py +88 -0
  351. pypcapkit-1.0.0/pcapkit/vendor/mh/auth_subtype.py +82 -0
  352. pypcapkit-1.0.0/pcapkit/vendor/mh/binding_ack_flag.py +148 -0
  353. pypcapkit-1.0.0/pcapkit/vendor/mh/binding_revocation.py +87 -0
  354. pypcapkit-1.0.0/pcapkit/vendor/mh/binding_update_flag.py +147 -0
  355. pypcapkit-1.0.0/pcapkit/vendor/mh/dhcp_support_mode.py +77 -0
  356. pypcapkit-1.0.0/pcapkit/vendor/mh/dns_status_code.py +87 -0
  357. pypcapkit-1.0.0/pcapkit/vendor/mh/dsmip6_tls_packet.py +87 -0
  358. pypcapkit-1.0.0/pcapkit/vendor/mh/dsmipv6_home_address.py +87 -0
  359. pypcapkit-1.0.0/pcapkit/vendor/mh/enumerating_algorithm.py +82 -0
  360. pypcapkit-1.0.0/pcapkit/vendor/mh/fb_ack_status.py +87 -0
  361. pypcapkit-1.0.0/pcapkit/vendor/mh/fb_action.py +88 -0
  362. pypcapkit-1.0.0/pcapkit/vendor/mh/fb_indication_trigger.py +87 -0
  363. pypcapkit-1.0.0/pcapkit/vendor/mh/fb_type.py +88 -0
  364. pypcapkit-1.0.0/pcapkit/vendor/mh/flow_id_status.py +87 -0
  365. pypcapkit-1.0.0/pcapkit/vendor/mh/flow_id_suboption.py +87 -0
  366. pypcapkit-1.0.0/pcapkit/vendor/mh/handoff_type.py +87 -0
  367. pypcapkit-1.0.0/pcapkit/vendor/mh/handover_ack_flag.py +143 -0
  368. pypcapkit-1.0.0/pcapkit/vendor/mh/handover_ack_status.py +87 -0
  369. pypcapkit-1.0.0/pcapkit/vendor/mh/handover_initiate_flag.py +143 -0
  370. pypcapkit-1.0.0/pcapkit/vendor/mh/handover_initiate_status.py +87 -0
  371. pypcapkit-1.0.0/pcapkit/vendor/mh/home_address_reply.py +87 -0
  372. pypcapkit-1.0.0/pcapkit/vendor/mh/lma_mag_suboption.py +88 -0
  373. pypcapkit-1.0.0/pcapkit/vendor/mh/mn_group_id.py +87 -0
  374. pypcapkit-1.0.0/pcapkit/vendor/mh/mn_id_subtype.py +87 -0
  375. pypcapkit-1.0.0/pcapkit/vendor/mh/operator_id.py +87 -0
  376. pypcapkit-1.0.0/pcapkit/vendor/mh/option.py +83 -0
  377. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/mh/packet.py +4 -3
  378. pypcapkit-1.0.0/pcapkit/vendor/mh/qos_attribute.py +87 -0
  379. pypcapkit-1.0.0/pcapkit/vendor/mh/revocation_status_code.py +87 -0
  380. pypcapkit-1.0.0/pcapkit/vendor/mh/revocation_trigger.py +87 -0
  381. pypcapkit-1.0.0/pcapkit/vendor/mh/status_code.py +91 -0
  382. pypcapkit-1.0.0/pcapkit/vendor/mh/traffic_selector.py +87 -0
  383. pypcapkit-1.0.0/pcapkit/vendor/mh/upa_status.py +87 -0
  384. pypcapkit-1.0.0/pcapkit/vendor/mh/upn_reason.py +87 -0
  385. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ospf/__init__.py +2 -0
  386. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ospf/authentication.py +3 -1
  387. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ospf/packet.py +3 -1
  388. pypcapkit-1.0.0/pcapkit/vendor/pcapng/__init__.py +51 -0
  389. pypcapkit-1.0.0/pcapkit/vendor/pcapng/block_type.py +94 -0
  390. pypcapkit-1.0.0/pcapkit/vendor/pcapng/filter_type.py +77 -0
  391. pypcapkit-1.0.0/pcapkit/vendor/pcapng/hash_algorithm.py +82 -0
  392. pypcapkit-1.0.0/pcapkit/vendor/pcapng/option_type.py +252 -0
  393. pypcapkit-1.0.0/pcapkit/vendor/pcapng/record_type.py +81 -0
  394. pypcapkit-1.0.0/pcapkit/vendor/pcapng/secrets_type.py +81 -0
  395. pypcapkit-1.0.0/pcapkit/vendor/pcapng/verdict_type.py +79 -0
  396. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/reg/__init__.py +2 -0
  397. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/reg/ethertype.py +4 -3
  398. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/reg/linktype.py +9 -5
  399. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/reg/transtype.py +3 -1
  400. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/tcp/__init__.py +2 -0
  401. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/tcp/checksum.py +4 -3
  402. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/tcp/mp_tcp_option.py +4 -3
  403. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/tcp/option.py +4 -3
  404. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/vlan/__init__.py +2 -0
  405. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/vlan/priority_level.py +8 -7
  406. {pypcapkit-0.16.2 → pypcapkit-1.0.0/pypcapkit.egg-info}/PKG-INFO +41 -38
  407. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pypcapkit.egg-info/SOURCES.txt +159 -47
  408. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pypcapkit.egg-info/requires.txt +10 -0
  409. pypcapkit-1.0.0/pyproject.toml +109 -0
  410. pypcapkit-1.0.0/setup.cfg +4 -0
  411. pypcapkit-1.0.0/setup.py +114 -0
  412. pypcapkit-1.0.0/util/bump_version.py +60 -0
  413. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/__init__.py +0 -20
  414. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/argparse.py +0 -159
  415. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/context.py +0 -329
  416. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/fileprocessing.py +0 -214
  417. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/logging.py +0 -92
  418. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/misc.py +0 -565
  419. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/multiprocessing.py +0 -110
  420. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/parsing.py +0 -197
  421. pypcapkit-0.16.2/.eggs/bpc_utils-0.10.1-py3.6.egg/bpc_utils/typing.py +0 -32
  422. pypcapkit-0.16.2/.eggs/f2format-0.8.7rc2-py3.6.egg/f2format.py +0 -918
  423. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/__init__.py +0 -58
  424. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/_compatibility.py +0 -3
  425. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/cache.py +0 -275
  426. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/file_io.py +0 -38
  427. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/grammar.py +0 -264
  428. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/normalizer.py +0 -198
  429. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/parser.py +0 -210
  430. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/pgen2/__init__.py +0 -10
  431. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/pgen2/generator.py +0 -382
  432. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/pgen2/grammar_parser.py +0 -160
  433. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/__init__.py +0 -0
  434. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/diff.py +0 -886
  435. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/errors.py +0 -1295
  436. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/parser.py +0 -206
  437. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/pep8.py +0 -767
  438. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/prefix.py +0 -106
  439. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/token.py +0 -31
  440. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/tokenize.py +0 -687
  441. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/python/tree.py +0 -1242
  442. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/tree.py +0 -488
  443. pypcapkit-0.16.2/.eggs/parso-0.8.3-py3.6.egg/parso/utils.py +0 -194
  444. pypcapkit-0.16.2/.eggs/python_walrus-0.1.5rc1-py3.6.egg/walrus.py +0 -2070
  445. pypcapkit-0.16.2/.eggs/tbtrim-0.3.1-py3.6.egg/tbtrim.py +0 -97
  446. pypcapkit-0.16.2/.eggs/typing_extensions-4.2.0-py3.6.egg/typing_extensions.py +0 -1960
  447. pypcapkit-0.16.2/CODE_OF_CONDUCT.md +0 -47
  448. pypcapkit-0.16.2/CONTRIBUTING.md +0 -67
  449. pypcapkit-0.16.2/pcapkit/const/ftp/command.py +0 -601
  450. pypcapkit-0.16.2/pcapkit/const/ftp/return_code.py +0 -224
  451. pypcapkit-0.16.2/pcapkit/const/mh/__init__.py +0 -21
  452. pypcapkit-0.16.2/pcapkit/corekit/README.md +0 -80
  453. pypcapkit-0.16.2/pcapkit/corekit/__init__.py +0 -21
  454. pypcapkit-0.16.2/pcapkit/dumpkit/README.md +0 -49
  455. pypcapkit-0.16.2/pcapkit/foundation/extraction.py +0 -1137
  456. pypcapkit-0.16.2/pcapkit/foundation/reassembly/__init__.py +0 -25
  457. pypcapkit-0.16.2/pcapkit/foundation/traceflow.py +0 -433
  458. pypcapkit-0.16.2/pcapkit/protocols/application/README.md +0 -3
  459. pypcapkit-0.16.2/pcapkit/protocols/application/ftp.py +0 -126
  460. pypcapkit-0.16.2/pcapkit/protocols/application/httpv2.py +0 -866
  461. pypcapkit-0.16.2/pcapkit/protocols/data/application/ftp.py +0 -61
  462. pypcapkit-0.16.2/pcapkit/protocols/data/application/http.py +0 -10
  463. pypcapkit-0.16.2/pcapkit/protocols/data/internet/ipv6_opts.py +0 -309
  464. pypcapkit-0.16.2/pcapkit/protocols/data/internet/ipv6_route.py +0 -94
  465. pypcapkit-0.16.2/pcapkit/protocols/data/misc/__init__.py +0 -21
  466. pypcapkit-0.16.2/pcapkit/protocols/internet/README.md +0 -3
  467. pypcapkit-0.16.2/pcapkit/protocols/internet/hip.py +0 -3257
  468. pypcapkit-0.16.2/pcapkit/protocols/internet/hopopt.py +0 -1247
  469. pypcapkit-0.16.2/pcapkit/protocols/internet/ipv4.py +0 -1064
  470. pypcapkit-0.16.2/pcapkit/protocols/internet/ipv6_opts.py +0 -1257
  471. pypcapkit-0.16.2/pcapkit/protocols/internet/ipv6_route.py +0 -474
  472. pypcapkit-0.16.2/pcapkit/protocols/link/arp.py +0 -270
  473. pypcapkit-0.16.2/pcapkit/protocols/link/l2tp.py +0 -188
  474. pypcapkit-0.16.2/pcapkit/protocols/link/ospf.py +0 -225
  475. pypcapkit-0.16.2/pcapkit/protocols/link/vlan.py +0 -147
  476. pypcapkit-0.16.2/pcapkit/protocols/transport/README.md +0 -3
  477. pypcapkit-0.16.2/pcapkit/protocols/transport/tcp.py +0 -1870
  478. pypcapkit-0.16.2/pcapkit/utilities/__init__.py +0 -19
  479. pypcapkit-0.16.2/pcapkit/utilities/decorators.py +0 -121
  480. pypcapkit-0.16.2/pcapkit/vendor/README.md +0 -51
  481. pypcapkit-0.16.2/pcapkit/vendor/ftp/command.py +0 -187
  482. pypcapkit-0.16.2/pcapkit/vendor/http/__init__.py +0 -29
  483. pypcapkit-0.16.2/pcapkit/vendor/mh/__init__.py +0 -21
  484. pypcapkit-0.16.2/pyproject.toml +0 -3
  485. pypcapkit-0.16.2/setup.cfg +0 -11
  486. pypcapkit-0.16.2/setup.py +0 -228
  487. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/arp/__init__.py +0 -0
  488. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/const/ftp/__init__.py +0 -0
  489. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/bgp.py +0 -0
  490. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/dhcp.py +0 -0
  491. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/dhcpv6.py +0 -0
  492. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/dns.py +0 -0
  493. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/imap.py +0 -0
  494. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/ldap.py +0 -0
  495. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/mqtt.py +0 -0
  496. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/nntp.py +0 -0
  497. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/ntp.py +0 -0
  498. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/onc_rpc.py +0 -0
  499. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/pop.py +0 -0
  500. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/rip.py +0 -0
  501. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/rtp.py +0 -0
  502. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/sip.py +0 -0
  503. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/smtp.py +0 -0
  504. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/snmp.py +0 -0
  505. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/ssh.py +0 -0
  506. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/telnet.py +0 -0
  507. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/tls.py +0 -0
  508. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/application/NotImplemented/xmpp.py +0 -0
  509. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/link/__init__.py +1 -1
  510. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/data/misc/pcap/__init__.py +0 -0
  511. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/NotImplemented/ecn.py +0 -0
  512. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/NotImplemented/esp.py +0 -0
  513. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/NotImplemented/icmp.py +0 -0
  514. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/NotImplemented/icmpv6.py +0 -0
  515. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/NotImplemented/igmp.py +0 -0
  516. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/internet/NotImplemented/shim6.py +0 -0
  517. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/NotImplemented/dsl.py +0 -0
  518. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/NotImplemented/eapol.py +0 -0
  519. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/NotImplemented/fddi.py +0 -0
  520. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/NotImplemented/isdn.py +0 -0
  521. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/NotImplemented/ndp.py +0 -0
  522. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/link/NotImplemented/ppp.py +0 -0
  523. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/transport/NotImplemented/dccp.py +0 -0
  524. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/transport/NotImplemented/rsvp.py +0 -0
  525. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/protocols/transport/NotImplemented/sctp.py +0 -0
  526. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pcapkit/vendor/ipv4/__init__.py +0 -0
  527. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pypcapkit.egg-info/dependency_links.txt +0 -0
  528. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pypcapkit.egg-info/entry_points.txt +0 -0
  529. /pypcapkit-0.16.2/pypcapkit.egg-info/zip-safe → /pypcapkit-1.0.0/pypcapkit.egg-info/not-zip-safe +0 -0
  530. {pypcapkit-0.16.2 → pypcapkit-1.0.0}/pypcapkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2018-2022, Jarry Shaw
3
+ Copyright (c) 2018-2023, Jarry Shaw
4
4
  All rights reserved.
5
5
 
6
6
  Redistribution and use in source and binary forms, with or without
@@ -1,21 +1,15 @@
1
1
  global-exclude .DS_Store
2
2
 
3
- global-include *.md
3
+ global-include *.rst
4
4
  global-include *.py
5
5
 
6
+ prune .eggs
6
7
  prune .github
7
8
  prune .venv
8
- prune .vscode
9
-
10
- prune archive
11
- prune devel
12
- prune doc
13
- prune release
9
+ prune docs
14
10
  prune sample
15
- prune src
16
- prune test
17
- prune testbench
18
11
  prune temp
12
+ prune test
19
13
 
20
14
  include README.rst
21
15
  include LICENSE
@@ -1,50 +1,54 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypcapkit
3
- Version: 0.16.2
4
- Summary: Python multi-engine PCAP analyse kit.
5
- Home-page: https://github.com/JarryShaw/PyPCAPKit
6
- Download-URL: https://github.com/JarryShaw/PyPCAPKit/archive/v0.16.2.tar.gz
7
- Author: Jarry Shaw
8
- Author-email: jarryshaw@icloud.com
3
+ Version: 1.0.0
4
+ Summary: PyPCAPKit: comprehensive network packet analysis library
5
+ Author-email: Jarry Shaw <jarryshaw@icloud.com>
9
6
  Maintainer: Jarry Shaw
10
- Maintainer-email: jarryshaw@icloud.com
11
7
  License: BSD 3-Clause License
12
- Keywords: computer-networking,pcap-analyser,pcap-parser
13
- Platform: any
8
+ Project-URL: homepage, https://jarryshaw.github.io/PyPCAPKit/
9
+ Project-URL: documentation, https://jarryshaw.github.io/PyPCAPKit/
10
+ Project-URL: repository, https://github.com/JarryShaw/PyPCAPKit
11
+ Project-URL: changelog, https://github.com/JarryShaw/PyPCAPKit/releases
12
+ Keywords: network,pcap,packet
14
13
  Classifier: Development Status :: 5 - Production/Stable
15
14
  Classifier: Environment :: Console
16
15
  Classifier: Environment :: MacOS X
17
16
  Classifier: Environment :: Win32 (MS Windows)
18
17
  Classifier: Intended Audience :: Developers
18
+ Classifier: Intended Audience :: Information Technology
19
+ Classifier: Intended Audience :: Science/Research
20
+ Classifier: Intended Audience :: System Administrators
21
+ Classifier: Intended Audience :: Telecommunications Industry
19
22
  Classifier: License :: OSI Approved :: BSD License
20
- Classifier: Natural Language :: English
21
23
  Classifier: Operating System :: OS Independent
22
- Classifier: Programming Language :: Python
23
24
  Classifier: Programming Language :: Python :: 3
24
25
  Classifier: Programming Language :: Python :: 3.6
25
26
  Classifier: Programming Language :: Python :: 3.7
26
27
  Classifier: Programming Language :: Python :: 3.8
27
28
  Classifier: Programming Language :: Python :: 3.9
28
29
  Classifier: Programming Language :: Python :: 3.10
30
+ Classifier: Programming Language :: Python :: 3.11
29
31
  Classifier: Programming Language :: Python :: 3 :: Only
30
- Classifier: Programming Language :: Python :: Implementation
31
32
  Classifier: Programming Language :: Python :: Implementation :: CPython
32
33
  Classifier: Programming Language :: Python :: Implementation :: PyPy
34
+ Classifier: Topic :: Security
33
35
  Classifier: Topic :: System :: Networking
36
+ Classifier: Topic :: System :: Networking :: Monitoring
34
37
  Classifier: Topic :: Utilities
35
38
  Classifier: Typing :: Typed
36
- Requires-Python: >=3.6
39
+ Requires-Python: <4,>=3.6
37
40
  Description-Content-Type: text/x-rst
38
- Provides-Extra: all
39
41
  Provides-Extra: cli
40
42
  Provides-Extra: DPKT
41
43
  Provides-Extra: Scapy
42
44
  Provides-Extra: PyShark
43
45
  Provides-Extra: vendor
46
+ Provides-Extra: all
47
+ Provides-Extra: docs
44
48
  License-File: LICENSE
45
49
 
46
- PyPCAPKit - Stream PCAP File Extractor
47
- ======================================
50
+ PyPCAPKit - Comprehensive Network Packet Analysis Library
51
+ =========================================================
48
52
 
49
53
  For any technical and/or maintenance information,
50
54
  please kindly refer to the |docs|_.
@@ -53,9 +57,10 @@ PyPCAPKit - Stream PCAP File Extractor
53
57
  .. _docs: https://jarryshaw.github.io/PyPCAPKit/
54
58
 
55
59
  The PyPCAPKit project is an open source Python program focus
56
- on `PCAP`_ parsing and analysis, which works as a stream PCAP file extractor.
57
- With support of `DictDumper`_, it shall support multiple
58
- output report formats.
60
+ on `PCAP`_ parsing and analysis, which works as a network
61
+ packet extraction, construction and analysis library. With
62
+ support of `DictDumper`_, it shall support multiple output
63
+ report formats.
59
64
 
60
65
  The whole project supports **Python 3.6** or later.
61
66
 
@@ -130,10 +135,12 @@ Engine Comparison
130
135
  -----------------
131
136
 
132
137
  Due to the general overhead of ``pcapkit``, its extraction procedure takes
133
- around *0.0008* seconds per packet, which is already impressive but not enough
134
- comparing to other popular extration engines availbale on the market. Thus
135
- ``pcapkit`` introduced alternative extractionengines to accelerate this
136
- procedure. By now ``pcapkit`` supports `Scapy`_, `DPKT`_, and `PyShark`_.
138
+ around *0.96* milliseconds per packet, which is already impressive but not enough
139
+ comparing to other popular extration engines availbale on the market, given the
140
+ fact that ``pcapkit`` is a **comprehensive** packet processing module.
141
+
142
+ Additionally, ``pcapkit`` introduced alternative extractionengines to accelerate
143
+ this procedure. By now ``pcapkit`` supports `Scapy`_, `DPKT`_, and `PyShark`_.
137
144
 
138
145
  Test Environment
139
146
  ~~~~~~~~~~~~~~~~
@@ -141,27 +148,23 @@ Test Environment
141
148
  .. list-table::
142
149
 
143
150
  * - Operating System
144
- - macOS Monterey
145
- * - Processor Name
146
- - Intel Core i7
147
- * - Processor Speed
148
- - 2.6 GHz
149
- * - Total Number of Cores
150
- - 6
151
+ - macOS Ventura 13.4 Beta (22F5037d)
152
+ * - Chip
153
+ - Apple M2 Pro
151
154
  * - Memory
152
155
  - 16 GB
153
156
 
154
157
  Test Results
155
158
  ~~~~~~~~~~~~
156
159
 
157
- ============= =================================
158
- Engine Performance (seconds per packet)
159
- ============= =================================
160
- ``dpkt`` 0.00006832083066304525
161
- ``scapy`` 0.0002489296595255534
162
- ``pcapkit`` 0.0008274253209431966
163
- ``pyshark`` 0.039607704480489093
164
- ============= =================================
160
+ ============= ===========================
161
+ Engine Performance (ms per packet)
162
+ ============= ===========================
163
+ ``dpkt`` 0.048088_922256
164
+ ``scapy`` 0.127444_444444
165
+ ``pcapkit`` 0.964180_847514
166
+ ``pyshark`` 23.665003_003003
167
+ ============= ===========================
165
168
 
166
169
  ------------
167
170
  Installation
@@ -1,5 +1,5 @@
1
- PyPCAPKit - Stream PCAP File Extractor
2
- ======================================
1
+ PyPCAPKit - Comprehensive Network Packet Analysis Library
2
+ =========================================================
3
3
 
4
4
  For any technical and/or maintenance information,
5
5
  please kindly refer to the |docs|_.
@@ -8,9 +8,10 @@ PyPCAPKit - Stream PCAP File Extractor
8
8
  .. _docs: https://jarryshaw.github.io/PyPCAPKit/
9
9
 
10
10
  The PyPCAPKit project is an open source Python program focus
11
- on `PCAP`_ parsing and analysis, which works as a stream PCAP file extractor.
12
- With support of `DictDumper`_, it shall support multiple
13
- output report formats.
11
+ on `PCAP`_ parsing and analysis, which works as a network
12
+ packet extraction, construction and analysis library. With
13
+ support of `DictDumper`_, it shall support multiple output
14
+ report formats.
14
15
 
15
16
  The whole project supports **Python 3.6** or later.
16
17
 
@@ -85,10 +86,12 @@ Engine Comparison
85
86
  -----------------
86
87
 
87
88
  Due to the general overhead of ``pcapkit``, its extraction procedure takes
88
- around *0.0008* seconds per packet, which is already impressive but not enough
89
- comparing to other popular extration engines availbale on the market. Thus
90
- ``pcapkit`` introduced alternative extractionengines to accelerate this
91
- procedure. By now ``pcapkit`` supports `Scapy`_, `DPKT`_, and `PyShark`_.
89
+ around *0.96* milliseconds per packet, which is already impressive but not enough
90
+ comparing to other popular extration engines availbale on the market, given the
91
+ fact that ``pcapkit`` is a **comprehensive** packet processing module.
92
+
93
+ Additionally, ``pcapkit`` introduced alternative extractionengines to accelerate
94
+ this procedure. By now ``pcapkit`` supports `Scapy`_, `DPKT`_, and `PyShark`_.
92
95
 
93
96
  Test Environment
94
97
  ~~~~~~~~~~~~~~~~
@@ -96,27 +99,23 @@ Test Environment
96
99
  .. list-table::
97
100
 
98
101
  * - Operating System
99
- - macOS Monterey
100
- * - Processor Name
101
- - Intel Core i7
102
- * - Processor Speed
103
- - 2.6 GHz
104
- * - Total Number of Cores
105
- - 6
102
+ - macOS Ventura 13.4 Beta (22F5037d)
103
+ * - Chip
104
+ - Apple M2 Pro
106
105
  * - Memory
107
106
  - 16 GB
108
107
 
109
108
  Test Results
110
109
  ~~~~~~~~~~~~
111
110
 
112
- ============= =================================
113
- Engine Performance (seconds per packet)
114
- ============= =================================
115
- ``dpkt`` 0.00006832083066304525
116
- ``scapy`` 0.0002489296595255534
117
- ``pcapkit`` 0.0008274253209431966
118
- ``pyshark`` 0.039607704480489093
119
- ============= =================================
111
+ ============= ===========================
112
+ Engine Performance (ms per packet)
113
+ ============= ===========================
114
+ ``dpkt`` 0.048088_922256
115
+ ``scapy`` 0.127444_444444
116
+ ``pcapkit`` 0.964180_847514
117
+ ``pyshark`` 23.665003_003003
118
+ ============= ===========================
120
119
 
121
120
  ------------
122
121
  Installation
@@ -3,6 +3,8 @@
3
3
  """Stream PCAP File Extractor
4
4
  ================================
5
5
 
6
+ .. module:: pcapkit
7
+
6
8
  :mod:`pcapkit` is an independent open source library, using only
7
9
  `DictDumper`_ as its formatted output dumper.
8
10
 
@@ -74,7 +76,7 @@ from pcapkit.utilities.warnings import DevModeWarning
74
76
  if DEVMODE:
75
77
  warnings.showwarning('development mode enabled', DevModeWarning,
76
78
  filename=__file__, lineno=0,
77
- line=f"PCAPKIT_DEVMODE={os.environ['PCAPKIT_DEVMODE']}")
79
+ line=f"PCAPKIT_DEVMODE={os.environ.get('PCAPKIT_DEVMODE', '1')}")
78
80
  else:
79
81
  ROOT = os.path.dirname(os.path.realpath(__file__))
80
82
  tbtrim.set_trim_rule(lambda filename: ROOT in os.path.realpath(filename),
@@ -106,5 +108,9 @@ __all__ = [
106
108
 
107
109
  'TCP', 'UDP', # Transport Layer
108
110
 
109
- 'FTP', 'HTTP', # Application Layer
111
+ 'FTP', 'FTP_DATA', # Application Layer
112
+ 'HTTP',
110
113
  ]
114
+
115
+ #: version number
116
+ __version__ = '1.0.0'
@@ -2,6 +2,8 @@
2
2
  """Command Line Tool
3
3
  =======================
4
4
 
5
+ .. module:: pcapkit.__main__
6
+
5
7
  .. important::
6
8
 
7
9
  This module requires ``emoji`` package to be installed.
@@ -17,6 +19,9 @@ import argparse
17
19
  import sys
18
20
  from typing import TYPE_CHECKING
19
21
 
22
+ from pcapkit import __version__
23
+ from pcapkit.foundation.extraction import Extractor
24
+ from pcapkit.interface import JSON, PLIST, TREE
20
25
  from pcapkit.utilities.compat import ModuleNotFoundError # pylint: disable=redefined-builtin
21
26
  from pcapkit.utilities.exceptions import stacklevel
22
27
  from pcapkit.utilities.warnings import EmojiWarning, warn
@@ -27,15 +32,11 @@ except ModuleNotFoundError:
27
32
  warn("dependency package 'emoji' not found",
28
33
  EmojiWarning, stacklevel=stacklevel())
29
34
 
30
- from pcapkit.foundation.extraction import Extractor
31
- from pcapkit.interface import JSON, PLIST, TREE
35
+ __all__ = ['main']
32
36
 
33
37
  if TYPE_CHECKING:
34
38
  from argparse import ArgumentParser
35
39
 
36
- #: version number
37
- __version__ = '0.16.2'
38
-
39
40
 
40
41
  def get_parser() -> 'ArgumentParser':
41
42
  """CLI argument parser."""
@@ -103,7 +104,7 @@ def main() -> 'int':
103
104
  files=args.files, format=fmt,
104
105
  layer=args.layer, protocol=args.protocol,
105
106
  engine=args.engine, extension=args.auto_extension,
106
- verbose=args.verbose)
107
+ verbose=args.verbose) # type: ignore[var-annotated]
107
108
 
108
109
  if args.verbose:
109
110
  try:
@@ -3,6 +3,8 @@
3
3
  """Library Index
4
4
  ===================
5
5
 
6
+ .. module:: pcapkit.all
7
+
6
8
  :mod:`pcapkit` has defined various and numerous functions
7
9
  and classes, which have different features and purposes.
8
10
  To make a simple index for this library, :mod:`pcapkit.all`
@@ -52,9 +54,19 @@ __all__ = [
52
54
  'Info', # Info Class
53
55
  'ProtoChain', # ProtoChain
54
56
  'VersionInfo', # Version
57
+ 'NumberField', 'Int32Field', 'UInt32Field', # numeric protocol fields
58
+ 'Int16Field', 'UInt16Field', 'Int64Field', 'UInt64Field',
59
+ 'Int8Field', 'UInt8Field', 'EnumField',
60
+ 'BytesField', 'StringField', 'BitField', # text protocol fields
61
+ 'PaddingField',
62
+ 'ConditionalField', 'PayloadField', 'SchemaField', # misc protocol fields
63
+ 'ForwardMatchField', 'NoValueField',
64
+ 'IPv4AddressField', 'IPv6AddressField', # IP address protocol fields
65
+ 'IPv4InterfaceField', 'IPv6InterfaceField',
66
+ 'ListField', 'OptionField', # container protocol fields
55
67
 
56
68
  # pcapkit.dumpkit
57
- 'PCAPIO', # PCAP Dumper
69
+ 'PCAPIO', # PCAP Dumper
58
70
  'NotImplementedIO', # Simulated I/O
59
71
 
60
72
  # pcapkit.foundation
@@ -67,11 +79,16 @@ __all__ = [
67
79
 
68
80
  # pcapkit.foundation.registry
69
81
  'register_protocol',
70
- 'register_linktype', 'register_pcap',
82
+ 'register_linktype', 'register_pcap', 'register_pcapng',
71
83
  'register_ethertype', 'register_transtype',
72
84
  'register_port', 'register_tcp_port', 'register_udp_port',
73
- 'register_output', 'register_extractor', 'register_traceflow',
85
+ 'register_output',
86
+ 'register_extractor_dumper', 'register_extractor_engine',
87
+ 'register_traceflow',
88
+ 'register_pcapng_block', 'register_pcapng_option', 'register_pcapng_secrets',
89
+ 'register_pcapng_record',
74
90
  'register_hopopt', 'register_ipv6_opts', 'register_ipv6_route',
91
+ 'register_ipv4', 'register_hip',
75
92
  'register_tcp', 'register_mptcp',
76
93
  'register_http',
77
94
 
@@ -92,11 +109,15 @@ __all__ = [
92
109
  'HIP', 'HOPOPT', 'IPv6_Frag', 'IPv6_Opts', 'IPv6_Route', 'MH',
93
110
  # IPv6 Extension Header
94
111
  'TCP', 'UDP', # Transport Layer
95
- 'FTP', 'HTTP', # Application Layer
112
+ 'FTP', 'FTP_DATA', # Application Layer
113
+ 'HTTP',
114
+ 'Schema', 'schema', # Protocol Schema
115
+ 'Data', 'data', # Protocol Data
96
116
 
97
117
  # pcapkit.toolkit
98
118
  'ipv4_reassembly', 'ipv6_reassembly', 'tcp_reassembly', 'tcp_traceflow',
99
- # default engine
119
+ 'pcapng_ipv4_reassembly', 'pcapng_ipv6_reassembly', 'pcapng_tcp_reassembly', 'pcapng_tcp_traceflow',
120
+ 'pcapng_block2frame', # default engine
100
121
  'dpkt_ipv6_hdr_len', 'dpkt_packet2chain', 'dpkt_packet2dict',
101
122
  'dpkt_ipv4_reassembly', 'dpkt_ipv6_reassembly', 'dpkt_tcp_reassembly', 'dpkt_tcp_traceflow',
102
123
  # DPKT engine
@@ -11,6 +11,9 @@ automatically generated from the :mod:`pcapkit.vendor` module.
11
11
  # IANA registration
12
12
  from pcapkit.const.reg import *
13
13
 
14
+ # Miscellanous
15
+ from pcapkit.const.pcapng import *
16
+
14
17
  # per protocol
15
18
  from pcapkit.const.arp import *
16
19
  from pcapkit.const.ftp import *
@@ -36,26 +39,42 @@ __all__ = [
36
39
  'HIP_Certificate', 'HIP_Cipher', 'HIP_DITypes', 'HIP_ECDSACurve', 'HIP_ECDSALowCurve',
37
40
  'HIP_ESPTransformSuite', 'HIP_Group', 'HIP_HIAlgorithm', 'HIP_HITSuite', 'HIP_NATTraversal',
38
41
  'HIP_NotifyMessage', 'HIP_Packet', 'HIP_Parameter', 'HIP_Registration', 'HIP_RegistrationFailure',
39
- 'HIP_Suite', 'HIP_Transport',
42
+ 'HIP_Suite', 'HIP_Transport', 'HIP_EdDSACurve',
40
43
  # HTTP
41
- 'HTTP_ErrorCode', 'HTTP_Frame', 'HTTP_Setting',
44
+ 'HTTP_ErrorCode', 'HTTP_Frame', 'HTTP_Method', 'HTTP_Setting', 'HTTP_Status',
42
45
  # IPv4
43
46
  'IPv4_ClassificationLevel', 'IPv4_OptionClass', 'IPv4_OptionNumber', 'IPv4_ProtectionAuthority',
44
47
  'IPv4_QSFunction', 'IPv4_RouterAlert', 'IPv4_ToSDelay', 'IPv4_ToSECN', 'IPv4_ToSPrecedence',
45
48
  'IPv4_ToSReliability', 'IPv4_ToSThroughput', 'IPv4_TSFlag',
46
49
  # IPv6
47
50
  'IPv6_ExtensionHeader', 'IPv6_Option', 'IPv6_QSFunction', 'IPv6_RouterAlert', 'IPv6_Routing',
48
- 'IPv6_SeedID', 'IPv6_SMFDPDMode', 'IPv6_TaggerID',
51
+ 'IPv6_SeedID', 'IPv6_SMFDPDMode', 'IPv6_TaggerID', 'IPv6_OptionAction',
49
52
  # IPX
50
53
  'IPX_Packet', 'IPX_Socket',
51
54
  # L2TP
52
55
  'L2TP_Type',
53
56
  # MH
54
- 'MH_Packet',
57
+ 'MH_Packet', 'MH_Option', 'MH_DNSStatusCode', 'MH_ACKStatusCode',
58
+ 'MH_MNIDSubtype', 'MH_StatusCode', 'MH_EnumeratingAlgorithm',
59
+ 'MH_AuthSubtype', 'MH_HandoffType', 'MH_AccessType',
60
+ 'MH_BindingUpdateFlag', 'MH_BindingACKFlag', 'MH_DSMIPv6HomeAddress',
61
+ 'MH_BindingRevocation', 'MH_RevocationTrigger', 'MH_RevocationStatusCode',
62
+ 'MH_HomeAddressReply', 'MH_DHCPSupportMode', 'MH_HandoverInitiateFlag',
63
+ 'MH_HandoverACKFlag', 'MH_HandoverACKStatus', 'MH_HandoverACKStatus',
64
+ 'MH_FlowIDStatus', 'MH_FlowIDSuboption', 'MH_TrafficSelector',
65
+ 'MH_MNGroupID', 'MH_DSMIP6TLSPacket', 'MH_ANISuboption', 'MH_OperatorID',
66
+ 'MH_UpdateNotificationReason', 'MH_UpdateNotificationACKStatus',
67
+ 'MH_FlowBindingType', 'MH_FlowBindingIndicationTrigger',
68
+ 'MH_FlowBindingACKStatus', 'MH_FlowBindingAction', 'MH_QoSAttribute',
69
+ 'MH_LMAControlledMAGSuboption',
55
70
  # OSPF
56
71
  'OSPF_Authentication', 'OSPF_Packet',
57
72
  # TCP
58
73
  'TCP_Checksum', 'TCP_Option',
59
74
  # VLAN
60
75
  'VLAN_PriorityLevel',
76
+ # PCAPNG
77
+ 'PCAPNG_BlockType', 'PCAPNG_OptionType', 'PCAPNG_HashAlgorithm',
78
+ 'PCAPNG_VerdictType', 'PCAPNG_RecordType', 'PCAPNG_SecretsType',
79
+ 'PCAPNG_FilterType',
61
80
  ]
@@ -3,6 +3,8 @@
3
3
  """Hardware Types
4
4
  ====================
5
5
 
6
+ .. module:: pcapkit.const.arp.hardware
7
+
6
8
  This module contains the constant enumeration for **Hardware Types**,
7
9
  which is automatically generated from :class:`pcapkit.vendor.arp.hardware.Hardware`.
8
10
 
@@ -132,6 +134,9 @@ class Hardware(IntEnum):
132
134
  #: HFI [Tseng-Hui Lin]
133
135
  HFI = 37
134
136
 
137
+ #: Unified Bus (UB) [Luoqing Zhou]
138
+ Unified_Bus = 38
139
+
135
140
  #: HW_EXP2 [:rfc:`5494`]
136
141
  HW_EXP2 = 256
137
142
 
@@ -149,11 +154,12 @@ class Hardware(IntEnum):
149
154
  key: Key to get enum item.
150
155
  default: Default value if not found.
151
156
 
157
+ :meta private:
152
158
  """
153
159
  if isinstance(key, int):
154
160
  return Hardware(key)
155
161
  if key not in Hardware._member_map_: # pylint: disable=no-member
156
- extend_enum(Hardware, key, default)
162
+ return extend_enum(Hardware, key, default)
157
163
  return Hardware[key] # type: ignore[misc]
158
164
 
159
165
  @classmethod
@@ -166,12 +172,10 @@ class Hardware(IntEnum):
166
172
  """
167
173
  if not (isinstance(value, int) and 0 <= value <= 65535):
168
174
  raise ValueError('%r is not a valid %s' % (value, cls.__name__))
169
- if 38 <= value <= 255:
175
+ if 39 <= value <= 255:
170
176
  #: Unassigned
171
- extend_enum(cls, 'Unassigned_%d' % value, value)
172
- return cls(value)
177
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
173
178
  if 258 <= value <= 65534:
174
179
  #: Unassigned
175
- extend_enum(cls, 'Unassigned_%d' % value, value)
176
- return cls(value)
180
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
177
181
  return super()._missing_(value)
@@ -3,6 +3,8 @@
3
3
  """Operation Codes
4
4
  =====================
5
5
 
6
+ .. module:: pcapkit.const.arp.operation
7
+
6
8
  This module contains the constant enumeration for **Operation Codes**,
7
9
  which is automatically generated from :class:`pcapkit.vendor.arp.operation.Operation`.
8
10
 
@@ -105,11 +107,12 @@ class Operation(IntEnum):
105
107
  key: Key to get enum item.
106
108
  default: Default value if not found.
107
109
 
110
+ :meta private:
108
111
  """
109
112
  if isinstance(key, int):
110
113
  return Operation(key)
111
114
  if key not in Operation._member_map_: # pylint: disable=no-member
112
- extend_enum(Operation, key, default)
115
+ return extend_enum(Operation, key, default)
113
116
  return Operation[key] # type: ignore[misc]
114
117
 
115
118
  @classmethod
@@ -124,6 +127,5 @@ class Operation(IntEnum):
124
127
  raise ValueError('%r is not a valid %s' % (value, cls.__name__))
125
128
  if 26 <= value <= 65534:
126
129
  #: Unassigned
127
- extend_enum(cls, 'Unassigned_%d' % value, value)
128
- return cls(value)
130
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
129
131
  return super()._missing_(value)