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
+ """IPv4 Home Address Reply Status Codes
4
+ ==========================================
5
+
6
+ .. module:: pcapkit.const.mh.home_address_reply
7
+
8
+ This module contains the constant enumeration for **IPv4 Home Address Reply Status Codes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.home_address_reply.HomeAddressReply`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['HomeAddressReply']
16
+
17
+
18
+ class HomeAddressReply(IntEnum):
19
+ """[HomeAddressReply] IPv4 Home Address Reply Status Codes"""
20
+
21
+ #: Success [:rfc:`5844`]
22
+ Success = 0
23
+
24
+ #: Failure, Reason Unspecified [:rfc:`5844`]
25
+ Failure_Reason_Unspecified = 128
26
+
27
+ #: Administratively prohibited [:rfc:`5844`]
28
+ Administratively_prohibited = 129
29
+
30
+ #: Incorrect IPv4 home address [:rfc:`5844`]
31
+ Incorrect_IPv4_home_address = 130
32
+
33
+ #: Invalid IPv4 address [:rfc:`5844`]
34
+ Invalid_IPv4_address = 131
35
+
36
+ #: Dynamic IPv4 home address assignment not available [:rfc:`5844`]
37
+ Dynamic_IPv4_home_address_assignment_not_available = 132
38
+
39
+ @staticmethod
40
+ def get(key: 'int | str', default: 'int' = -1) -> 'HomeAddressReply':
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 HomeAddressReply(key)
51
+ if key not in HomeAddressReply._member_map_: # pylint: disable=no-member
52
+ return extend_enum(HomeAddressReply, key, default)
53
+ return HomeAddressReply[key] # type: ignore[misc]
54
+
55
+ @classmethod
56
+ def _missing_(cls, value: 'int') -> 'HomeAddressReply':
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,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Link-Layer Address (LLA) Option Code
4
+ ==========================================
5
+
6
+ .. module:: pcapkit.const.mh.lla_code
7
+
8
+ This module contains the constant enumeration for **Link-Layer Address (LLA) Option Code**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.lla_code.LLACode`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['LLACode']
16
+
17
+
18
+ class LLACode(IntEnum):
19
+ """[LLACode] Link-Layer Address (LLA) Option Code"""
20
+
21
+ Wilcard = 0
22
+
23
+ New_Access_Point = 1
24
+
25
+ MH = 2
26
+
27
+ NAR = 3
28
+
29
+ RtSolPr_or_PrRtAdv = 4
30
+
31
+ access_point = 5
32
+
33
+ no_prefix_information = 6
34
+
35
+ no_fast_handover_support = 7
36
+
37
+ @staticmethod
38
+ def get(key: 'int | str', default: 'int' = -1) -> 'LLACode':
39
+ """Backport support for original codes.
40
+
41
+ Args:
42
+ key: Key to get enum item.
43
+ default: Default value if not found.
44
+
45
+ :meta private:
46
+ """
47
+ if isinstance(key, int):
48
+ return LLACode(key)
49
+ if key not in LLACode._member_map_: # pylint: disable=no-member
50
+ return extend_enum(LLACode, key, default)
51
+ return LLACode[key] # type: ignore[misc]
52
+
53
+ @classmethod
54
+ def _missing_(cls, value: 'int') -> 'LLACode':
55
+ """Lookup function used when value is not found.
56
+
57
+ Args:
58
+ value: Value to get enum item.
59
+
60
+ """
61
+ if not (isinstance(value, int) and 0 <= value <= 255):
62
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
63
+ 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
+ """LMA-Controlled MAG Parameters Sub-Option Type Values
4
+ ==========================================================
5
+
6
+ .. module:: pcapkit.const.mh.lma_mag_suboption
7
+
8
+ This module contains the constant enumeration for **LMA-Controlled MAG Parameters Sub-Option Type Values**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.lma_mag_suboption.LMAControlledMAGSuboption`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['LMAControlledMAGSuboption']
16
+
17
+
18
+ class LMAControlledMAGSuboption(IntEnum):
19
+ """[LMAControlledMAGSuboption] LMA-Controlled MAG Parameters Sub-Option Type Values"""
20
+
21
+ #: Reserved [:rfc:`8127`]
22
+ Reserved_0 = 0
23
+
24
+ #: Binding Re-registration Control Sub-Option [:rfc:`8127`]
25
+ Binding_Re_registration_Control = 1
26
+
27
+ #: Heartbeat Control Sub-Option [:rfc:`8127`]
28
+ Heartbeat_Control = 2
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'LMAControlledMAGSuboption':
32
+ """Backport support for original codes.
33
+
34
+ Args:
35
+ key: Key to get enum item.
36
+ default: Default value if not found.
37
+
38
+ :meta private:
39
+ """
40
+ if isinstance(key, int):
41
+ return LMAControlledMAGSuboption(key)
42
+ if key not in LMAControlledMAGSuboption._member_map_: # pylint: disable=no-member
43
+ return extend_enum(LMAControlledMAGSuboption, key, default)
44
+ return LMAControlledMAGSuboption[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'LMAControlledMAGSuboption':
48
+ """Lookup function used when value is not found.
49
+
50
+ Args:
51
+ value: Value to get enum item.
52
+
53
+ """
54
+ if not (isinstance(value, int) and 0 <= value <= 255):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ if 3 <= value <= 255:
57
+ #: Unassigned
58
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
59
+ return super()._missing_(value)
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Mobile Node Group Identifier Type Registry
4
+ ================================================
5
+
6
+ .. module:: pcapkit.const.mh.mn_group_id
7
+
8
+ This module contains the constant enumeration for **Mobile Node Group Identifier Type Registry**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.mn_group_id.MNGroupID`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['MNGroupID']
16
+
17
+
18
+ class MNGroupID(IntEnum):
19
+ """[MNGroupID] Mobile Node Group Identifier Type Registry"""
20
+
21
+ #: Reserved [:rfc:`6602`]
22
+ Reserved_0 = 0
23
+
24
+ #: Bulk Binding Update Group [:rfc:`6602`]
25
+ Bulk_Binding_Update_Group = 1
26
+
27
+ #: Reserved [:rfc:`6602`]
28
+ Reserved_255 = 255
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'MNGroupID':
32
+ """Backport support for original codes.
33
+
34
+ Args:
35
+ key: Key to get enum item.
36
+ default: Default value if not found.
37
+
38
+ :meta private:
39
+ """
40
+ if isinstance(key, int):
41
+ return MNGroupID(key)
42
+ if key not in MNGroupID._member_map_: # pylint: disable=no-member
43
+ return extend_enum(MNGroupID, key, default)
44
+ return MNGroupID[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'MNGroupID':
48
+ """Lookup function used when value is not found.
49
+
50
+ Args:
51
+ value: Value to get enum item.
52
+
53
+ """
54
+ if not (isinstance(value, int) and 0 <= value <= 255):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ if 2 <= value <= 254:
57
+ #: Unassigned
58
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
59
+ return super()._missing_(value)
@@ -0,0 +1,77 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Mobile Node Identifier Option Subtypes
4
+ ============================================
5
+
6
+ .. module:: pcapkit.const.mh.mn_id_subtype
7
+
8
+ This module contains the constant enumeration for **Mobile Node Identifier Option Subtypes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.mn_id_subtype.MNIDSubtype`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['MNIDSubtype']
16
+
17
+
18
+ class MNIDSubtype(IntEnum):
19
+ """[MNIDSubtype] Mobile Node Identifier Option Subtypes"""
20
+
21
+ #: NAI [:rfc:`4283`]
22
+ NAI = 1
23
+
24
+ #: IPv6 Address [:rfc:`8371`]
25
+ IPv6_Address = 2
26
+
27
+ #: IMSI [:rfc:`8371`]
28
+ IMSI = 3
29
+
30
+ #: P-TMSI [:rfc:`8371`]
31
+ P_TMSI = 4
32
+
33
+ #: EUI-48 address [:rfc:`8371`]
34
+ EUI_48_address = 5
35
+
36
+ #: EUI-64 address [:rfc:`8371`]
37
+ EUI_64_address = 6
38
+
39
+ #: GUTI [:rfc:`8371`]
40
+ GUTI = 7
41
+
42
+ #: DUID [:rfc:`8371`]
43
+ DUID = 8
44
+
45
+ @staticmethod
46
+ def get(key: 'int | str', default: 'int' = -1) -> 'MNIDSubtype':
47
+ """Backport support for original codes.
48
+
49
+ Args:
50
+ key: Key to get enum item.
51
+ default: Default value if not found.
52
+
53
+ :meta private:
54
+ """
55
+ if isinstance(key, int):
56
+ return MNIDSubtype(key)
57
+ if key not in MNIDSubtype._member_map_: # pylint: disable=no-member
58
+ return extend_enum(MNIDSubtype, key, default)
59
+ return MNIDSubtype[key] # type: ignore[misc]
60
+
61
+ @classmethod
62
+ def _missing_(cls, value: 'int') -> 'MNIDSubtype':
63
+ """Lookup function used when value is not found.
64
+
65
+ Args:
66
+ value: Value to get enum item.
67
+
68
+ """
69
+ if not (isinstance(value, int) and 0 <= value <= 255):
70
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
71
+ if 9 <= value <= 15:
72
+ #: Reserved [:rfc:`8371`]
73
+ return extend_enum(cls, 'Reserved_%d' % value, value)
74
+ if 16 <= value <= 255:
75
+ #: Unassigned
76
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
77
+ return super()._missing_(value)
@@ -0,0 +1,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Operator-Identifier Type Registry
4
+ =======================================
5
+
6
+ .. module:: pcapkit.const.mh.operator_id
7
+
8
+ This module contains the constant enumeration for **Operator-Identifier Type Registry**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.operator_id.OperatorID`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['OperatorID']
16
+
17
+
18
+ class OperatorID(IntEnum):
19
+ """[OperatorID] Operator-Identifier Type Registry"""
20
+
21
+ #: Reserved [:rfc:`6757`]
22
+ Reserved_0 = 0
23
+
24
+ #: Operator-Identifier as a variable-length Private Enterprise Number (PEN)
25
+ #: [:rfc:`6757`]
26
+ Operator_Identifier_as_a_variable_length_Private_Enterprise_Number = 1
27
+
28
+ #: Realm of the Operator [:rfc:`6757`]
29
+ Realm_of_the_Operator = 2
30
+
31
+ #: Reserved [:rfc:`6757`]
32
+ Reserved_255 = 255
33
+
34
+ @staticmethod
35
+ def get(key: 'int | str', default: 'int' = -1) -> 'OperatorID':
36
+ """Backport support for original codes.
37
+
38
+ Args:
39
+ key: Key to get enum item.
40
+ default: Default value if not found.
41
+
42
+ :meta private:
43
+ """
44
+ if isinstance(key, int):
45
+ return OperatorID(key)
46
+ if key not in OperatorID._member_map_: # pylint: disable=no-member
47
+ return extend_enum(OperatorID, key, default)
48
+ return OperatorID[key] # type: ignore[misc]
49
+
50
+ @classmethod
51
+ def _missing_(cls, value: 'int') -> 'OperatorID':
52
+ """Lookup function used when value is not found.
53
+
54
+ Args:
55
+ value: Value to get enum item.
56
+
57
+ """
58
+ if not (isinstance(value, int) and 0 <= value <= 255):
59
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
60
+ if 3 <= value <= 254:
61
+ #: Unassigned
62
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
63
+ return super()._missing_(value)
@@ -0,0 +1,260 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Mobility Options
4
+ ======================
5
+
6
+ .. module:: pcapkit.const.mh.option
7
+
8
+ This module contains the constant enumeration for **Mobility Options**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.option.Option`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Option']
16
+
17
+
18
+ class Option(IntEnum):
19
+ """[Option] Mobility Options"""
20
+
21
+ #: Pad1 [:rfc:`6275`]
22
+ Pad1 = 0
23
+
24
+ #: PadN [:rfc:`6275`]
25
+ PadN = 1
26
+
27
+ #: Binding Refresh Advice [:rfc:`6275`]
28
+ Binding_Refresh_Advice = 2
29
+
30
+ #: Alternate Care-of Address [:rfc:`6275`]
31
+ Alternate_Care_of_Address = 3
32
+
33
+ #: Nonce Indices [:rfc:`6275`]
34
+ Nonce_Indices = 4
35
+
36
+ #: Authorization Data [:rfc:`6275`]
37
+ Authorization_Data = 5
38
+
39
+ #: Mobile Network Prefix Option [:rfc:`3963`]
40
+ Mobile_Network_Prefix_Option = 6
41
+
42
+ #: Mobility Header Link-Layer Address option [:rfc:`5568`]
43
+ Mobility_Header_Link_Layer_Address_option = 7
44
+
45
+ #: MN-ID-OPTION-TYPE [:rfc:`4283`]
46
+ MN_ID_OPTION_TYPE = 8
47
+
48
+ #: AUTH-OPTION-TYPE [:rfc:`4285`]
49
+ AUTH_OPTION_TYPE = 9
50
+
51
+ #: MESG-ID-OPTION-TYPE [:rfc:`4285`]
52
+ MESG_ID_OPTION_TYPE = 10
53
+
54
+ #: CGA Parameters Request [:rfc:`4866`]
55
+ CGA_Parameters_Request = 11
56
+
57
+ #: CGA Parameters [:rfc:`4866`]
58
+ CGA_Parameters = 12
59
+
60
+ #: Signature [:rfc:`4866`]
61
+ Signature = 13
62
+
63
+ #: Permanent Home Keygen Token [:rfc:`4866`]
64
+ Permanent_Home_Keygen_Token = 14
65
+
66
+ #: Care-of Test Init [:rfc:`4866`]
67
+ Care_of_Test_Init = 15
68
+
69
+ #: Care-of Test [:rfc:`4866`]
70
+ Care_of_Test = 16
71
+
72
+ #: DNS-UPDATE-TYPE [:rfc:`5026`]
73
+ DNS_UPDATE_TYPE = 17
74
+
75
+ #: Experimental Mobility Option [:rfc:`5096`]
76
+ Experimental_Mobility_Option = 18
77
+
78
+ #: Vendor Specific Mobility Option [:rfc:`5094`]
79
+ Vendor_Specific_Mobility_Option = 19
80
+
81
+ #: Service Selection Mobility Option [:rfc:`5149`]
82
+ Service_Selection_Mobility_Option = 20
83
+
84
+ #: Binding Authorization Data for FMIPv6 (BADF) [:rfc:`5568`]
85
+ Binding_Authorization_Data_for_FMIPv6 = 21
86
+
87
+ #: Home Network Prefix Option [:rfc:`5213`]
88
+ Home_Network_Prefix_Option = 22
89
+
90
+ #: Handoff Indicator Option [:rfc:`5213`]
91
+ Handoff_Indicator_Option = 23
92
+
93
+ #: Access Technology Type Option [:rfc:`5213`]
94
+ Access_Technology_Type_Option = 24
95
+
96
+ #: Mobile Node Link-layer Identifier Option [:rfc:`5213`]
97
+ Mobile_Node_Link_layer_Identifier_Option = 25
98
+
99
+ #: Link-local Address Option [:rfc:`5213`]
100
+ Link_local_Address_Option = 26
101
+
102
+ #: Timestamp Option [:rfc:`5213`]
103
+ Timestamp_Option = 27
104
+
105
+ #: Restart Counter [:rfc:`5847`]
106
+ Restart_Counter = 28
107
+
108
+ #: IPv4 Home Address [:rfc:`5555`]
109
+ IPv4_Home_Address = 29
110
+
111
+ #: IPv4 Address Acknowledgement [:rfc:`5555`]
112
+ IPv4_Address_Acknowledgement = 30
113
+
114
+ #: NAT Detection [:rfc:`5555`]
115
+ NAT_Detection = 31
116
+
117
+ #: IPv4 Care-of Address [:rfc:`5555`]
118
+ IPv4_Care_of_Address = 32
119
+
120
+ #: GRE Key Option [:rfc:`5845`]
121
+ GRE_Key_Option = 33
122
+
123
+ #: Mobility Header IPv6 Address/Prefix [:rfc:`5568`]
124
+ Mobility_Header_IPv6_Address_Prefix = 34
125
+
126
+ #: Binding Identifier [:rfc:`5648`]
127
+ Binding_Identifier = 35
128
+
129
+ #: IPv4 Home Address Request [:rfc:`5844`]
130
+ IPv4_Home_Address_Request = 36
131
+
132
+ #: IPv4 Home Address Reply [:rfc:`5844`]
133
+ IPv4_Home_Address_Reply = 37
134
+
135
+ #: IPv4 Default-Router Address [:rfc:`5844`]
136
+ IPv4_Default_Router_Address = 38
137
+
138
+ #: IPv4 DHCP Support Mode [:rfc:`5844`]
139
+ IPv4_DHCP_Support_Mode = 39
140
+
141
+ #: Context Request Option [:rfc:`5949`]
142
+ Context_Request_Option = 40
143
+
144
+ #: Local Mobility Anchor Address Option [:rfc:`5949`]
145
+ Local_Mobility_Anchor_Address_Option = 41
146
+
147
+ #: Mobile Node Link-local Address Interface Identifier Option [:rfc:`5949`]
148
+ Mobile_Node_Link_local_Address_Interface_Identifier_Option = 42
149
+
150
+ #: Transient Binding [:rfc:`6058`]
151
+ Transient_Binding = 43
152
+
153
+ #: Flow Summary Mobility Option [:rfc:`6089`]
154
+ Flow_Summary_Mobility_Option = 44
155
+
156
+ #: Flow Identification Mobility Option [:rfc:`6089`]
157
+ Flow_Identification_Mobility_Option = 45
158
+
159
+ #: Redirect-Capability Mobility Option [:rfc:`6463`]
160
+ Redirect_Capability_Mobility_Option = 46
161
+
162
+ #: Redirect Mobility Option [:rfc:`6463`]
163
+ Redirect_Mobility_Option = 47
164
+
165
+ #: Load Information Mobility Option [:rfc:`6463`]
166
+ Load_Information_Mobility_Option = 48
167
+
168
+ #: Alternate IPv4 Care-of Address [:rfc:`6463`]
169
+ Alternate_IPv4_Care_of_Address = 49
170
+
171
+ #: Mobile Node Group Identifier [:rfc:`6602`]
172
+ Mobile_Node_Group_Identifier = 50
173
+
174
+ #: MAG IPv6 Address [:rfc:`6705`]
175
+ MAG_IPv6_Address = 51
176
+
177
+ #: Access Network Identifier [:rfc:`6757`]
178
+ Access_Network_Identifier = 52
179
+
180
+ #: IPv4 Traffic Offload Selector [:rfc:`6909`]
181
+ IPv4_Traffic_Offload_Selector = 53
182
+
183
+ #: Dynamic IP Multicast Selector [:rfc:`7028`]
184
+ Dynamic_IP_Multicast_Selector = 54
185
+
186
+ #: Delegated Mobile Network Prefix [:rfc:`7148`]
187
+ Delegated_Mobile_Network_Prefix = 55
188
+
189
+ #: Active Multicast Subscription IPv4 [:rfc:`7161`]
190
+ Active_Multicast_Subscription_IPv4 = 56
191
+
192
+ #: Active Multicast Subscription IPv6 [:rfc:`7161`]
193
+ Active_Multicast_Subscription_IPv6 = 57
194
+
195
+ #: Quality-of-Service [:rfc:`7222`]
196
+ Quality_of_Service = 58
197
+
198
+ #: LMA User-Plane Address [:rfc:`7389`]
199
+ LMA_User_Plane_Address = 59
200
+
201
+ #: Multicast Mobility Option [:rfc:`7411`]
202
+ Multicast_Mobility_Option = 60
203
+
204
+ #: Multicast Acknowledgement Option [:rfc:`7411`]
205
+ Multicast_Acknowledgement_Option = 61
206
+
207
+ #: LMA-Controlled MAG Parameters [:rfc:`8127`]
208
+ LMA_Controlled_MAG_Parameters = 62
209
+
210
+ #: MAG Multipath-Binding [:rfc:`8278`]
211
+ MAG_Multipath_Binding = 63
212
+
213
+ #: MAG Identifier [:rfc:`8278`]
214
+ MAG_Identifier = 64
215
+
216
+ #: Anchored Prefix [:rfc:`8885`]
217
+ Anchored_Prefix = 65
218
+
219
+ #: Local Prefix [:rfc:`8885`]
220
+ Local_Prefix = 66
221
+
222
+ #: Previous MAAR [:rfc:`8885`]
223
+ Previous_MAAR = 67
224
+
225
+ #: Serving MAAR [:rfc:`8885`]
226
+ Serving_MAAR = 68
227
+
228
+ #: DLIF Link-Local Address [:rfc:`8885`]
229
+ DLIF_Link_Local_Address = 69
230
+
231
+ #: DLIF Link-Layer Address [:rfc:`8885`]
232
+ DLIF_Link_Layer_Address = 70
233
+
234
+ @staticmethod
235
+ def get(key: 'int | str', default: 'int' = -1) -> 'Option':
236
+ """Backport support for original codes.
237
+
238
+ Args:
239
+ key: Key to get enum item.
240
+ default: Default value if not found.
241
+
242
+ :meta private:
243
+ """
244
+ if isinstance(key, int):
245
+ return Option(key)
246
+ if key not in Option._member_map_: # pylint: disable=no-member
247
+ return extend_enum(Option, key, default)
248
+ return Option[key] # type: ignore[misc]
249
+
250
+ @classmethod
251
+ def _missing_(cls, value: 'int') -> 'Option':
252
+ """Lookup function used when value is not found.
253
+
254
+ Args:
255
+ value: Value to get enum item.
256
+
257
+ """
258
+ if not (isinstance(value, int) and 0 <= value <= 255):
259
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
260
+ return extend_enum(cls, 'Unassigned_%d' % value, value)