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,200 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Notify Message Types
4
+ ==========================
5
+
6
+ .. module:: pcapkit.const.hip.notify_message
7
+
8
+ This module contains the constant enumeration for **Notify Message Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.notify_message.NotifyMessage`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['NotifyMessage']
16
+
17
+
18
+ class NotifyMessage(IntEnum):
19
+ """[NotifyMessage] Notify Message Types"""
20
+
21
+ #: Reserved [:rfc:`7401`]
22
+ Reserved_0 = 0
23
+
24
+ #: UNSUPPORTED_CRITICAL_PARAMETER_TYPE [:rfc:`7401`]
25
+ UNSUPPORTED_CRITICAL_PARAMETER_TYPE = 1
26
+
27
+ #: INVALID_SYNTAX [:rfc:`7401`]
28
+ INVALID_SYNTAX = 7
29
+
30
+ #: NO_DH_PROPOSAL_CHOSEN [:rfc:`7401`]
31
+ NO_DH_PROPOSAL_CHOSEN = 14
32
+
33
+ #: INVALID_DH_CHOSEN [:rfc:`7401`]
34
+ INVALID_DH_CHOSEN = 15
35
+
36
+ #: NO_HIP_PROPOSAL_CHOSEN [:rfc:`7401`]
37
+ NO_HIP_PROPOSAL_CHOSEN = 16
38
+
39
+ #: INVALID_HIP_CIPHER_CHOSEN [:rfc:`7401`]
40
+ INVALID_HIP_CIPHER_CHOSEN = 17
41
+
42
+ #: NO_ESP_PROPOSAL_CHOSEN [:rfc:`7402`]
43
+ NO_ESP_PROPOSAL_CHOSEN = 18
44
+
45
+ #: INVALID_ESP_TRANSFORM_CHOSEN [:rfc:`7402`]
46
+ INVALID_ESP_TRANSFORM_CHOSEN = 19
47
+
48
+ #: UNSUPPORTED_HIT_SUITE [:rfc:`7401`]
49
+ UNSUPPORTED_HIT_SUITE = 20
50
+
51
+ #: AUTHENTICATION_FAILED [:rfc:`7401`]
52
+ AUTHENTICATION_FAILED = 24
53
+
54
+ #: Unassigned
55
+ Unassigned_25 = 25
56
+
57
+ #: CHECKSUM_FAILED [:rfc:`7401`]
58
+ CHECKSUM_FAILED = 26
59
+
60
+ #: Unassigned
61
+ Unassigned_27 = 27
62
+
63
+ #: HIP_MAC_FAILED [:rfc:`7401`]
64
+ HIP_MAC_FAILED = 28
65
+
66
+ #: ENCRYPTION_FAILED [:rfc:`7401`]
67
+ ENCRYPTION_FAILED = 32
68
+
69
+ #: INVALID_HIT [:rfc:`7401`]
70
+ INVALID_HIT = 40
71
+
72
+ #: Unassigned
73
+ Unassigned_41 = 41
74
+
75
+ #: BLOCKED_BY_POLICY [:rfc:`7401`]
76
+ BLOCKED_BY_POLICY = 42
77
+
78
+ #: Unassigned
79
+ Unassigned_43 = 43
80
+
81
+ #: RESPONDER_BUSY_PLEASE_RETRY [:rfc:`7401`]
82
+ RESPONDER_BUSY_PLEASE_RETRY = 44
83
+
84
+ #: Unassigned
85
+ Unassigned_45 = 45
86
+
87
+ #: LOCATOR_TYPE_UNSUPPORTED [:rfc:`8046`]
88
+ LOCATOR_TYPE_UNSUPPORTED = 46
89
+
90
+ #: Unassigned
91
+ Unassigned_47 = 47
92
+
93
+ #: CREDENTIALS_REQUIRED [:rfc:`8002`]
94
+ CREDENTIALS_REQUIRED = 48
95
+
96
+ #: Unassigned
97
+ Unassigned_49 = 49
98
+
99
+ #: INVALID_CERTIFICATE [:rfc:`8002`]
100
+ INVALID_CERTIFICATE = 50
101
+
102
+ #: REG_REQUIRED [:rfc:`8003`]
103
+ REG_REQUIRED = 51
104
+
105
+ #: NO_VALID_NAT_TRAVERSAL_MODE_PARAMETER [:rfc:`5770`]
106
+ NO_VALID_NAT_TRAVERSAL_MODE_PARAMETER = 60
107
+
108
+ #: CONNECTIVITY_CHECKS_FAILED [:rfc:`5770`]
109
+ CONNECTIVITY_CHECKS_FAILED = 61
110
+
111
+ #: MESSAGE_NOT_RELAYED [:rfc:`5770`]
112
+ MESSAGE_NOT_RELAYED = 62
113
+
114
+ #: SERVER_REFLEXIVE_CANDIDATE_ALLOCATION_FAILED [:rfc:`9028`]
115
+ SERVER_REFLEXIVE_CANDIDATE_ALLOCATION_FAILED = 63
116
+
117
+ #: RVS_HMAC_PROHIBITED_WITH_RELAY [:rfc:`9028`]
118
+ RVS_HMAC_PROHIBITED_WITH_RELAY = 64
119
+
120
+ #: OVERLAY_TTL_EXCEEDED [:rfc:`6079`]
121
+ OVERLAY_TTL_EXCEEDED = 70
122
+
123
+ #: UNKNOWN_NEXT_HOP [:rfc:`6028`]
124
+ UNKNOWN_NEXT_HOP = 90
125
+
126
+ #: NO_VALID_HIP_TRANSPORT_MODE [:rfc:`6261`]
127
+ NO_VALID_HIP_TRANSPORT_MODE = 100
128
+
129
+ #: I2_ACKNOWLEDGEMENT [:rfc:`7401`]
130
+ I2_ACKNOWLEDGEMENT = 16384
131
+
132
+ #: NAT_KEEPALIVE [:rfc:`9028`]
133
+ NAT_KEEPALIVE = 16385
134
+
135
+ @staticmethod
136
+ def get(key: 'int | str', default: 'int' = -1) -> 'NotifyMessage':
137
+ """Backport support for original codes.
138
+
139
+ Args:
140
+ key: Key to get enum item.
141
+ default: Default value if not found.
142
+
143
+ :meta private:
144
+ """
145
+ if isinstance(key, int):
146
+ return NotifyMessage(key)
147
+ if key not in NotifyMessage._member_map_: # pylint: disable=no-member
148
+ return extend_enum(NotifyMessage, key, default)
149
+ return NotifyMessage[key] # type: ignore[misc]
150
+
151
+ @classmethod
152
+ def _missing_(cls, value: 'int') -> 'NotifyMessage':
153
+ """Lookup function used when value is not found.
154
+
155
+ Args:
156
+ value: Value to get enum item.
157
+
158
+ """
159
+ if not (isinstance(value, int) and 0 <= value <= 65535):
160
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
161
+ if 2 <= value <= 6:
162
+ #: Unassigned
163
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
164
+ if 8 <= value <= 13:
165
+ #: Unassigned
166
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
167
+ if 21 <= value <= 23:
168
+ #: Unassigned
169
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
170
+ if 29 <= value <= 31:
171
+ #: Unassigned
172
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
173
+ if 33 <= value <= 39:
174
+ #: Unassigned
175
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
176
+ if 52 <= value <= 59:
177
+ #: Unassigned
178
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
179
+ if 65 <= value <= 69:
180
+ #: Unassigned
181
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
182
+ if 71 <= value <= 89:
183
+ #: Unassigned
184
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
185
+ if 91 <= value <= 99:
186
+ #: Unassigned
187
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
188
+ if 101 <= value <= 8191:
189
+ #: Unassigned
190
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
191
+ if 8192 <= value <= 16383:
192
+ #: Reserved for Private Use [:rfc:`7401`]
193
+ return extend_enum(cls, 'Reserved_for_Private_Use_%d' % value, value)
194
+ if 16386 <= value <= 40959:
195
+ #: Unassigned
196
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
197
+ if 40960 <= value <= 65535:
198
+ #: Reserved for Private Use [:rfc:`7401`]
199
+ return extend_enum(cls, 'Reserved_for_Private_Use_%d' % value, value)
200
+ return super()._missing_(value)
@@ -0,0 +1,89 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HIP Packet Types
4
+ ======================
5
+
6
+ .. module:: pcapkit.const.hip.packet
7
+
8
+ This module contains the constant enumeration for **HIP Packet Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.packet.Packet`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Packet']
16
+
17
+
18
+ class Packet(IntEnum):
19
+ """[Packet] HIP Packet Types"""
20
+
21
+ #: Reserved [:rfc:`7401`]
22
+ Reserved_0 = 0
23
+
24
+ #: I1 the HIP Initiator Packet [:rfc:`7401`]
25
+ I1 = 1
26
+
27
+ #: R1 the HIP Responder Packet [:rfc:`7401`]
28
+ R1 = 2
29
+
30
+ #: I2 the Second HIP Initiator Packet [:rfc:`7401`]
31
+ I2 = 3
32
+
33
+ #: R2 the Second HIP Responder Packet [:rfc:`7401`]
34
+ R2 = 4
35
+
36
+ #: UPDATE the HIP Update Packet [:rfc:`7401`]
37
+ UPDATE = 16
38
+
39
+ #: NOTIFY the HIP Notify Packet [:rfc:`7401`]
40
+ NOTIFY = 17
41
+
42
+ #: CLOSE the HIP Association Closing Packet [:rfc:`7401`]
43
+ CLOSE = 18
44
+
45
+ #: CLOSE_ACK the HIP Closing Acknowledgment Packet [:rfc:`7401`]
46
+ CLOSE_ACK = 19
47
+
48
+ #: HDRR (HIP Distributed Hash Table Resource Record) [:rfc:`6537`]
49
+ HDRR = 20
50
+
51
+ #: HIP_DATA [:rfc:`6078`]
52
+ HIP_DATA = 32
53
+
54
+ @staticmethod
55
+ def get(key: 'int | str', default: 'int' = -1) -> 'Packet':
56
+ """Backport support for original codes.
57
+
58
+ Args:
59
+ key: Key to get enum item.
60
+ default: Default value if not found.
61
+
62
+ :meta private:
63
+ """
64
+ if isinstance(key, int):
65
+ return Packet(key)
66
+ if key not in Packet._member_map_: # pylint: disable=no-member
67
+ return extend_enum(Packet, key, default)
68
+ return Packet[key] # type: ignore[misc]
69
+
70
+ @classmethod
71
+ def _missing_(cls, value: 'int') -> 'Packet':
72
+ """Lookup function used when value is not found.
73
+
74
+ Args:
75
+ value: Value to get enum item.
76
+
77
+ """
78
+ if not (isinstance(value, int) and 0 <= value <= 127):
79
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
80
+ if 5 <= value <= 15:
81
+ # Unassigned
82
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
83
+ if 21 <= value <= 31:
84
+ # Unassigned
85
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
86
+ if 33 <= value <= 127:
87
+ # Unassigned
88
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
89
+ return super()._missing_(value)
@@ -0,0 +1,377 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HIP Parameter Types
4
+ =========================
5
+
6
+ .. module:: pcapkit.const.hip.parameter
7
+
8
+ This module contains the constant enumeration for **HIP Parameter Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.parameter.Parameter`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Parameter']
16
+
17
+
18
+ class Parameter(IntEnum):
19
+ """[Parameter] HIP Parameter Types"""
20
+
21
+ #: ESP_INFO [:rfc:`7402`] (Length: 12)
22
+ ESP_INFO = 65
23
+
24
+ #: R1_Counter (v1 only) [:rfc:`5201`] (Length: 12)
25
+ R1_Counter = 128
26
+
27
+ #: R1_COUNTER [:rfc:`7401`] (Length: 12)
28
+ R1_COUNTER = 129
29
+
30
+ #: LOCATOR_SET [:rfc:`8046`]
31
+ LOCATOR_SET = 193
32
+
33
+ #: PUZZLE [:rfc:`7401`] (Length: 12)
34
+ PUZZLE = 257
35
+
36
+ #: SOLUTION [:rfc:`7401`] (Length: 20)
37
+ SOLUTION = 321
38
+
39
+ #: SEQ [:rfc:`7401`] (Length: 4)
40
+ SEQ = 385
41
+
42
+ #: ACK [:rfc:`7401`]
43
+ ACK = 449
44
+
45
+ #: DH_GROUP_LIST [:rfc:`7401`]
46
+ DH_GROUP_LIST = 511
47
+
48
+ #: Unassigned
49
+ Unassigned_512 = 512
50
+
51
+ #: DIFFIE_HELLMAN [:rfc:`7401`]
52
+ DIFFIE_HELLMAN = 513
53
+
54
+ #: HIP_TRANSFORM (v1 only) [:rfc:`5201`]
55
+ HIP_TRANSFORM = 577
56
+
57
+ #: Unassigned
58
+ Unassigned_578 = 578
59
+
60
+ #: HIP_CIPHER [:rfc:`7401`]
61
+ HIP_CIPHER = 579
62
+
63
+ #: NAT_TRAVERSAL_MODE [:rfc:`5770`]
64
+ NAT_TRAVERSAL_MODE = 608
65
+
66
+ #: Unassigned
67
+ Unassigned_609 = 609
68
+
69
+ #: TRANSACTION_PACING [:rfc:`5770`] (Length: 4)
70
+ TRANSACTION_PACING = 610
71
+
72
+ #: ENCRYPTED [:rfc:`7401`]
73
+ ENCRYPTED = 641
74
+
75
+ #: HOST_ID [:rfc:`7401`]
76
+ HOST_ID = 705
77
+
78
+ #: HIT_SUITE_LIST [:rfc:`7401`]
79
+ HIT_SUITE_LIST = 715
80
+
81
+ #: CERT [:rfc:`7401`][:rfc:`8002`]
82
+ CERT = 768
83
+
84
+ #: NOTIFICATION [:rfc:`7401`]
85
+ NOTIFICATION = 832
86
+
87
+ #: ECHO_REQUEST_SIGNED [:rfc:`7401`]
88
+ ECHO_REQUEST_SIGNED = 897
89
+
90
+ #: REG_INFO [:rfc:`8003`]
91
+ REG_INFO = 930
92
+
93
+ #: Unassigned
94
+ Unassigned_931 = 931
95
+
96
+ #: REG_REQUEST [:rfc:`8003`]
97
+ REG_REQUEST = 932
98
+
99
+ #: Unassigned
100
+ Unassigned_933 = 933
101
+
102
+ #: REG_RESPONSE [:rfc:`8003`]
103
+ REG_RESPONSE = 934
104
+
105
+ #: Unassigned
106
+ Unassigned_935 = 935
107
+
108
+ #: REG_FAILED [:rfc:`8003`]
109
+ REG_FAILED = 936
110
+
111
+ #: REG_FROM [:rfc:`5770`] (Length: 20)
112
+ REG_FROM = 950
113
+
114
+ #: ECHO_RESPONSE_SIGNED [:rfc:`7401`]
115
+ ECHO_RESPONSE_SIGNED = 961
116
+
117
+ #: TRANSPORT_FORMAT_LIST [:rfc:`7401`]
118
+ TRANSPORT_FORMAT_LIST = 2049
119
+
120
+ #: ESP_TRANSFORM [:rfc:`7402`]
121
+ ESP_TRANSFORM = 4095
122
+
123
+ #: SEQ_DATA [:rfc:`6078`] (Length: 4)
124
+ SEQ_DATA = 4481
125
+
126
+ #: ACK_DATA [:rfc:`6078`]
127
+ ACK_DATA = 4545
128
+
129
+ #: PAYLOAD_MIC [:rfc:`6078`]
130
+ PAYLOAD_MIC = 4577
131
+
132
+ #: TRANSACTION_ID [:rfc:`6078`]
133
+ TRANSACTION_ID = 4580
134
+
135
+ #: OVERLAY_ID [:rfc:`6079`]
136
+ OVERLAY_ID = 4592
137
+
138
+ #: ROUTE_DST [:rfc:`6028`]
139
+ ROUTE_DST = 4601
140
+
141
+ #: RELAYED_ADDRESS [:rfc:`9028`] (Length: 20)
142
+ RELAYED_ADDRESS = 4650
143
+
144
+ #: MAPPED_ADDRESS [:rfc:`9028`] (Length: 20)
145
+ MAPPED_ADDRESS = 4660
146
+
147
+ #: PEER_PERMISSION [:rfc:`9028`] (Length: 48)
148
+ PEER_PERMISSION = 4680
149
+
150
+ #: CANDIDATE_PRIORITY [:rfc:`9028`] (Length: 4)
151
+ CANDIDATE_PRIORITY = 4700
152
+
153
+ #: NOMINATE [:rfc:`9028`] (Length: 4)
154
+ NOMINATE = 4710
155
+
156
+ #: HIP_TRANSPORT_MODE [:rfc:`6261`]
157
+ HIP_TRANSPORT_MODE = 7680
158
+
159
+ #: HIP_MAC [:rfc:`7401`]
160
+ HIP_MAC = 61505
161
+
162
+ #: HIP_MAC_2 [:rfc:`7401`]
163
+ HIP_MAC_2 = 61569
164
+
165
+ #: HIP_SIGNATURE_2 [:rfc:`7401`]
166
+ HIP_SIGNATURE_2 = 61633
167
+
168
+ #: HIP_SIGNATURE [:rfc:`7401`]
169
+ HIP_SIGNATURE = 61697
170
+
171
+ #: ECHO_REQUEST_UNSIGNED [:rfc:`7401`]
172
+ ECHO_REQUEST_UNSIGNED = 63661
173
+
174
+ #: ECHO_RESPONSE_UNSIGNED [:rfc:`7401`]
175
+ ECHO_RESPONSE_UNSIGNED = 63425
176
+
177
+ #: RELAY_FROM [:rfc:`5770`] (Length: 20)
178
+ RELAY_FROM = 63998
179
+
180
+ #: RELAY_TO [:rfc:`5770`] (Length: 20)
181
+ RELAY_TO = 64002
182
+
183
+ #: OVERLAY_TTL [:rfc:`6079`] (Length: 4)
184
+ OVERLAY_TTL = 64011
185
+
186
+ #: ROUTE_VIA [:rfc:`6028`]
187
+ ROUTE_VIA = 64017
188
+
189
+ #: FROM [:rfc:`8004`] (Length: 16)
190
+ FROM = 65498
191
+
192
+ #: Unassigned
193
+ Unassigned_65499 = 65499
194
+
195
+ #: RVS_HMAC [:rfc:`8004`]
196
+ RVS_HMAC = 65500
197
+
198
+ #: Unassigned
199
+ Unassigned_65501 = 65501
200
+
201
+ #: VIA_RVS [:rfc:`8004`]
202
+ VIA_RVS = 65502
203
+
204
+ #: RELAY_HMAC [:rfc:`5770`]
205
+ RELAY_HMAC = 65520
206
+
207
+ @staticmethod
208
+ def get(key: 'int | str', default: 'int' = -1) -> 'Parameter':
209
+ """Backport support for original codes.
210
+
211
+ Args:
212
+ key: Key to get enum item.
213
+ default: Default value if not found.
214
+
215
+ :meta private:
216
+ """
217
+ if isinstance(key, int):
218
+ return Parameter(key)
219
+ if key not in Parameter._member_map_: # pylint: disable=no-member
220
+ return extend_enum(Parameter, key, default)
221
+ return Parameter[key] # type: ignore[misc]
222
+
223
+ @classmethod
224
+ def _missing_(cls, value: 'int') -> 'Parameter':
225
+ """Lookup function used when value is not found.
226
+
227
+ Args:
228
+ value: Value to get enum item.
229
+
230
+ """
231
+ if not (isinstance(value, int) and 0 <= value <= 65535):
232
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
233
+ if 0 <= value <= 64:
234
+ #: Unassigned
235
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
236
+ if 66 <= value <= 127:
237
+ #: Unassigned
238
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
239
+ if 130 <= value <= 192:
240
+ #: Unassigned
241
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
242
+ if 194 <= value <= 256:
243
+ #: Unassigned
244
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
245
+ if 258 <= value <= 320:
246
+ #: Unassigned
247
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
248
+ if 322 <= value <= 384:
249
+ #: Unassigned
250
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
251
+ if 386 <= value <= 448:
252
+ #: Unassigned
253
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
254
+ if 450 <= value <= 510:
255
+ #: Unassigned
256
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
257
+ if 514 <= value <= 576:
258
+ #: Unassigned
259
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
260
+ if 580 <= value <= 607:
261
+ #: Unassigned
262
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
263
+ if 611 <= value <= 640:
264
+ #: Unassigned
265
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
266
+ if 642 <= value <= 704:
267
+ #: Unassigned
268
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
269
+ if 706 <= value <= 714:
270
+ #: Unassigned
271
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
272
+ if 716 <= value <= 767:
273
+ #: Unassigned
274
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
275
+ if 769 <= value <= 831:
276
+ #: Unassigned
277
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
278
+ if 833 <= value <= 896:
279
+ #: Unassigned
280
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
281
+ if 898 <= value <= 929:
282
+ #: Unassigned
283
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
284
+ if 937 <= value <= 949:
285
+ #: Unassigned
286
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
287
+ if 951 <= value <= 960:
288
+ #: Unassigned
289
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
290
+ if 962 <= value <= 2048:
291
+ #: Unassigned
292
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
293
+ if 2050 <= value <= 4094:
294
+ #: Unassigned
295
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
296
+ if 4096 <= value <= 4480:
297
+ #: Unassigned
298
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
299
+ if 4482 <= value <= 4544:
300
+ #: Unassigned
301
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
302
+ if 4546 <= value <= 4576:
303
+ #: Unassigned
304
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
305
+ if 4578 <= value <= 4579:
306
+ #: Unassigned
307
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
308
+ if 4581 <= value <= 4591:
309
+ #: Unassigned
310
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
311
+ if 4593 <= value <= 4600:
312
+ #: Unassigned
313
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
314
+ if 4602 <= value <= 4649:
315
+ #: Unassigned
316
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
317
+ if 4651 <= value <= 4659:
318
+ #: Unassigned
319
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
320
+ if 4661 <= value <= 4679:
321
+ #: Unassigned
322
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
323
+ if 4681 <= value <= 4699:
324
+ #: Unassigned
325
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
326
+ if 4701 <= value <= 4709:
327
+ #: Unassigned
328
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
329
+ if 4711 <= value <= 7679:
330
+ #: Unassigned
331
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
332
+ if 7681 <= value <= 32767:
333
+ #: Unassigned
334
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
335
+ if 32768 <= value <= 49151:
336
+ #: Reserved [:rfc:`7401`]
337
+ return extend_enum(cls, 'Reserved_%d' % value, value)
338
+ if 49152 <= value <= 61504:
339
+ #: Unassigned
340
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
341
+ if 61506 <= value <= 61568:
342
+ #: Unassigned
343
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
344
+ if 61570 <= value <= 61632:
345
+ #: Unassigned
346
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
347
+ if 61634 <= value <= 61696:
348
+ #: Unassigned
349
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
350
+ if 61698 <= value <= 63660:
351
+ #: Unassigned
352
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
353
+ if 63662 <= value <= 63424:
354
+ #: Unassigned
355
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
356
+ if 63426 <= value <= 63997:
357
+ #: Unassigned
358
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
359
+ if 63999 <= value <= 64001:
360
+ #: Unassigned
361
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
362
+ if 64003 <= value <= 64010:
363
+ #: Unassigned
364
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
365
+ if 64012 <= value <= 64016:
366
+ #: Unassigned
367
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
368
+ if 64018 <= value <= 65497:
369
+ #: Unassigned
370
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
371
+ if 65503 <= value <= 65519:
372
+ #: Unassigned
373
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
374
+ if 65521 <= value <= 65535:
375
+ #: Unassigned
376
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
377
+ return super()._missing_(value)