pypcapkit 1.3.3.post1__cp313-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.
Files changed (466) hide show
  1. pcapkit/__init__.py +126 -0
  2. pcapkit/__main__.py +138 -0
  3. pcapkit/all.py +136 -0
  4. pcapkit/const/__init__.py +81 -0
  5. pcapkit/const/arp/__init__.py +25 -0
  6. pcapkit/const/arp/hardware.py +181 -0
  7. pcapkit/const/arp/operation.py +131 -0
  8. pcapkit/const/ftp/__init__.py +25 -0
  9. pcapkit/const/ftp/command.py +309 -0
  10. pcapkit/const/ftp/return_code.py +304 -0
  11. pcapkit/const/hip/__init__.py +94 -0
  12. pcapkit/const/hip/certificate.py +77 -0
  13. pcapkit/const/hip/cipher.py +65 -0
  14. pcapkit/const/hip/di.py +59 -0
  15. pcapkit/const/hip/ecdsa_curve.py +59 -0
  16. pcapkit/const/hip/ecdsa_low_curve.py +56 -0
  17. pcapkit/const/hip/eddsa_curve.py +65 -0
  18. pcapkit/const/hip/esp_transform_suite.py +98 -0
  19. pcapkit/const/hip/group.py +86 -0
  20. pcapkit/const/hip/hi_algorithm.py +86 -0
  21. pcapkit/const/hip/hit_suite.py +68 -0
  22. pcapkit/const/hip/nat_traversal.py +62 -0
  23. pcapkit/const/hip/notify_message.py +200 -0
  24. pcapkit/const/hip/packet.py +89 -0
  25. pcapkit/const/hip/parameter.py +377 -0
  26. pcapkit/const/hip/registration.py +68 -0
  27. pcapkit/const/hip/registration_failure.py +84 -0
  28. pcapkit/const/hip/suite.py +71 -0
  29. pcapkit/const/hip/transport.py +59 -0
  30. pcapkit/const/http/__init__.py +39 -0
  31. pcapkit/const/http/error_code.py +95 -0
  32. pcapkit/const/http/frame.py +95 -0
  33. pcapkit/const/http/method.py +184 -0
  34. pcapkit/const/http/setting.py +96 -0
  35. pcapkit/const/http/status_code.py +294 -0
  36. pcapkit/const/ipv4/__init__.py +57 -0
  37. pcapkit/const/ipv4/classification_level.py +64 -0
  38. pcapkit/const/ipv4/option_class.py +55 -0
  39. pcapkit/const/ipv4/option_number.py +137 -0
  40. pcapkit/const/ipv4/protection_authority.py +63 -0
  41. pcapkit/const/ipv4/qs_function.py +51 -0
  42. pcapkit/const/ipv4/router_alert.py +251 -0
  43. pcapkit/const/ipv4/tos_del.py +51 -0
  44. pcapkit/const/ipv4/tos_ecn.py +55 -0
  45. pcapkit/const/ipv4/tos_pre.py +63 -0
  46. pcapkit/const/ipv4/tos_rel.py +51 -0
  47. pcapkit/const/ipv4/tos_thr.py +51 -0
  48. pcapkit/const/ipv4/ts_flag.py +53 -0
  49. pcapkit/const/ipv6/__init__.py +53 -0
  50. pcapkit/const/ipv6/extension_header.py +66 -0
  51. pcapkit/const/ipv6/option.py +137 -0
  52. pcapkit/const/ipv6/option_action.py +55 -0
  53. pcapkit/const/ipv6/qs_function.py +51 -0
  54. pcapkit/const/ipv6/router_alert.py +266 -0
  55. pcapkit/const/ipv6/routing.py +80 -0
  56. pcapkit/const/ipv6/seed_id.py +55 -0
  57. pcapkit/const/ipv6/smf_dpd_mode.py +51 -0
  58. pcapkit/const/ipv6/tagger_id.py +62 -0
  59. pcapkit/const/ipx/__init__.py +27 -0
  60. pcapkit/const/ipx/packet.py +72 -0
  61. pcapkit/const/ipx/socket.py +104 -0
  62. pcapkit/const/l2tp/__init__.py +21 -0
  63. pcapkit/const/l2tp/type.py +51 -0
  64. pcapkit/const/mh/__init__.py +204 -0
  65. pcapkit/const/mh/access_type.py +92 -0
  66. pcapkit/const/mh/ack_status_code.py +71 -0
  67. pcapkit/const/mh/ani_suboption.py +74 -0
  68. pcapkit/const/mh/auth_subtype.py +53 -0
  69. pcapkit/const/mh/binding_ack_flag.py +66 -0
  70. pcapkit/const/mh/binding_error.py +51 -0
  71. pcapkit/const/mh/binding_revocation.py +59 -0
  72. pcapkit/const/mh/binding_update_flag.py +81 -0
  73. pcapkit/const/mh/cga_extension.py +66 -0
  74. pcapkit/const/mh/cga_sec.py +57 -0
  75. pcapkit/const/mh/cga_type.py +68 -0
  76. pcapkit/const/mh/dhcp_support_mode.py +53 -0
  77. pcapkit/const/mh/dns_status_code.py +65 -0
  78. pcapkit/const/mh/dsmip6_tls_packet.py +62 -0
  79. pcapkit/const/mh/dsmipv6_home_address.py +74 -0
  80. pcapkit/const/mh/enumerating_algorithm.py +56 -0
  81. pcapkit/const/mh/fb_ack_status.py +62 -0
  82. pcapkit/const/mh/fb_action.py +71 -0
  83. pcapkit/const/mh/fb_indication_trigger.py +65 -0
  84. pcapkit/const/mh/fb_type.py +59 -0
  85. pcapkit/const/mh/flow_id_status.py +77 -0
  86. pcapkit/const/mh/flow_id_suboption.py +71 -0
  87. pcapkit/const/mh/handoff_type.py +71 -0
  88. pcapkit/const/mh/handover_ack_flag.py +54 -0
  89. pcapkit/const/mh/handover_ack_status.py +92 -0
  90. pcapkit/const/mh/handover_initiate_flag.py +57 -0
  91. pcapkit/const/mh/handover_initiate_status.py +62 -0
  92. pcapkit/const/mh/home_address_reply.py +71 -0
  93. pcapkit/const/mh/lla_code.py +63 -0
  94. pcapkit/const/mh/lma_mag_suboption.py +59 -0
  95. pcapkit/const/mh/mn_group_id.py +59 -0
  96. pcapkit/const/mh/mn_id_subtype.py +77 -0
  97. pcapkit/const/mh/operator_id.py +63 -0
  98. pcapkit/const/mh/option.py +260 -0
  99. pcapkit/const/mh/packet.py +119 -0
  100. pcapkit/const/mh/qos_attribute.py +89 -0
  101. pcapkit/const/mh/revocation_status_code.py +83 -0
  102. pcapkit/const/mh/revocation_trigger.py +86 -0
  103. pcapkit/const/mh/status_code.py +232 -0
  104. pcapkit/const/mh/traffic_selector.py +62 -0
  105. pcapkit/const/mh/upa_status.py +71 -0
  106. pcapkit/const/mh/upn_reason.py +80 -0
  107. pcapkit/const/ospf/__init__.py +27 -0
  108. pcapkit/const/ospf/authentication.py +65 -0
  109. pcapkit/const/ospf/packet.py +71 -0
  110. pcapkit/const/pcapng/__init__.py +51 -0
  111. pcapkit/const/pcapng/block_type.py +152 -0
  112. pcapkit/const/pcapng/filter_type.py +48 -0
  113. pcapkit/const/pcapng/hash_algorithm.py +59 -0
  114. pcapkit/const/pcapng/option_type.py +233 -0
  115. pcapkit/const/pcapng/record_type.py +57 -0
  116. pcapkit/const/pcapng/secrets_type.py +56 -0
  117. pcapkit/const/pcapng/verdict_type.py +53 -0
  118. pcapkit/const/reg/__init__.py +34 -0
  119. pcapkit/const/reg/apptype.py +32702 -0
  120. pcapkit/const/reg/ethertype.py +714 -0
  121. pcapkit/const/reg/linktype.py +902 -0
  122. pcapkit/const/reg/transtype.py +523 -0
  123. pcapkit/const/tcp/__init__.py +35 -0
  124. pcapkit/const/tcp/checksum.py +55 -0
  125. pcapkit/const/tcp/flags.py +73 -0
  126. pcapkit/const/tcp/mp_tcp_option.py +80 -0
  127. pcapkit/const/tcp/option.py +198 -0
  128. pcapkit/const/vlan/__init__.py +23 -0
  129. pcapkit/const/vlan/priority_level.py +71 -0
  130. pcapkit/corekit/__init__.py +59 -0
  131. pcapkit/corekit/fields/__init__.py +45 -0
  132. pcapkit/corekit/fields/collections.py +282 -0
  133. pcapkit/corekit/fields/field.py +269 -0
  134. pcapkit/corekit/fields/ipaddress.py +274 -0
  135. pcapkit/corekit/fields/misc.py +722 -0
  136. pcapkit/corekit/fields/numbers.py +375 -0
  137. pcapkit/corekit/fields/strings.py +245 -0
  138. pcapkit/corekit/infoclass.py +394 -0
  139. pcapkit/corekit/io.py +506 -0
  140. pcapkit/corekit/module.py +39 -0
  141. pcapkit/corekit/multidict.py +626 -0
  142. pcapkit/corekit/protochain.py +263 -0
  143. pcapkit/corekit/version.py +33 -0
  144. pcapkit/dumpkit/__init__.py +15 -0
  145. pcapkit/dumpkit/common.py +199 -0
  146. pcapkit/dumpkit/null.py +77 -0
  147. pcapkit/dumpkit/pcap.py +144 -0
  148. pcapkit/foundation/__init__.py +45 -0
  149. pcapkit/foundation/engines/__init__.py +36 -0
  150. pcapkit/foundation/engines/dpkt.py +230 -0
  151. pcapkit/foundation/engines/engine.py +194 -0
  152. pcapkit/foundation/engines/pcap.py +188 -0
  153. pcapkit/foundation/engines/pcapng.py +310 -0
  154. pcapkit/foundation/engines/pyshark.py +166 -0
  155. pcapkit/foundation/engines/scapy.py +161 -0
  156. pcapkit/foundation/extraction.py +915 -0
  157. pcapkit/foundation/reassembly/__init__.py +49 -0
  158. pcapkit/foundation/reassembly/data/__init__.py +48 -0
  159. pcapkit/foundation/reassembly/data/ip.py +117 -0
  160. pcapkit/foundation/reassembly/data/tcp.py +145 -0
  161. pcapkit/foundation/reassembly/ip.py +192 -0
  162. pcapkit/foundation/reassembly/ipv4.py +50 -0
  163. pcapkit/foundation/reassembly/ipv6.py +50 -0
  164. pcapkit/foundation/reassembly/reassembly.py +389 -0
  165. pcapkit/foundation/reassembly/tcp.py +249 -0
  166. pcapkit/foundation/registry/__init__.py +41 -0
  167. pcapkit/foundation/registry/foundation.py +327 -0
  168. pcapkit/foundation/registry/protocols.py +885 -0
  169. pcapkit/foundation/traceflow/__init__.py +44 -0
  170. pcapkit/foundation/traceflow/data/__init__.py +30 -0
  171. pcapkit/foundation/traceflow/data/tcp.py +105 -0
  172. pcapkit/foundation/traceflow/tcp.py +159 -0
  173. pcapkit/foundation/traceflow/traceflow.py +390 -0
  174. pcapkit/interface/__init__.py +22 -0
  175. pcapkit/interface/core.py +185 -0
  176. pcapkit/interface/misc.py +120 -0
  177. pcapkit/protocols/__init__.py +85 -0
  178. pcapkit/protocols/application/NotImplemented/bgp.py +0 -0
  179. pcapkit/protocols/application/NotImplemented/dhcp.py +0 -0
  180. pcapkit/protocols/application/NotImplemented/dhcpv6.py +0 -0
  181. pcapkit/protocols/application/NotImplemented/dns.py +0 -0
  182. pcapkit/protocols/application/NotImplemented/imap.py +0 -0
  183. pcapkit/protocols/application/NotImplemented/ldap.py +0 -0
  184. pcapkit/protocols/application/NotImplemented/mqtt.py +0 -0
  185. pcapkit/protocols/application/NotImplemented/nntp.py +0 -0
  186. pcapkit/protocols/application/NotImplemented/ntp.py +0 -0
  187. pcapkit/protocols/application/NotImplemented/onc_rpc.py +0 -0
  188. pcapkit/protocols/application/NotImplemented/pop.py +0 -0
  189. pcapkit/protocols/application/NotImplemented/rip.py +0 -0
  190. pcapkit/protocols/application/NotImplemented/rtp.py +0 -0
  191. pcapkit/protocols/application/NotImplemented/sip.py +0 -0
  192. pcapkit/protocols/application/NotImplemented/smtp.py +0 -0
  193. pcapkit/protocols/application/NotImplemented/snmp.py +0 -0
  194. pcapkit/protocols/application/NotImplemented/ssh.py +0 -0
  195. pcapkit/protocols/application/NotImplemented/telnet.py +0 -0
  196. pcapkit/protocols/application/NotImplemented/tls.py +0 -0
  197. pcapkit/protocols/application/NotImplemented/xmpp.py +0 -0
  198. pcapkit/protocols/application/__init__.py +34 -0
  199. pcapkit/protocols/application/application.py +114 -0
  200. pcapkit/protocols/application/ftp.py +206 -0
  201. pcapkit/protocols/application/http.py +176 -0
  202. pcapkit/protocols/application/httpv1.py +320 -0
  203. pcapkit/protocols/application/httpv2.py +1255 -0
  204. pcapkit/protocols/data/__init__.py +192 -0
  205. pcapkit/protocols/data/application/__init__.py +57 -0
  206. pcapkit/protocols/data/application/ftp.py +59 -0
  207. pcapkit/protocols/data/application/httpv1.py +79 -0
  208. pcapkit/protocols/data/application/httpv2.py +293 -0
  209. pcapkit/protocols/data/data.py +25 -0
  210. pcapkit/protocols/data/internet/__init__.py +298 -0
  211. pcapkit/protocols/data/internet/ah.py +31 -0
  212. pcapkit/protocols/data/internet/hip.py +804 -0
  213. pcapkit/protocols/data/internet/hopopt.py +351 -0
  214. pcapkit/protocols/data/internet/ipv4.py +369 -0
  215. pcapkit/protocols/data/internet/ipv6.py +67 -0
  216. pcapkit/protocols/data/internet/ipv6_frag.py +29 -0
  217. pcapkit/protocols/data/internet/ipv6_opts.py +368 -0
  218. pcapkit/protocols/data/internet/ipv6_route.py +86 -0
  219. pcapkit/protocols/data/internet/ipx.py +56 -0
  220. pcapkit/protocols/data/internet/mh.py +509 -0
  221. pcapkit/protocols/data/link/__init__.py +33 -0
  222. pcapkit/protocols/data/link/arp.py +74 -0
  223. pcapkit/protocols/data/link/ethernet.py +28 -0
  224. pcapkit/protocols/data/link/l2tp.py +63 -0
  225. pcapkit/protocols/data/link/ospf.py +58 -0
  226. pcapkit/protocols/data/link/vlan.py +42 -0
  227. pcapkit/protocols/data/misc/__init__.py +109 -0
  228. pcapkit/protocols/data/misc/null.py +18 -0
  229. pcapkit/protocols/data/misc/pcap/__init__.py +18 -0
  230. pcapkit/protocols/data/misc/pcap/frame.py +56 -0
  231. pcapkit/protocols/data/misc/pcap/header.py +53 -0
  232. pcapkit/protocols/data/misc/pcapng.py +925 -0
  233. pcapkit/protocols/data/misc/raw.py +25 -0
  234. pcapkit/protocols/data/protocol.py +32 -0
  235. pcapkit/protocols/data/transport/__init__.py +71 -0
  236. pcapkit/protocols/data/transport/tcp.py +555 -0
  237. pcapkit/protocols/data/transport/udp.py +29 -0
  238. pcapkit/protocols/internet/NotImplemented/ecn.py +0 -0
  239. pcapkit/protocols/internet/NotImplemented/esp.py +97 -0
  240. pcapkit/protocols/internet/NotImplemented/icmp.py +0 -0
  241. pcapkit/protocols/internet/NotImplemented/icmpv6.py +0 -0
  242. pcapkit/protocols/internet/NotImplemented/igmp.py +0 -0
  243. pcapkit/protocols/internet/NotImplemented/shim6.py +0 -0
  244. pcapkit/protocols/internet/__init__.py +43 -0
  245. pcapkit/protocols/internet/ah.py +275 -0
  246. pcapkit/protocols/internet/hip.py +4727 -0
  247. pcapkit/protocols/internet/hopopt.py +1879 -0
  248. pcapkit/protocols/internet/internet.py +240 -0
  249. pcapkit/protocols/internet/ip.py +51 -0
  250. pcapkit/protocols/internet/ipsec.py +50 -0
  251. pcapkit/protocols/internet/ipv4.py +1782 -0
  252. pcapkit/protocols/internet/ipv6.py +361 -0
  253. pcapkit/protocols/internet/ipv6_frag.py +258 -0
  254. pcapkit/protocols/internet/ipv6_opts.py +1890 -0
  255. pcapkit/protocols/internet/ipv6_route.py +710 -0
  256. pcapkit/protocols/internet/ipx.py +230 -0
  257. pcapkit/protocols/internet/mh.py +2764 -0
  258. pcapkit/protocols/link/NotImplemented/dsl.py +0 -0
  259. pcapkit/protocols/link/NotImplemented/eapol.py +1 -0
  260. pcapkit/protocols/link/NotImplemented/fddi.py +0 -0
  261. pcapkit/protocols/link/NotImplemented/isdn.py +0 -0
  262. pcapkit/protocols/link/NotImplemented/ndp.py +0 -0
  263. pcapkit/protocols/link/NotImplemented/ppp.py +0 -0
  264. pcapkit/protocols/link/__init__.py +35 -0
  265. pcapkit/protocols/link/arp.py +421 -0
  266. pcapkit/protocols/link/ethernet.py +248 -0
  267. pcapkit/protocols/link/l2tp.py +267 -0
  268. pcapkit/protocols/link/link.py +140 -0
  269. pcapkit/protocols/link/ospf.py +342 -0
  270. pcapkit/protocols/link/rarp.py +82 -0
  271. pcapkit/protocols/link/vlan.py +225 -0
  272. pcapkit/protocols/misc/__init__.py +37 -0
  273. pcapkit/protocols/misc/null.py +129 -0
  274. pcapkit/protocols/misc/pcap/__init__.py +17 -0
  275. pcapkit/protocols/misc/pcap/frame.py +478 -0
  276. pcapkit/protocols/misc/pcap/header.py +358 -0
  277. pcapkit/protocols/misc/pcapng.py +5520 -0
  278. pcapkit/protocols/misc/raw.py +180 -0
  279. pcapkit/protocols/protocol.py +1216 -0
  280. pcapkit/protocols/schema/__init__.py +140 -0
  281. pcapkit/protocols/schema/application/__init__.py +40 -0
  282. pcapkit/protocols/schema/application/ftp.py +21 -0
  283. pcapkit/protocols/schema/application/httpv1.py +21 -0
  284. pcapkit/protocols/schema/application/httpv2.py +384 -0
  285. pcapkit/protocols/schema/internet/__init__.py +294 -0
  286. pcapkit/protocols/schema/internet/ah.py +40 -0
  287. pcapkit/protocols/schema/internet/hip.py +1184 -0
  288. pcapkit/protocols/schema/internet/hopopt.py +679 -0
  289. pcapkit/protocols/schema/internet/ipv4.py +576 -0
  290. pcapkit/protocols/schema/internet/ipv6.py +63 -0
  291. pcapkit/protocols/schema/internet/ipv6_frag.py +48 -0
  292. pcapkit/protocols/schema/internet/ipv6_opts.py +680 -0
  293. pcapkit/protocols/schema/internet/ipv6_route.py +198 -0
  294. pcapkit/protocols/schema/internet/ipx.py +40 -0
  295. pcapkit/protocols/schema/internet/mh.py +718 -0
  296. pcapkit/protocols/schema/link/__init__.py +19 -0
  297. pcapkit/protocols/schema/link/arp.py +39 -0
  298. pcapkit/protocols/schema/link/ethernet.py +51 -0
  299. pcapkit/protocols/schema/link/l2tp.py +88 -0
  300. pcapkit/protocols/schema/link/ospf.py +90 -0
  301. pcapkit/protocols/schema/link/vlan.py +69 -0
  302. pcapkit/protocols/schema/misc/__init__.py +108 -0
  303. pcapkit/protocols/schema/misc/null.py +18 -0
  304. pcapkit/protocols/schema/misc/pcap/__init__.py +10 -0
  305. pcapkit/protocols/schema/misc/pcap/frame.py +51 -0
  306. pcapkit/protocols/schema/misc/pcap/header.py +63 -0
  307. pcapkit/protocols/schema/misc/pcapng.py +1689 -0
  308. pcapkit/protocols/schema/misc/raw.py +24 -0
  309. pcapkit/protocols/schema/schema.py +809 -0
  310. pcapkit/protocols/schema/transport/__init__.py +69 -0
  311. pcapkit/protocols/schema/transport/tcp.py +928 -0
  312. pcapkit/protocols/schema/transport/udp.py +90 -0
  313. pcapkit/protocols/transport/NotImplemented/dccp.py +0 -0
  314. pcapkit/protocols/transport/NotImplemented/rsvp.py +0 -0
  315. pcapkit/protocols/transport/NotImplemented/sctp.py +0 -0
  316. pcapkit/protocols/transport/__init__.py +27 -0
  317. pcapkit/protocols/transport/tcp.py +3025 -0
  318. pcapkit/protocols/transport/transport.py +158 -0
  319. pcapkit/protocols/transport/udp.py +214 -0
  320. pcapkit/py.typed +0 -0
  321. pcapkit/toolkit/__init__.py +57 -0
  322. pcapkit/toolkit/dpkt.py +306 -0
  323. pcapkit/toolkit/pcap.py +212 -0
  324. pcapkit/toolkit/pcapng.py +251 -0
  325. pcapkit/toolkit/pyshark.py +99 -0
  326. pcapkit/toolkit/scapy.py +297 -0
  327. pcapkit/utilities/__init__.py +20 -0
  328. pcapkit/utilities/compat.py +196 -0
  329. pcapkit/utilities/decorators.py +192 -0
  330. pcapkit/utilities/exceptions.py +365 -0
  331. pcapkit/utilities/logging.py +55 -0
  332. pcapkit/utilities/warnings.py +185 -0
  333. pcapkit/vendor/__init__.py +105 -0
  334. pcapkit/vendor/__main__.py +92 -0
  335. pcapkit/vendor/arp/__init__.py +27 -0
  336. pcapkit/vendor/arp/hardware.py +29 -0
  337. pcapkit/vendor/arp/operation.py +29 -0
  338. pcapkit/vendor/default.py +474 -0
  339. pcapkit/vendor/ftp/__init__.py +27 -0
  340. pcapkit/vendor/ftp/command.py +244 -0
  341. pcapkit/vendor/ftp/return_code.py +256 -0
  342. pcapkit/vendor/hip/__init__.py +94 -0
  343. pcapkit/vendor/hip/certificate.py +29 -0
  344. pcapkit/vendor/hip/cipher.py +29 -0
  345. pcapkit/vendor/hip/di.py +29 -0
  346. pcapkit/vendor/hip/ecdsa_curve.py +29 -0
  347. pcapkit/vendor/hip/ecdsa_low_curve.py +29 -0
  348. pcapkit/vendor/hip/eddsa_curve.py +85 -0
  349. pcapkit/vendor/hip/esp_transform_suite.py +29 -0
  350. pcapkit/vendor/hip/group.py +87 -0
  351. pcapkit/vendor/hip/hi_algorithm.py +29 -0
  352. pcapkit/vendor/hip/hit_suite.py +29 -0
  353. pcapkit/vendor/hip/nat_traversal.py +29 -0
  354. pcapkit/vendor/hip/notify_message.py +29 -0
  355. pcapkit/vendor/hip/packet.py +88 -0
  356. pcapkit/vendor/hip/parameter.py +88 -0
  357. pcapkit/vendor/hip/registration.py +29 -0
  358. pcapkit/vendor/hip/registration_failure.py +29 -0
  359. pcapkit/vendor/hip/suite.py +29 -0
  360. pcapkit/vendor/hip/transport.py +29 -0
  361. pcapkit/vendor/http/__init__.py +39 -0
  362. pcapkit/vendor/http/error_code.py +95 -0
  363. pcapkit/vendor/http/frame.py +91 -0
  364. pcapkit/vendor/http/method.py +167 -0
  365. pcapkit/vendor/http/setting.py +93 -0
  366. pcapkit/vendor/http/status_code.py +185 -0
  367. pcapkit/vendor/ipv4/__init__.py +57 -0
  368. pcapkit/vendor/ipv4/classification_level.py +91 -0
  369. pcapkit/vendor/ipv4/option_class.py +80 -0
  370. pcapkit/vendor/ipv4/option_number.py +105 -0
  371. pcapkit/vendor/ipv4/protection_authority.py +84 -0
  372. pcapkit/vendor/ipv4/qs_function.py +78 -0
  373. pcapkit/vendor/ipv4/router_alert.py +93 -0
  374. pcapkit/vendor/ipv4/tos_del.py +78 -0
  375. pcapkit/vendor/ipv4/tos_ecn.py +95 -0
  376. pcapkit/vendor/ipv4/tos_pre.py +84 -0
  377. pcapkit/vendor/ipv4/tos_rel.py +78 -0
  378. pcapkit/vendor/ipv4/tos_thr.py +77 -0
  379. pcapkit/vendor/ipv4/ts_flag.py +79 -0
  380. pcapkit/vendor/ipv6/__init__.py +53 -0
  381. pcapkit/vendor/ipv6/extension_header.py +171 -0
  382. pcapkit/vendor/ipv6/option.py +104 -0
  383. pcapkit/vendor/ipv6/option_action.py +90 -0
  384. pcapkit/vendor/ipv6/qs_function.py +78 -0
  385. pcapkit/vendor/ipv6/router_alert.py +93 -0
  386. pcapkit/vendor/ipv6/routing.py +87 -0
  387. pcapkit/vendor/ipv6/seed_id.py +81 -0
  388. pcapkit/vendor/ipv6/smf_dpd_mode.py +78 -0
  389. pcapkit/vendor/ipv6/tagger_id.py +81 -0
  390. pcapkit/vendor/ipx/__init__.py +37 -0
  391. pcapkit/vendor/ipx/packet.py +123 -0
  392. pcapkit/vendor/ipx/socket.py +125 -0
  393. pcapkit/vendor/l2tp/__init__.py +21 -0
  394. pcapkit/vendor/l2tp/type.py +78 -0
  395. pcapkit/vendor/mh/__init__.py +204 -0
  396. pcapkit/vendor/mh/access_type.py +87 -0
  397. pcapkit/vendor/mh/ack_status_code.py +88 -0
  398. pcapkit/vendor/mh/ani_suboption.py +88 -0
  399. pcapkit/vendor/mh/auth_subtype.py +83 -0
  400. pcapkit/vendor/mh/binding_ack_flag.py +148 -0
  401. pcapkit/vendor/mh/binding_error.py +78 -0
  402. pcapkit/vendor/mh/binding_revocation.py +87 -0
  403. pcapkit/vendor/mh/binding_update_flag.py +147 -0
  404. pcapkit/vendor/mh/cga_extension.py +91 -0
  405. pcapkit/vendor/mh/cga_sec.py +91 -0
  406. pcapkit/vendor/mh/cga_type.py +74 -0
  407. pcapkit/vendor/mh/dhcp_support_mode.py +77 -0
  408. pcapkit/vendor/mh/dns_status_code.py +87 -0
  409. pcapkit/vendor/mh/dsmip6_tls_packet.py +87 -0
  410. pcapkit/vendor/mh/dsmipv6_home_address.py +87 -0
  411. pcapkit/vendor/mh/enumerating_algorithm.py +82 -0
  412. pcapkit/vendor/mh/fb_ack_status.py +87 -0
  413. pcapkit/vendor/mh/fb_action.py +88 -0
  414. pcapkit/vendor/mh/fb_indication_trigger.py +87 -0
  415. pcapkit/vendor/mh/fb_type.py +88 -0
  416. pcapkit/vendor/mh/flow_id_status.py +87 -0
  417. pcapkit/vendor/mh/flow_id_suboption.py +87 -0
  418. pcapkit/vendor/mh/handoff_type.py +87 -0
  419. pcapkit/vendor/mh/handover_ack_flag.py +143 -0
  420. pcapkit/vendor/mh/handover_ack_status.py +87 -0
  421. pcapkit/vendor/mh/handover_initiate_flag.py +143 -0
  422. pcapkit/vendor/mh/handover_initiate_status.py +87 -0
  423. pcapkit/vendor/mh/home_address_reply.py +87 -0
  424. pcapkit/vendor/mh/lla_code.py +97 -0
  425. pcapkit/vendor/mh/lma_mag_suboption.py +88 -0
  426. pcapkit/vendor/mh/mn_group_id.py +87 -0
  427. pcapkit/vendor/mh/mn_id_subtype.py +87 -0
  428. pcapkit/vendor/mh/operator_id.py +87 -0
  429. pcapkit/vendor/mh/option.py +83 -0
  430. pcapkit/vendor/mh/packet.py +82 -0
  431. pcapkit/vendor/mh/qos_attribute.py +87 -0
  432. pcapkit/vendor/mh/revocation_status_code.py +87 -0
  433. pcapkit/vendor/mh/revocation_trigger.py +87 -0
  434. pcapkit/vendor/mh/status_code.py +91 -0
  435. pcapkit/vendor/mh/traffic_selector.py +87 -0
  436. pcapkit/vendor/mh/upa_status.py +87 -0
  437. pcapkit/vendor/mh/upn_reason.py +87 -0
  438. pcapkit/vendor/ospf/__init__.py +27 -0
  439. pcapkit/vendor/ospf/authentication.py +29 -0
  440. pcapkit/vendor/ospf/packet.py +29 -0
  441. pcapkit/vendor/pcapng/__init__.py +51 -0
  442. pcapkit/vendor/pcapng/block_type.py +94 -0
  443. pcapkit/vendor/pcapng/filter_type.py +77 -0
  444. pcapkit/vendor/pcapng/hash_algorithm.py +82 -0
  445. pcapkit/vendor/pcapng/option_type.py +287 -0
  446. pcapkit/vendor/pcapng/record_type.py +81 -0
  447. pcapkit/vendor/pcapng/secrets_type.py +81 -0
  448. pcapkit/vendor/pcapng/verdict_type.py +79 -0
  449. pcapkit/vendor/reg/__init__.py +34 -0
  450. pcapkit/vendor/reg/apptype.py +338 -0
  451. pcapkit/vendor/reg/ethertype.py +121 -0
  452. pcapkit/vendor/reg/linktype.py +110 -0
  453. pcapkit/vendor/reg/transtype.py +111 -0
  454. pcapkit/vendor/tcp/__init__.py +35 -0
  455. pcapkit/vendor/tcp/checksum.py +80 -0
  456. pcapkit/vendor/tcp/flags.py +149 -0
  457. pcapkit/vendor/tcp/mp_tcp_option.py +90 -0
  458. pcapkit/vendor/tcp/option.py +103 -0
  459. pcapkit/vendor/vlan/__init__.py +23 -0
  460. pcapkit/vendor/vlan/priority_level.py +97 -0
  461. pypcapkit-1.3.3.post1.dist-info/LICENSE +29 -0
  462. pypcapkit-1.3.3.post1.dist-info/METADATA +236 -0
  463. pypcapkit-1.3.3.post1.dist-info/RECORD +466 -0
  464. pypcapkit-1.3.3.post1.dist-info/WHEEL +5 -0
  465. pypcapkit-1.3.3.post1.dist-info/entry_points.txt +3 -0
  466. pypcapkit-1.3.3.post1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,71 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Update Notification Acknowledgement Status Registry
