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,68 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Registration Types
4
+ ========================
5
+
6
+ .. module:: pcapkit.const.hip.registration
7
+
8
+ This module contains the constant enumeration for **Registration Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.registration.Registration`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Registration']
16
+
17
+
18
+ class Registration(IntEnum):
19
+ """[Registration] Registration Types"""
20
+
21
+ #: Unassigned
22
+ Unassigned_0 = 0
23
+
24
+ #: RENDEZVOUS [:rfc:`8004`]
25
+ RENDEZVOUS = 1
26
+
27
+ #: RELAY_UDP_HIP [:rfc:`5770`]
28
+ RELAY_UDP_HIP = 2
29
+
30
+ #: RELAY_UDP_ESP [:rfc:`9028`]
31
+ RELAY_UDP_ESP = 3
32
+
33
+ #: CANDIDATE_DISCOVERY [:rfc:`9028`]
34
+ CANDIDATE_DISCOVERY = 4
35
+
36
+ @staticmethod
37
+ def get(key: 'int | str', default: 'int' = -1) -> 'Registration':
38
+ """Backport support for original codes.
39
+
40
+ Args:
41
+ key: Key to get enum item.
42
+ default: Default value if not found.
43
+
44
+ :meta private:
45
+ """
46
+ if isinstance(key, int):
47
+ return Registration(key)
48
+ if key not in Registration._member_map_: # pylint: disable=no-member
49
+ return extend_enum(Registration, key, default)
50
+ return Registration[key] # type: ignore[misc]
51
+
52
+ @classmethod
53
+ def _missing_(cls, value: 'int') -> 'Registration':
54
+ """Lookup function used when value is not found.
55
+
56
+ Args:
57
+ value: Value to get enum item.
58
+
59
+ """
60
+ if not (isinstance(value, int) and 0 <= value <= 255):
61
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
62
+ if 5 <= value <= 200:
63
+ #: Unassigned
64
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
65
+ if 201 <= value <= 255:
66
+ #: Reserved for Private Use [:rfc:`8003`]
67
+ return extend_enum(cls, 'Reserved_for_Private_Use_%d' % value, value)
68
+ return super()._missing_(value)
@@ -0,0 +1,84 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Registration Failure Types
4
+ ================================
5
+
6
+ .. module:: pcapkit.const.hip.registration_failure
7
+
8
+ This module contains the constant enumeration for **Registration Failure Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.registration_failure.RegistrationFailure`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['RegistrationFailure']
16
+
17
+
18
+ class RegistrationFailure(IntEnum):
19
+ """[RegistrationFailure] Registration Failure Types"""
20
+
21
+ #: Registration requires additional credentials [:rfc:`8003`]
22
+ Registration_requires_additional_credentials = 0
23
+
24
+ #: Registration type unavailable [:rfc:`8003`]
25
+ Registration_type_unavailable = 1
26
+
27
+ #: Insufficient resources [:rfc:`8003`]
28
+ Insufficient_resources = 2
29
+
30
+ #: Invalid certificate [:rfc:`8003`]
31
+ Invalid_certificate = 3
32
+
33
+ #: Bad certificate [:rfc:`8003`]
34
+ Bad_certificate = 4
35
+
36
+ #: Unsupported certificate [:rfc:`8003`]
37
+ Unsupported_certificate = 5
38
+
39
+ #: Certificate expired [:rfc:`8003`]
40
+ Certificate_expired = 6
41
+
42
+ #: Certificate other [:rfc:`8003`]
43
+ Certificate_other = 7
44
+
45
+ #: Unknown CA [:rfc:`8003`]
46
+ Unknown_CA = 8
47
+
48
+ #: Simultaneous Rendezvous and Control Relay Service usage prohibited
49
+ #: [:rfc:`9028`]
50
+ Simultaneous_Rendezvous_and_Control_Relay_Service_usage_prohibited = 9
51
+
52
+ @staticmethod
53
+ def get(key: 'int | str', default: 'int' = -1) -> 'RegistrationFailure':
54
+ """Backport support for original codes.
55
+
56
+ Args:
57
+ key: Key to get enum item.
58
+ default: Default value if not found.
59
+
60
+ :meta private:
61
+ """
62
+ if isinstance(key, int):
63
+ return RegistrationFailure(key)
64
+ if key not in RegistrationFailure._member_map_: # pylint: disable=no-member
65
+ return extend_enum(RegistrationFailure, key, default)
66
+ return RegistrationFailure[key] # type: ignore[misc]
67
+
68
+ @classmethod
69
+ def _missing_(cls, value: 'int') -> 'RegistrationFailure':
70
+ """Lookup function used when value is not found.
71
+
72
+ Args:
73
+ value: Value to get enum item.
74
+
75
+ """
76
+ if not (isinstance(value, int) and 0 <= value <= 255):
77
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
78
+ if 10 <= value <= 200:
79
+ #: Unassigned
80
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
81
+ if 201 <= value <= 255:
82
+ #: Reserved for Private Use [:rfc:`8003`]
83
+ return extend_enum(cls, 'Reserved_for_Private_Use_%d' % value, value)
84
+ return super()._missing_(value)
@@ -0,0 +1,71 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Suite IDs
4
+ ===============
5
+
6
+ .. module:: pcapkit.const.hip.suite
7
+
8
+ This module contains the constant enumeration for **Suite IDs**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.suite.Suite`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Suite']
16
+
17
+
18
+ class Suite(IntEnum):
19
+ """[Suite] Suite IDs"""
20
+
21
+ #: Reserved [:rfc:`5201`]
22
+ Reserved_0 = 0
23
+
24
+ #: AES-CBC with HMAC-SHA1 [:rfc:`5201`]
25
+ AES_CBC_with_HMAC_SHA1 = 1
26
+
27
+ #: 3DES-CBC with HMAC-SHA1 [:rfc:`5201`]
28
+ Suite_3DES_CBC_with_HMAC_SHA1 = 2
29
+
30
+ #: 3DES-CBC with HMAC-MD5 [:rfc:`5201`]
31
+ Suite_3DES_CBC_with_HMAC_MD5 = 3
32
+
33
+ #: BLOWFISH-CBC with HMAC-SHA1 [:rfc:`5201`]
34
+ BLOWFISH_CBC_with_HMAC_SHA1 = 4
35
+
36
+ #: NULL-ENCRYPT with HMAC-SHA1 [:rfc:`5201`]
37
+ NULL_ENCRYPT_with_HMAC_SHA1 = 5
38
+
39
+ #: NULL-ENCRYPT with HMAC-MD5 [:rfc:`5201`]
40
+ NULL_ENCRYPT_with_HMAC_MD5 = 6
41
+
42
+ @staticmethod
43
+ def get(key: 'int | str', default: 'int' = -1) -> 'Suite':
44
+ """Backport support for original codes.
45
+
46
+ Args:
47
+ key: Key to get enum item.
48
+ default: Default value if not found.
49
+
50
+ :meta private:
51
+ """
52
+ if isinstance(key, int):
53
+ return Suite(key)
54
+ if key not in Suite._member_map_: # pylint: disable=no-member
55
+ return extend_enum(Suite, key, default)
56
+ return Suite[key] # type: ignore[misc]
57
+
58
+ @classmethod
59
+ def _missing_(cls, value: 'int') -> 'Suite':
60
+ """Lookup function used when value is not found.
61
+
62
+ Args:
63
+ value: Value to get enum item.
64
+
65
+ """
66
+ if not (isinstance(value, int) and 0 <= value <= 65535):
67
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
68
+ if 7 <= value <= 65535:
69
+ #: Unassigned
70
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
71
+ return super()._missing_(value)
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HIP Transport Modes
4
+ =========================
5
+
6
+ .. module:: pcapkit.const.hip.transport
7
+
8
+ This module contains the constant enumeration for **HIP Transport Modes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.transport.Transport`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Transport']
16
+
17
+
18
+ class Transport(IntEnum):
19
+ """[Transport] HIP Transport Modes"""
20
+
21
+ #: RESERVED [:rfc:`6261`]
22
+ RESERVED_0 = 0
23
+
24
+ #: DEFAULT [:rfc:`6261`]
25
+ DEFAULT = 1
26
+
27
+ #: ESP [:rfc:`6261`]
28
+ ESP = 2
29
+
30
+ #: ESP-TCP [:rfc:`6261`]
31
+ ESP_TCP = 3
32
+
33
+ @staticmethod
34
+ def get(key: 'int | str', default: 'int' = -1) -> 'Transport':
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 Transport(key)
45
+ if key not in Transport._member_map_: # pylint: disable=no-member
46
+ return extend_enum(Transport, key, default)
47
+ return Transport[key] # type: ignore[misc]
48
+
49
+ @classmethod
50
+ def _missing_(cls, value: 'int') -> 'Transport':
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 <= 3):
58
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
59
+ return super()._missing_(value)
@@ -0,0 +1,39 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=unused-import
3
+ r""":class:`~pcapkit.protocols.application.http.HTTP` Constant Enumerations
4
+ ==============================================================================
5
+
6
+ .. module:: pcapkit.const.http
7
+
8
+ This module contains all constant enumerations of
9
+ :class:`~pcapkit.protocols.application.http.HTTP` implementations. Available
10
+ enumerations include:
11
+
12
+ .. list-table::
13
+
14
+ * - :class:`HTTP_ErrorCode <pcapkit.const.http.error_code.ErrorCode>`
15
+ - HTTP/2 Error Code [*]_
16
+ * - :class:`HTTP_Frame <pcapkit.const.http.frame.Frame>`
17
+ - HTTP/2 Frame Type [*]_
18
+ * - :class:`HTTP_Method <pcapkit.const.http.method.Method>`
19
+ - HTTP/1.\* Method [*]_
20
+ * - :class:`HTTP_Setting <pcapkit.const.http.setting.Setting>`
21
+ - HTTP/2 Settings [*]_
22
+ * - :class:`HTTP_Status <pcapkit.const.http.status_code.StatusCode>`
23
+ - HTTP/1.\* Status Code [*]_
24
+
25
+ .. [*] https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#error-code
26
+ .. [*] https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#frame-type
27
+ .. [*] https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods
28
+ .. [*] https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings
29
+ .. [*] https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml#http-status-codes-1
30
+
31
+ """
32
+
33
+ from pcapkit.const.http.error_code import ErrorCode as HTTP_ErrorCode
34
+ from pcapkit.const.http.frame import Frame as HTTP_Frame
35
+ from pcapkit.const.http.method import Method as HTTP_Method
36
+ from pcapkit.const.http.setting import Setting as HTTP_Setting
37
+ from pcapkit.const.http.status_code import StatusCode as HTTP_Status
38
+
39
+ __all__ = ['HTTP_ErrorCode', 'HTTP_Frame', 'HTTP_Method', 'HTTP_Setting', 'HTTP_Status']
@@ -0,0 +1,95 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HTTP/2 Error Code
4
+ =======================
5
+
6
+ .. module:: pcapkit.const.http.error_code
7
+
8
+ This module contains the constant enumeration for **HTTP/2 Error Code**,
9
+ which is automatically generated from :class:`pcapkit.vendor.http.error_code.ErrorCode`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['ErrorCode']
16
+
17
+
18
+ class ErrorCode(IntEnum):
19
+ """[ErrorCode] HTTP/2 Error Code"""
20
+
21
+ #: NO_ERROR, Graceful shutdown [:rfc:`9113#section-7`]
22
+ NO_ERROR = 0x00000000
23
+
24
+ #: PROTOCOL_ERROR, Protocol error detected [:rfc:`9113#section-7`]
25
+ PROTOCOL_ERROR = 0x00000001
26
+
27
+ #: INTERNAL_ERROR, Implementation fault [:rfc:`9113#section-7`]
28
+ INTERNAL_ERROR = 0x00000002
29
+
30
+ #: FLOW_CONTROL_ERROR, Flow-control limits exceeded [:rfc:`9113#section-7`]
31
+ FLOW_CONTROL_ERROR = 0x00000003
32
+
33
+ #: SETTINGS_TIMEOUT, Settings not acknowledged [:rfc:`9113#section-7`]
34
+ SETTINGS_TIMEOUT = 0x00000004
35
+
36
+ #: STREAM_CLOSED, Frame received for closed stream [:rfc:`9113#section-7`]
37
+ STREAM_CLOSED = 0x00000005
38
+
39
+ #: FRAME_SIZE_ERROR, Frame size incorrect [:rfc:`9113#section-7`]
40
+ FRAME_SIZE_ERROR = 0x00000006
41
+
42
+ #: REFUSED_STREAM, Stream not processed [:rfc:`9113#section-7`]
43
+ REFUSED_STREAM = 0x00000007
44
+
45
+ #: CANCEL, Stream cancelled [:rfc:`9113#section-7`]
46
+ CANCEL = 0x00000008
47
+
48
+ #: COMPRESSION_ERROR, Compression state not updated [:rfc:`9113#section-7`]
49
+ COMPRESSION_ERROR = 0x00000009
50
+
51
+ #: CONNECT_ERROR, TCP connection error for CONNECT method
52
+ #: [:rfc:`9113#section-7`]
53
+ CONNECT_ERROR = 0x0000000A
54
+
55
+ #: ENHANCE_YOUR_CALM, Processing capacity exceeded [:rfc:`9113#section-7`]
56
+ ENHANCE_YOUR_CALM = 0x0000000B
57
+
58
+ #: INADEQUATE_SECURITY, Negotiated TLS parameters not acceptable
59
+ #: [:rfc:`9113#section-7`]
60
+ INADEQUATE_SECURITY = 0x0000000C
61
+
62
+ #: HTTP_1_1_REQUIRED, Use HTTP/1.1 for the request [:rfc:`9113#section-7`]
63
+ HTTP_1_1_REQUIRED = 0x0000000D
64
+
65
+ @staticmethod
66
+ def get(key: 'int | str', default: 'int' = -1) -> 'ErrorCode':
67
+ """Backport support for original codes.
68
+
69
+ Args:
70
+ key: Key to get enum item.
71
+ default: Default value if not found.
72
+
73
+ :meta private:
74
+ """
75
+ if isinstance(key, int):
76
+ return ErrorCode(key)
77
+ if key not in ErrorCode._member_map_: # pylint: disable=no-member
78
+ return extend_enum(ErrorCode, key, default)
79
+ return ErrorCode[key] # type: ignore[misc]
80
+
81
+ @classmethod
82
+ def _missing_(cls, value: 'int') -> 'ErrorCode':
83
+ """Lookup function used when value is not found.
84
+
85
+ Args:
86
+ value: Value to get enum item.
87
+
88
+ """
89
+ if not (isinstance(value, int) and 0x00000000 <= value <= 0xFFFFFFFF):
90
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
91
+ if 0x0000000E <= value <= 0xFFFFFFFF:
92
+ #: Unassigned
93
+ temp = hex(value)[2:].upper().zfill(8)
94
+ return extend_enum(cls, 'Unassigned_0x%s' % (temp[:4]+'_'+temp[4:]), value)
95
+ return super()._missing_(value)
@@ -0,0 +1,95 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HTTP/2 Frame Type
4
+ =======================
5
+
6
+ .. module:: pcapkit.const.http.frame
7
+
8
+ This module contains the constant enumeration for **HTTP/2 Frame Type**,
9
+ which is automatically generated from :class:`pcapkit.vendor.http.frame.Frame`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Frame']
16
+
17
+
18
+ class Frame(IntEnum):
19
+ """[Frame] HTTP/2 Frame Type"""
20
+
21
+ #: ``DATA`` [:rfc:`9113#section-6.1`]
22
+ DATA = 0x00
23
+
24
+ #: ``HEADERS`` [:rfc:`9113#section-6.2`]
25
+ HEADERS = 0x01
26
+
27
+ #: ``PRIORITY`` [:rfc:`9113#section-6.3`]
28
+ PRIORITY = 0x02
29
+
30
+ #: ``RST_STREAM`` [:rfc:`9113#section-6.4`]
31
+ RST_STREAM = 0x03
32
+
33
+ #: ``SETTINGS`` [:rfc:`9113#section-6.5`]
34
+ SETTINGS = 0x04
35
+
36
+ #: ``PUSH_PROMISE`` [:rfc:`9113#section-6.6`]
37
+ PUSH_PROMISE = 0x05
38
+
39
+ #: ``PING`` [:rfc:`9113#section-6.7`]
40
+ PING = 0x06
41
+
42
+ #: ``GOAWAY`` [:rfc:`9113#section-6.8`]
43
+ GOAWAY = 0x07
44
+
45
+ #: ``WINDOW_UPDATE`` [:rfc:`9113#section-6.9`]
46
+ WINDOW_UPDATE = 0x08
47
+
48
+ #: ``CONTINUATION`` [:rfc:`9113#section-6.10`]
49
+ CONTINUATION = 0x09
50
+
51
+ #: ``ALTSVC`` [:rfc:`7838#section-4`]
52
+ ALTSVC = 0x0A
53
+
54
+ #: ``Unassigned``
55
+ Unassigned_0x0B = 0x0B
56
+
57
+ #: ``ORIGIN`` [:rfc:`8336`]
58
+ ORIGIN = 0x0C
59
+
60
+ #: ``PRIORITY_UPDATE`` [:rfc:`9218`]
61
+ PRIORITY_UPDATE = 0x10
62
+
63
+ @staticmethod
64
+ def get(key: 'int | str', default: 'int' = -1) -> 'Frame':
65
+ """Backport support for original codes.
66
+
67
+ Args:
68
+ key: Key to get enum item.
69
+ default: Default value if not found.
70
+
71
+ :meta private:
72
+ """
73
+ if isinstance(key, int):
74
+ return Frame(key)
75
+ if key not in Frame._member_map_: # pylint: disable=no-member
76
+ return extend_enum(Frame, key, default)
77
+ return Frame[key] # type: ignore[misc]
78
+
79
+ @classmethod
80
+ def _missing_(cls, value: 'int') -> 'Frame':
81
+ """Lookup function used when value is not found.
82
+
83
+ Args:
84
+ value: Value to get enum item.
85
+
86
+ """
87
+ if not (isinstance(value, int) and 0x00 <= value <= 0xFF):
88
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
89
+ if 0x0D <= value <= 0x0F:
90
+ #: ``Unassigned``
91
+ return extend_enum(cls, 'Unassigned_0x%s' % hex(value)[2:].upper().zfill(2), value)
92
+ if 0x11 <= value <= 0xFF:
93
+ #: ``Unassigned``
94
+ return extend_enum(cls, 'Unassigned_0x%s' % hex(value)[2:].upper().zfill(2), value)
95
+ return super()._missing_(value)
@@ -0,0 +1,184 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HTTP Method
4
+ =================
5
+
6
+ .. module:: pcapkit.const.http.method
7
+
8
+ This module contains the constant enumeration for **HTTP Method**,
9
+ which is automatically generated from :class:`pcapkit.vendor.http.method.Method`.
10
+
11
+ """
12
+
13
+ from typing import TYPE_CHECKING
14
+
15
+ from aenum import StrEnum, extend_enum
16
+
17
+ if TYPE_CHECKING:
18
+ from typing import Optional, Type
19
+
20
+ __all__ = ['Method']
21
+
22
+ class Method(StrEnum):
23
+ """[Method] HTTP Method"""
24
+
25
+ if TYPE_CHECKING:
26
+ #: Safe method.
27
+ safe: 'bool'
28
+ #: Idempotent method.
29
+ idempotent: 'bool'
30
+
31
+ def __new__(cls, value: 'str', safe: 'bool' = False,
32
+ idempotent: 'bool' = False) -> 'Type[Method]':
33
+ obj = str.__new__(cls)
34
+ obj._value_ = value
35
+
36
+ obj.safe = safe
37
+ obj.idempotent = idempotent
38
+
39
+ return obj
40
+
41
+ def __repr__(self) -> 'str':
42
+ return "<%s.%s>" % (self.__class__.__name__, self._value_)
43
+
44
+ #: ACL [:rfc:`3744#section-8.1`]
45
+ ACL = 'ACL', False, True
46
+
47
+ #: BASELINE-CONTROL [:rfc:`3253#section-12.6`]
48
+ BASELINE_CONTROL = 'BASELINE-CONTROL', False, True
49
+
50
+ #: BIND [:rfc:`5842#section-4`]
51
+ BIND = 'BIND', False, True
52
+
53
+ #: CHECKIN [:rfc:`3253#section-4.4,-section-9.4`]
54
+ CHECKIN = 'CHECKIN', False, True
55
+
56
+ #: CHECKOUT [:rfc:`3253#section-4.3,-section-8.8`]
57
+ CHECKOUT = 'CHECKOUT', False, True
58
+
59
+ #: CONNECT [:rfc:`9110#section-9.3.6`]
60
+ CONNECT = 'CONNECT', False, False
61
+
62
+ #: COPY [:rfc:`4918#section-9.8`]
63
+ COPY = 'COPY', False, True
64
+
65
+ #: DELETE [:rfc:`9110#section-9.3.5`]
66
+ DELETE = 'DELETE', False, True
67
+
68
+ #: GET [:rfc:`9110#section-9.3.1`]
69
+ GET = 'GET', True, True
70
+
71
+ #: HEAD [:rfc:`9110#section-9.3.2`]
72
+ HEAD = 'HEAD', True, True
73
+
74
+ #: LABEL [:rfc:`3253#section-8.2`]
75
+ LABEL = 'LABEL', False, True
76
+
77
+ #: LINK [:rfc:`2068#section-19.6.1.2`]
78
+ LINK = 'LINK', False, True
79
+
80
+ #: LOCK [:rfc:`4918#section-9.10`]
81
+ LOCK = 'LOCK', False, False
82
+
83
+ #: MERGE [:rfc:`3253#section-11.2`]
84
+ MERGE = 'MERGE', False, True
85
+
86
+ #: MKACTIVITY [:rfc:`3253#section-13.5`]
87
+ MKACTIVITY = 'MKACTIVITY', False, True
88
+
89
+ #: MKCALENDAR [:rfc:`4791#section-5.3.1`][:rfc:`8144#section-2.3`]
90
+ MKCALENDAR = 'MKCALENDAR', False, True
91
+
92
+ #: MKCOL
93
+ #: [:rfc:`4918#section-9.3`][:rfc:`5689#section-3`][:rfc:`8144#section-2.3`]
94
+ MKCOL = 'MKCOL', False, True
95
+
96
+ #: MKREDIRECTREF [:rfc:`4437#section-6`]
97
+ MKREDIRECTREF = 'MKREDIRECTREF', False, True
98
+
99
+ #: MKWORKSPACE [:rfc:`3253#section-6.3`]
100
+ MKWORKSPACE = 'MKWORKSPACE', False, True
101
+
102
+ #: MOVE [:rfc:`4918#section-9.9`]
103
+ MOVE = 'MOVE', False, True
104
+
105
+ #: OPTIONS [:rfc:`9110#section-9.3.7`]
106
+ OPTIONS = 'OPTIONS', True, True
107
+
108
+ #: ORDERPATCH [:rfc:`3648#section-7`]
109
+ ORDERPATCH = 'ORDERPATCH', False, True
110
+
111
+ #: PATCH [:rfc:`5789#section-2`]
112
+ PATCH = 'PATCH', False, False
113
+
114
+ #: POST [:rfc:`9110#section-9.3.3`]
115
+ POST = 'POST', False, False
116
+
117
+ #: PRI [:rfc:`9113#section-3.4`]
118
+ PRI = 'PRI', True, True
119
+
120
+ #: PROPFIND [:rfc:`4918#section-9.1`][:rfc:`8144#section-2.1`]
121
+ PROPFIND = 'PROPFIND', True, True
122
+
123
+ #: PROPPATCH [:rfc:`4918#section-9.2`][:rfc:`8144#section-2.2`]
124
+ PROPPATCH = 'PROPPATCH', False, True
125
+
126
+ #: PUT [:rfc:`9110#section-9.3.4`]
127
+ PUT = 'PUT', False, True
128
+
129
+ #: REBIND [:rfc:`5842#section-6`]
130
+ REBIND = 'REBIND', False, True
131
+
132
+ #: REPORT [:rfc:`3253#section-3.6`][:rfc:`8144#section-2.1`]
133
+ REPORT = 'REPORT', True, True
134
+
135
+ #: SEARCH [:rfc:`5323#section-2`]
136
+ SEARCH = 'SEARCH', True, True
137
+
138
+ #: TRACE [:rfc:`9110#section-9.3.8`]
139
+ TRACE = 'TRACE', True, True
140
+
141
+ #: UNBIND [:rfc:`5842#section-5`]
142
+ UNBIND = 'UNBIND', False, True
143
+
144
+ #: UNCHECKOUT [:rfc:`3253#section-4.5`]
145
+ UNCHECKOUT = 'UNCHECKOUT', False, True
146
+
147
+ #: UNLINK [:rfc:`2068#section-19.6.1.3`]
148
+ UNLINK = 'UNLINK', False, True
149
+
150
+ #: UNLOCK [:rfc:`4918#section-9.11`]
151
+ UNLOCK = 'UNLOCK', False, True
152
+
153
+ #: UPDATE [:rfc:`3253#section-7.1`]
154
+ UPDATE = 'UPDATE', False, True
155
+
156
+ #: UPDATEREDIRECTREF [:rfc:`4437#section-7`]
157
+ UPDATEREDIRECTREF = 'UPDATEREDIRECTREF', False, True
158
+
159
+ #: VERSION-CONTROL [:rfc:`3253#section-3.5`]
160
+ VERSION_CONTROL = 'VERSION-CONTROL', False, True
161
+
162
+ @staticmethod
163
+ def get(key: 'str', default: 'Optional[str]' = None) -> 'Method':
164
+ """Backport support for original codes.
165
+
166
+ Args:
167
+ key: Key to get enum item.
168
+ default: Default value if not found.
169
+
170
+ :meta private:
171
+ """
172
+ if key not in Method._member_map_: # pylint: disable=no-member
173
+ return extend_enum(Method, key.upper(), default if default is not None else key)
174
+ return Method[key] # type: ignore[misc]
175
+
176
+ @classmethod
177
+ def _missing_(cls, value: 'str') -> 'Method':
178
+ """Lookup function used when value is not found.
179
+
180
+ Args:
181
+ value: Value to get enum item.
182
+
183
+ """
184
+ return extend_enum(cls, value.upper(), value)