4
+ =========================================================
5
+
6
+ .. module:: pcapkit.const.mh.upa_status
7
+
8
+ This module contains the constant enumeration for **Update Notification Acknowledgement Status Registry**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.upa_status.UpdateNotificationACKStatus`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['UpdateNotificationACKStatus']
16
+
17
+
18
+ class UpdateNotificationACKStatus(IntEnum):
19
+ """[UpdateNotificationACKStatus] Update Notification Acknowledgement Status Registry"""
20
+
21
+ #: SUCCESS [:rfc:`7077`]
22
+ SUCCESS = 0
23
+
24
+ #: FAILED-TO-UPDATE-SESSION-PARAMETERS [:rfc:`7077`]
25
+ FAILED_TO_UPDATE_SESSION_PARAMETERS = 128
26
+
27
+ #: MISSING-VENDOR-SPECIFIC-OPTION [:rfc:`7077`]
28
+ MISSING_VENDOR_SPECIFIC_OPTION = 129
29
+
30
+ #: CANNOT_MEET_QOS_SERVICE_REQUEST [:rfc:`7222`]
31
+ CANNOT_MEET_QOS_SERVICE_REQUEST = 130
32
+
33
+ #: Reason unspecified. [:rfc:`7864`]
34
+ Reason_unspecified = 131
35
+
36
+ #: MN not attached. [:rfc:`7864`]
37
+ MN_not_attached = 132
38
+
39
+ @staticmethod
40
+ def get(key: 'int | str', default: 'int' = -1) -> 'UpdateNotificationACKStatus':
41
+ """Backport support for original codes.
42
+
43
+ Args:
44
+ key: Key to get enum item.
45
+ default: Default value if not found.
46
+
47
+ :meta private:
48
+ """
49
+ if isinstance(key, int):
50
+ return UpdateNotificationACKStatus(key)
51
+ if key not in UpdateNotificationACKStatus._member_map_: # pylint: disable=no-member
52
+ return extend_enum(UpdateNotificationACKStatus, key, default)
53
+ return UpdateNotificationACKStatus[key] # type: ignore[misc]
54
+
55
+ @classmethod
56
+ def _missing_(cls, value: 'int') -> 'UpdateNotificationACKStatus':
57
+ """Lookup function used when value is not found.
58
+
59
+ Args:
60
+ value: Value to get enum item.
61
+
62
+ """
63
+ if not (isinstance(value, int) and 0 <= value <= 255):
64
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
65
+ if 1 <= value <= 127:
66
+ #: Unassigned
67
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
68
+ if 133 <= value <= 255:
69
+ #: Unassigned
70
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
71
+ return super()._missing_(value)
@@ -0,0 +1,80 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Update Notification Reasons Registry
4
+ ==========================================
5
+
6
+ .. module:: pcapkit.const.mh.upn_reason
7
+
8
+ This module contains the constant enumeration for **Update Notification Reasons Registry**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.upn_reason.UpdateNotificationReason`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['UpdateNotificationReason']
16
+
17
+
18
+ class UpdateNotificationReason(IntEnum):
19
+ """[UpdateNotificationReason] Update Notification Reasons Registry"""
20
+
21
+ #: Reserved [:rfc:`7077`]
22
+ Reserved_0 = 0
23
+
24
+ #: FORCE-REREGISTRATION [:rfc:`7077`]
25
+ FORCE_REREGISTRATION = 1
26
+
27
+ #: UPDATE-SESSION-PARAMETERS [:rfc:`7077`]
28
+ UPDATE_SESSION_PARAMETERS = 2
29
+
30
+ #: VENDOR-SPECIFIC-REASON [:rfc:`7077`]
31
+ VENDOR_SPECIFIC_REASON = 3
32
+
33
+ #: ANI-PARAMS-REQUESTED [:rfc:`7077`]
34
+ ANI_PARAMS_REQUESTED = 4
35
+
36
+ #: QOS_SERVICE_REQUEST [:rfc:`7222`]
37
+ QOS_SERVICE_REQUEST = 5
38
+
39
+ #: PGW-TRIGGERED-PCSCF-RESTORATION-PCO [3GPP TS 29.275][Kimmo Kymalainen]
40
+ PGW_TRIGGERED_PCSCF_RESTORATION_PCO = 6
41
+
42
+ #: PGW-TRIGGERED-PCSCF-RESTORATION-DHCP [3GPP TS 29.275][Kimmo Kymalainen]
43
+ PGW_TRIGGERED_PCSCF_RESTORATION_DHCP = 7
44
+
45
+ #: FLOW-MOBILITY [:rfc:`7864`]
46
+ FLOW_MOBILITY = 8
47
+
48
+ #: Reserved [:rfc:`7077`]
49
+ Reserved_255 = 255
50
+
51
+ @staticmethod
52
+ def get(key: 'int | str', default: 'int' = -1) -> 'UpdateNotificationReason':
53
+ """Backport support for original codes.
54
+
55
+ Args:
56
+ key: Key to get enum item.
57
+ default: Default value if not found.
58
+
59
+ :meta private:
60
+ """
61
+ if isinstance(key, int):
62
+ return UpdateNotificationReason(key)
63
+ if key not in UpdateNotificationReason._member_map_: # pylint: disable=no-member
64
+ return extend_enum(UpdateNotificationReason, key, default)
65
+ return UpdateNotificationReason[key] # type: ignore[misc]
66
+
67
+ @classmethod
68
+ def _missing_(cls, value: 'int') -> 'UpdateNotificationReason':
69
+ """Lookup function used when value is not found.
70
+
71
+ Args:
72
+ value: Value to get enum item.
73
+
74
+ """
75
+ if not (isinstance(value, int) and 0 <= value <= 255):
76
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
77
+ if 9 <= value <= 254:
78
+ #: Unassigned
79
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
80
+ return super()._missing_(value)
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=unused-import
3
+ """:class:`~pcapkit.protocols.link.ospf.OSPF` Constant Enumerations
4
+ ======================================================================
5
+
6
+ .. module:: pcapkit.const.ospf
7
+
8
+ This module contains all constant enumerations of
9
+ :class:`~pcapkit.protocols.link.ospf.OSPF` implementations. Available
10
+ enumerations include:
11
+
12
+ .. list-table::
13
+
14
+ * - :class:`OSPF_Authentication <pcapkit.const.ospf.authentication.Authentication>`
15
+ - Authentication Codes [*]_
16
+ * - :class:`OSPF_Packet <pcapkit.const.ospf.packet.Packet>`
17
+ - OSPF Packet Types [*]_
18
+
19
+ .. [*] https://www.iana.org/assignments/ospf-authentication-codes/ospf-authentication-codes.xhtml#authentication-codes
20
+ .. [*] https://www.iana.org/assignments/ospfv2-parameters/ospfv2-parameters.xhtml#ospfv2-parameters-3
21
+
22
+ """
23
+
24
+ from pcapkit.const.ospf.authentication import Authentication as OSPF_Authentication
25
+ from pcapkit.const.ospf.packet import Packet as OSPF_Packet
26
+
27
+ __all__ = ['OSPF_Authentication', 'OSPF_Packet']
@@ -0,0 +1,65 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Authentication Types
4
+ ==========================
5
+
6
+ .. module:: pcapkit.const.ospf.authentication
7
+
8
+ This module contains the constant enumeration for **Authentication Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.ospf.authentication.Authentication`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Authentication']
16
+
17
+
18
+ class Authentication(IntEnum):
19
+ """[Authentication] Authentication Types"""
20
+
21
+ #: No Authentication [:rfc:`1583`]
22
+ No_Authentication = 0
23
+
24
+ #: Simple Password Authentication [:rfc:`1583`]
25
+ Simple_Password_Authentication = 1
26
+
27
+ #: Cryptographic authentication [:rfc:`2328`][:rfc:`5709`]
28
+ Cryptographic_authentication = 2
29
+
30
+ #: Cryptographic Authentication with Extended Sequence Numbers [:rfc:`7474`]
31
+ Cryptographic_Authentication_with_Extended_Sequence_Numbers = 3
32
+
33
+ @staticmethod
34
+ def get(key: 'int | str', default: 'int' = -1) -> 'Authentication':
35
+ """Backport support for original codes.
36
+
37
+ Args:
38
+ key: Key to get enum item.
39
+ default: Default value if not found.
40
+
41
+ :meta private:
42
+ """
43
+ if isinstance(key, int):
44
+ return Authentication(key)
45
+ if key not in Authentication._member_map_: # pylint: disable=no-member
46
+ return extend_enum(Authentication, key, default)
47
+ return Authentication[key] # type: ignore[misc]
48
+
49
+ @classmethod
50
+ def _missing_(cls, value: 'int') -> 'Authentication':
51
+ """Lookup function used when value is not found.
52
+
53
+ Args:
54
+ value: Value to get enum item.
55
+
56
+ """
57
+ if not (isinstance(value, int) and 0 <= value <= 65535):
58
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
59
+ if 4 <= value <= 255:
60
+ #: Unassigned
61
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
62
+ if 256 <= value <= 65535:
63
+ #: Deprecated [:rfc:`6549`]
64
+ return extend_enum(cls, 'Deprecated_%d' % value, value)
65
+ return super()._missing_(value)
@@ -0,0 +1,71 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """OSPF Packet Types
4
+ =======================
5
+
6
+ .. module:: pcapkit.const.ospf.packet
7
+
8
+ This module contains the constant enumeration for **OSPF Packet Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.ospf.packet.Packet`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Packet']
16
+
17
+
18
+ class Packet(IntEnum):
19
+ """[Packet] OSPF Packet Types"""
20
+
21
+ #: Reserved
22
+ Reserved_0 = 0
23
+
24
+ #: Hello [:rfc:`2328`]
25
+ Hello = 1
26
+
27
+ #: Database Description [:rfc:`2328`]
28
+ Database_Description = 2
29
+
30
+ #: Link State Request [:rfc:`2328`]
31
+ Link_State_Request = 3
32
+
33
+ #: Link State Update [:rfc:`2328`]
34
+ Link_State_Update = 4
35
+
36
+ #: Link State Ack [:rfc:`2328`]
37
+ Link_State_Ack = 5
38
+
39
+ @staticmethod
40
+ def get(key: 'int | str', default: 'int' = -1) -> 'Packet':
41
+ """Backport support for original codes.
42
+
43
+ Args:
44
+ key: Key to get enum item.
45
+ default: Default value if not found.
46
+
47
+ :meta private:
48
+ """
49
+ if isinstance(key, int):
50
+ return Packet(key)
51
+ if key not in Packet._member_map_: # pylint: disable=no-member
52
+ return extend_enum(Packet, key, default)
53
+ return Packet[key] # type: ignore[misc]
54
+
55
+ @classmethod
56
+ def _missing_(cls, value: 'int') -> 'Packet':
57
+ """Lookup function used when value is not found.
58
+
59
+ Args:
60
+ value: Value to get enum item.
61
+
62
+ """
63
+ if not (isinstance(value, int) and 0 <= value <= 65535):
64
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
65
+ if 6 <= value <= 127:
66
+ #: Unassigned
67
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
68
+ if 128 <= value <= 255:
69
+ #: Reserved
70
+ return extend_enum(cls, 'Reserved_%d' % value, value)
71
+ return super()._missing_(value)
@@ -0,0 +1,51 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=unused-import
3
+ """:class:`~pcapkit.protocols.misc.pcapng.PCAPNG` Constant Enumerations
4
+ ==========================================================================
5
+
6
+ .. module:: pcapkit.const.pcapng
7
+
8
+ This module contains all constant enumerations of
9
+ :class:`~pcapkit.protocols.misc.pcapng.PCAPNG` implementations. Available
10
+ enumerations include:
11
+
12
+ .. list-table::
13
+
14
+ * - :class:`PCAPNG_BlockType <pcapkit.const.pcapng.block_type.BlockType>`
15
+ - Block Types [*]_
16
+ * - :class:`PCAPNG_OptionType <pcapkit.const.pcapng.option_type.OptionType>`
17
+ - Option Types [*]_
18
+ * - :class:`PCAPNG_HashAlgorithm <pcapkit.const.pcapng.hash_algorithm.HashAlgorithm>`
19
+ - Hash Algorithms [*]_
20
+ * - :class:`PCAPNG_VerdictType <pcapkit.const.pcapng.verdict_type.VerdictType>`
21
+ - Verdict Types [*]_
22
+ * - :class:`PCAPNG_RecordType <pcapkit.const.pcapng.record_type.RecordType>`
23
+ - Record Types [*]_
24
+ * - :class:`PCAPNG_SecretsType <pcapkit.const.pcapng.secrets_type.SecretsType>`
25
+ - Secrets Types [*]_
26
+ * - :class:`PCAPNG_FilterType <pcapkit.const.pcapng.filter_type.FilterType>`
27
+ - Filter Types [*]_
28
+
29
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-standardized-block-type-cod
30
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-options
31
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-enhanced-packet-block-flags
32
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-enhanced-packet-block
33
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-name-resolution-block
34
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-decryption-secrets-block
35
+ .. [*] https://www.ietf.org/staging/draft-tuexen-opsawg-pcapng-02.html#name-interface-description-block
36
+
37
+ """
38
+
39
+ from pcapkit.const.pcapng.block_type import BlockType as PCAPNG_BlockType
40
+ from pcapkit.const.pcapng.filter_type import FilterType as PCAPNG_FilterType
41
+ from pcapkit.const.pcapng.hash_algorithm import HashAlgorithm as PCAPNG_HashAlgorithm
42
+ from pcapkit.const.pcapng.option_type import OptionType as PCAPNG_OptionType
43
+ from pcapkit.const.pcapng.record_type import RecordType as PCAPNG_RecordType
44
+ from pcapkit.const.pcapng.secrets_type import SecretsType as PCAPNG_SecretsType
45
+ from pcapkit.const.pcapng.verdict_type import VerdictType as PCAPNG_VerdictType
46
+
47
+ ___all__ = [
48
+ 'PCAPNG_BlockType', 'PCAPNG_OptionType', 'PCAPNG_HashAlgorithm',
49
+ 'PCAPNG_VerdictType', 'PCAPNG_RecordType', 'PCAPNG_SecretsType',
50
+ 'PCAPNG_FilterType',
51
+ ]
@@ -0,0 +1,152 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Block Types
4
+ =================
5
+
6
+ .. module:: pcapkit.const.pcapng.block_type
7
+
8
+ This module contains the constant enumeration for **Block Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.block_type.BlockType`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['BlockType']
16
+
17
+
18
+ class BlockType(IntEnum):
19
+ """[BlockType] Block Types"""
20
+
21
+ #: Reserved ???
22
+ Reserved_0x00000000 = 0x00000000
23
+
24
+ #: Interface Description Block ( Section 4.2 )
25
+ Interface_Description_Block = 0x00000001
26
+
27
+ #: Packet Block ( Appendix A )
28
+ Packet_Block = 0x00000002
29
+
30
+ #: Simple Packet Block ( Section 4.4 )
31
+ Simple_Packet_Block = 0x00000003
32
+
33
+ #: Name Resolution Block ( Section 4.5 )
34
+ Name_Resolution_Block = 0x00000004
35
+
36
+ #: Interface Statistics Block ( Section 4.6 )
37
+ Interface_Statistics_Block = 0x00000005
38
+
39
+ #: Enhanced Packet Block ( Section 4.3 )
40
+ Enhanced_Packet_Block = 0x00000006
41
+
42
+ #: IRIG Timestamp Block (requested by Gianluca Varenni
43
+ #: <gianluca.varenni@cacetech.com>, CACE Technologies LLC); code also used for
44
+ #: Socket Aggregation Event Block
45
+ IRIG_Timestamp_Block = 0x00000007
46
+
47
+ #: ARINC 429 in AFDX Encapsulation Information Block (requested by Gianluca
48
+ #: Varenni <gianluca.varenni@cacetech.com>, CACE Technologies LLC)
49
+ ARINC_429_in_AFDX_Encapsulation_Information_Block = 0x00000008
50
+
51
+ #: systemd Journal Export Block ( Section 4.7 )
52
+ systemd_Journal_Export_Block = 0x00000009
53
+
54
+ #: Decryption Secrets Block ( Section 4.8 )
55
+ Decryption_Secrets_Block = 0x0000000a
56
+
57
+ #: Hone Project Machine Info Block (see also Google version )
58
+ Hone_Project_Machine_Info_Block = 0x00000101
59
+
60
+ #: Hone Project Connection Event Block (see also Google version )
61
+ Hone_Project_Connection_Event_Block = 0x00000102
62
+
63
+ #: Sysdig Machine Info Block
64
+ Sysdig_Machine_Info_Block = 0x00000201
65
+
66
+ #: Sysdig Process Info Block, version 1
67
+ Sysdig_Process_Info_Block_version_1 = 0x00000202
68
+
69
+ #: Sysdig FD List Block
70
+ Sysdig_FD_List_Block = 0x00000203
71
+
72
+ #: Sysdig Event Block
73
+ Sysdig_Event_Block = 0x00000204
74
+
75
+ #: Sysdig Interface List Block
76
+ Sysdig_Interface_List_Block = 0x00000205
77
+
78
+ #: Sysdig User List Block
79
+ Sysdig_User_List_Block = 0x00000206
80
+
81
+ #: Sysdig Process Info Block, version 2
82
+ Sysdig_Process_Info_Block_version_2 = 0x00000207
83
+
84
+ #: Sysdig Event Block with flags
85
+ Sysdig_Event_Block_with_flags = 0x00000208
86
+
87
+ #: Sysdig Process Info Block, version 3
88
+ Sysdig_Process_Info_Block_version_3 = 0x00000209
89
+
90
+ #: Sysdig Process Info Block, version 4
91
+ Sysdig_Process_Info_Block_version_4 = 0x00000210
92
+
93
+ #: Sysdig Process Info Block, version 5
94
+ Sysdig_Process_Info_Block_version_5 = 0x00000211
95
+
96
+ #: Sysdig Process Info Block, version 6
97
+ Sysdig_Process_Info_Block_version_6 = 0x00000212
98
+
99
+ #: Sysdig Process Info Block, version 7
100
+ Sysdig_Process_Info_Block_version_7 = 0x00000213
101
+
102
+ #: Custom Block that rewriters can copy into new files ( Section 4.9 )
103
+ Custom_Block_that_rewriters_can_copy_into_new_files = 0x00000bad
104
+
105
+ #: Custom Block that rewriters should not copy into new files ( Section 4.9 )
106
+ Custom_Block_that_rewriters_should_not_copy_into_new_files = 0x40000bad
107
+
108
+ #: Section Header Block ( Section 4.1 )
109
+ Section_Header_Block = 0x0a0d0d0a
110
+
111
+ @staticmethod
112
+ def get(key: 'int | str', default: 'int' = -1) -> 'BlockType':
113
+ """Backport support for original codes.
114
+
115
+ Args:
116
+ key: Key to get enum item.
117
+ default: Default value if not found.
118
+
119
+ :meta private:
120
+ """
121
+ if isinstance(key, int):
122
+ return BlockType(key)
123
+ if key not in BlockType._member_map_: # pylint: disable=no-member
124
+ return extend_enum(BlockType, key, default)
125
+ return BlockType[key] # type: ignore[misc]
126
+
127
+ @classmethod
128
+ def _missing_(cls, value: 'int') -> 'BlockType':
129
+ """Lookup function used when value is not found.
130
+
131
+ Args:
132
+ value: Value to get enum item.
133
+
134
+ """
135
+ if not (isinstance(value, int) and 0 <= value <= 0xFFFFFFFF):
136
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
137
+ if 0x0a0d0a00 <= value <= 0x0a0d0aff:
138
+ #: Reserved. Used to detect trace files corrupted because of file transfers using the HTTP protocol in text mode.
139
+ return extend_enum(cls, 'Reserved_%08x' % value, value)
140
+ if 0x000a0d0a <= value <= 0xff0a0d0a:
141
+ #: Reserved. Used to detect trace files corrupted because of file transfers using the HTTP protocol in text mode.
142
+ return extend_enum(cls, 'Reserved_%08x' % value, value)
143
+ if 0x000a0d0d <= value <= 0xff0a0d0d:
144
+ #: Reserved. Used to detect trace files corrupted because of file transfers using the HTTP protocol in text mode.
145
+ return extend_enum(cls, 'Reserved_%08x' % value, value)
146
+ if 0x0d0d0a00 <= value <= 0x0d0d0aff:
147
+ #: Reserved. Used to detect trace files corrupted because of file transfers using the FTP protocol in text mode.
148
+ return extend_enum(cls, 'Reserved_%08x' % value, value)
149
+ if 0x80000000 <= value <= 0xffffffff:
150
+ #: Reserved for local use.
151
+ return extend_enum(cls, 'Reserved_%08x' % value, value)
152
+ return super()._missing_(value)
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Filter Types
4
+ ==================
5
+
6
+ .. module:: pcapkit.const.pcapng.filter_type
7
+
8
+ This module contains the constant enumeration for **Filter Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.filter_type.FilterType`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['FilterType']
16
+
17
+
18
+ class FilterType(IntEnum):
19
+ """[FilterType] Filter Types"""
20
+
21
+
22
+ @staticmethod
23
+ def get(key: 'int | str', default: 'int' = -1) -> 'FilterType':
24
+ """Backport support for original codes.
25
+
26
+ Args:
27
+ key: Key to get enum item.
28
+ default: Default value if not found.
29
+
30
+ :meta private:
31
+ """
32
+ if isinstance(key, int):
33
+ return FilterType(key)
34
+ if key not in FilterType._member_map_: # pylint: disable=no-member
35
+ return extend_enum(FilterType, key, default)
36
+ return FilterType[key] # type: ignore[misc]
37
+
38
+ @classmethod
39
+ def _missing_(cls, value: 'int') -> 'FilterType':
40
+ """Lookup function used when value is not found.
41
+
42
+ Args:
43
+ value: Value to get enum item.
44
+
45
+ """
46
+ if not (isinstance(value, int) and 0x00<= value <= 0xFF):
47
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
48
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Hash Algorithms
4
+ =====================
5
+
6
+ .. module:: pcapkit.const.pcapng.hash_algorithm
7
+
8
+ This module contains the constant enumeration for **Hash Algorithms**,
9
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.hash_algorithm.HashAlgorithm`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['HashAlgorithm']
16
+
17
+
18
+ class HashAlgorithm(IntEnum):
19
+ """[HashAlgorithm] Hash Algorithms"""
20
+
21
+ two_s_complement = 0
22
+
23
+ XOR = 1
24
+
25
+ CRC32 = 2
26
+
27
+ MD_5 = 3
28
+
29
+ SHA_1 = 4
30
+
31
+ Toeplitz = 5
32
+
33
+ @staticmethod
34
+ def get(key: 'int | str', default: 'int' = -1) -> 'HashAlgorithm':
35
+ """Backport support for original codes.
36
+
37
+ Args:
38
+ key: Key to get enum item.
39
+ default: Default value if not found.
40
+
41
+ :meta private:
42
+ """
43
+ if isinstance(key, int):
44
+ return HashAlgorithm(key)
45
+ if key not in HashAlgorithm._member_map_: # pylint: disable=no-member
46
+ return extend_enum(HashAlgorithm, key, default)
47
+ return HashAlgorithm[key] # type: ignore[misc]
48
+
49
+ @classmethod
50
+ def _missing_(cls, value: 'int') -> 'HashAlgorithm':
51
+ """Lookup function used when value is not found.
52
+
53
+ Args:
54
+ value: Value to get enum item.
55
+
56
+ """
57
+ if not (isinstance(value, int) and 0x00 <= value <= 0xFF):
58
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
59
+ return extend_enum(cls, 'Unassigned_%d' % value, value)