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,81 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Binding Update Flags
4
+ ==========================
5
+
6
+ .. module:: pcapkit.const.mh.binding_update_flag
7
+
8
+ This module contains the constant enumeration for **Binding Update Flags**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.binding_update_flag.BindingUpdateFlag`.
10
+
11
+ """
12
+
13
+ from aenum import IntFlag
14
+
15
+ __all__ = ['BindingUpdateFlag']
16
+
17
+
18
+ class BindingUpdateFlag(IntFlag):
19
+ """[BindingUpdateFlag] Binding Update Flags"""
20
+
21
+ #: A [:rfc:`6275`]
22
+ A = 0x8000
23
+
24
+ #: H [:rfc:`6275`]
25
+ H = 0x4000
26
+
27
+ #: L [:rfc:`6275`]
28
+ L = 0x2000
29
+
30
+ #: K [:rfc:`6275`]
31
+ K = 0x1000
32
+
33
+ #: M [:rfc:`4140`]
34
+ M = 0x0800
35
+
36
+ #: R [:rfc:`3963`]
37
+ R = 0x0400
38
+
39
+ #: P [:rfc:`5213`]
40
+ P = 0x0200
41
+
42
+ #: F [:rfc:`5555`]
43
+ F = 0x0100
44
+
45
+ #: T [:rfc:`5845`]
46
+ T = 0x0080
47
+
48
+ #: B [:rfc:`6602`]
49
+ B = 0x0040
50
+
51
+ #: S [:rfc:`7161`]
52
+ S = 0x0020
53
+
54
+ #: D [:rfc:`8885`]
55
+ D = 0x0010
56
+
57
+ @staticmethod
58
+ def get(key: 'int | str', default: 'int' = -1) -> 'BindingUpdateFlag':
59
+ """Backport support for original codes.
60
+
61
+ Args:
62
+ key: Key to get enum item.
63
+ default: Default value if not found.
64
+
65
+ :meta private:
66
+ """
67
+ if isinstance(key, int):
68
+ return BindingUpdateFlag(key)
69
+ return BindingUpdateFlag[key] # type: ignore[misc]
70
+
71
+ @classmethod
72
+ def _missing_(cls, value: 'int') -> 'BindingUpdateFlag':
73
+ """Lookup function used when value is not found.
74
+
75
+ Args:
76
+ value: Value to get enum item.
77
+
78
+ """
79
+ if not (isinstance(value, int) and 0 <= value <= 0xFFFF):
80
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
81
+ return cls(value)
@@ -0,0 +1,66 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """CGA Extension Type Values
4
+ ===============================
5
+
6
+ .. module:: pcapkit.const.mh.cga_extension
7
+
8
+ This module contains the constant enumeration for **CGA Extension Type Values**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.cga_extension.CGAExtension`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['CGAExtension']
16
+
17
+
18
+ class CGAExtension(IntEnum):
19
+ """[CGAExtension] CGA Extension Type Values"""
20
+
21
+ #: Multi-Prefix [:rfc:`5535`]
22
+ Multi_Prefix = 0x0012
23
+
24
+ #: Exp_FFFD (experimental) [:rfc:`4581`]
25
+ Exp_FFFD = 0xFFFD
26
+
27
+ #: Exp_FFFE (experimental) [:rfc:`4581`]
28
+ Exp_FFFE = 0xFFFE
29
+
30
+ #: Exp_FFFF (experimental) [:rfc:`4581`]
31
+ Exp_FFFF = 0xFFFF
32
+
33
+ @staticmethod
34
+ def get(key: 'int | str', default: 'int' = -1) -> 'CGAExtension':
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 CGAExtension(key)
45
+ if key not in CGAExtension._member_map_: # pylint: disable=no-member
46
+ return extend_enum(CGAExtension, key, default)
47
+ return CGAExtension[key] # type: ignore[misc]
48
+
49
+ @classmethod
50
+ def _missing_(cls, value: 'int') -> 'CGAExtension':
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 <= 0xFFFF):
58
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
59
+ if 0x0000 <= value <= 0x0011:
60
+ #: Unassigned
61
+ return extend_enum(cls, 'Unassigned_%04x' % value, value)
62
+ if 0x0013 <= value <= 0xFFFC:
63
+ #: Unassigned
64
+ return extend_enum(cls, 'Unassigned_%04x' % value, value)
65
+ #: Unspecified in the IANA registry
66
+ return extend_enum(cls, 'Unassigned_%04x' % value, value)
@@ -0,0 +1,57 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """CGA SEC
4
+ =============
5
+
6
+ .. module:: pcapkit.const.mh.cga_sec
7
+
8
+ This module contains the constant enumeration for **CGA SEC**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.cga_sec.CGASec`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['CGASec']
16
+
17
+
18
+ class CGASec(IntEnum):
19
+ """[CGASec] CGA SEC"""
20
+
21
+ #: SHA-1_0hash2bits [:rfc:`4982`]
22
+ SHA_1_0hash2bits = 0b000
23
+
24
+ #: SHA-1_16hash2bits [:rfc:`4982`]
25
+ SHA_1_16hash2bits = 0b001
26
+
27
+ #: SHA-1_32hash2bits [:rfc:`4982`]
28
+ SHA_1_32hash2bits = 0b010
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'CGASec':
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 CGASec(key)
42
+ if key not in CGASec._member_map_: # pylint: disable=no-member
43
+ return extend_enum(CGASec, key, default)
44
+ return CGASec[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'CGASec':
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 <= 0b111):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ #: Unspecified in the IANA registry
57
+ return extend_enum(cls, 'Unassigned_%s' % bin(value)[2:], value)
@@ -0,0 +1,68 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """CGA Extension Type Tags
4
+ =============================
5
+
6
+ .. module:: pcapkit.const.mh.cga_type
7
+
8
+ This module contains the constant enumeration for **CGA Extension Type Tags**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.cga_type.CGAType`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['CGAType']
16
+
17
+
18
+ class CGAType(IntEnum):
19
+ """[CGAType] CGA Extension Type Tags"""
20
+
21
+ #: 0x086F CA5E 10B2 00C9 9C8C E001 6427 7C08 [:rfc:`3971`]
22
+ Tag_086F_CA5E_10B2_00C9_9C8C_E001_6427_7C08 = 0x086F_CA5E_10B2_00C9_9C8C_E001_6427_7C08
23
+
24
+ #: 0x5F27 0586 8D6C 4C56 A246 9EBB 9B2A 2E13 [:rfc:`4866`]
25
+ Tag_5F27_0586_8D6C_4C56_A246_9EBB_9B2A_2E13 = 0x5F27_0586_8D6C_4C56_A246_9EBB_9B2A_2E13
26
+
27
+ #: 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA [:rfc:`7401`]
28
+ Tag_F0EF_F02F_BFF4_3D0F_E793_0C3C_6E61_74EA = 0xF0EF_F02F_BFF4_3D0F_E793_0C3C_6E61_74EA
29
+
30
+ #: 0x4A30 5662 4858 574B 3655 416F 506A 6D48 [:rfc:`5533`]
31
+ Tag_4A30_5662_4858_574B_3655_416F_506A_6D48 = 0x4A30_5662_4858_574B_3655_416F_506A_6D48
32
+
33
+ #: 0x09F5 2BE5 3B62 4C76 CB96 4E7F CDC9 2804 [:rfc:`6496`]
34
+ Tag_09F5_2BE5_3B62_4C76_CB96_4E7F_CDC9_2804 = 0x09F5_2BE5_3B62_4C76_CB96_4E7F_CDC9_2804
35
+
36
+ #: 0x8701 55C8 0CCA DD32 6AB7 E415 F148 84D0 [:rfc:`8928`]
37
+ Tag_8701_55C8_0CCA_DD32_6AB7_E415_F148_84D0 = 0x8701_55C8_0CCA_DD32_6AB7_E415_F148_84D0
38
+
39
+ #: 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 [:rfc:`9374`]
40
+ Tag_00B5_A69C_795D_F5D5_F008_7F56_843F_2C40 = 0x00B5_A69C_795D_F5D5_F008_7F56_843F_2C40
41
+
42
+ @staticmethod
43
+ def get(key: 'int | str', default: 'int' = -1) -> 'CGAType':
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 CGAType(key)
54
+ if key not in CGAType._member_map_: # pylint: disable=no-member
55
+ return extend_enum(CGAType, key, default)
56
+ return CGAType[key] # type: ignore[misc]
57
+
58
+ @classmethod
59
+ def _missing_(cls, value: 'int') -> 'CGAType':
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 <= 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF):
67
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
68
+ return extend_enum(cls, 'Tag_%s' % ('_'.join(__import__('textwrap').wrap('%032x' % value, 4))), value)
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """IPv4 DHCP Support Mode Flags
4
+ ==================================
5
+
6
+ .. module:: pcapkit.const.mh.dhcp_support_mode
7
+
8
+ This module contains the constant enumeration for **IPv4 DHCP Support Mode Flags**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.dhcp_support_mode.DHCPSupportMode`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['DHCPSupportMode']
16
+
17
+
18
+ class DHCPSupportMode(IntEnum):
19
+ """[DHCPSupportMode] IPv4 DHCP Support Mode Flags"""
20
+
21
+ #: Unassigned
22
+ Unassigned_0x0 = 0x0
23
+
24
+ #: (S) flag [:rfc:`5844`]
25
+ S_flag = 0x1
26
+
27
+ @staticmethod
28
+ def get(key: 'int | str', default: 'int' = -1) -> 'DHCPSupportMode':
29
+ """Backport support for original codes.
30
+
31
+ Args:
32
+ key: Key to get enum item.
33
+ default: Default value if not found.
34
+
35
+ :meta private:
36
+ """
37
+ if isinstance(key, int):
38
+ return DHCPSupportMode(key)
39
+ if key not in DHCPSupportMode._member_map_: # pylint: disable=no-member
40
+ return extend_enum(DHCPSupportMode, key, default)
41
+ return DHCPSupportMode[key] # type: ignore[misc]
42
+
43
+ @classmethod
44
+ def _missing_(cls, value: 'int') -> 'DHCPSupportMode':
45
+ """Lookup function used when value is not found.
46
+
47
+ Args:
48
+ value: Value to get enum item.
49
+
50
+ """
51
+ if not (isinstance(value, int) and 0 <= value <= 1):
52
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
53
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
@@ -0,0 +1,65 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Status Codes (DNS Update Mobility Option)
4
+ ===============================================
5
+
6
+ .. module:: pcapkit.const.mh.dns_status_code
7
+
8
+ This module contains the constant enumeration for **Status Codes (DNS Update Mobility Option)**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.dns_status_code.DNSStatusCode`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['DNSStatusCode']
16
+
17
+
18
+ class DNSStatusCode(IntEnum):
19
+ """[DNSStatusCode] Status Codes (DNS Update Mobility Option)"""
20
+
21
+ #: DNS update performed [:rfc:`5026`]
22
+ DNS_update_performed = 0
23
+
24
+ #: Reason unspecified [:rfc:`5026`]
25
+ Reason_unspecified = 128
26
+
27
+ #: Administratively prohibited [:rfc:`5026`]
28
+ Administratively_prohibited = 129
29
+
30
+ #: DNS Update Failed [:rfc:`5026`]
31
+ DNS_Update_Failed = 130
32
+
33
+ @staticmethod
34
+ def get(key: 'int | str', default: 'int' = -1) -> 'DNSStatusCode':
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 DNSStatusCode(key)
45
+ if key not in DNSStatusCode._member_map_: # pylint: disable=no-member
46
+ return extend_enum(DNSStatusCode, key, default)
47
+ return DNSStatusCode[key] # type: ignore[misc]
48
+
49
+ @classmethod
50
+ def _missing_(cls, value: 'int') -> 'DNSStatusCode':
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 <= 255):
58
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
59
+ if 1 <= value <= 127:
60
+ #: Unassigned
61
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
62
+ if 131 <= value <= 255:
63
+ #: Unassigned
64
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
65
+ return super()._missing_(value)
@@ -0,0 +1,62 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """DSMIP6-TLS Packet Types Registry
4
+ ======================================
5
+
6
+ .. module:: pcapkit.const.mh.dsmip6_tls_packet
7
+
8
+ This module contains the constant enumeration for **DSMIP6-TLS Packet Types Registry**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.dsmip6_tls_packet.DSMIP6TLSPacket`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['DSMIP6TLSPacket']
16
+
17
+
18
+ class DSMIP6TLSPacket(IntEnum):
19
+ """[DSMIP6TLSPacket] DSMIP6-TLS Packet Types Registry"""
20
+
21
+ #: non-encrypted IP packet [:rfc:`6618`]
22
+ non_encrypted_IP_packet = 0
23
+
24
+ #: encrypted IP packet [:rfc:`6618`]
25
+ encrypted_IP_packet = 1
26
+
27
+ #: mobility header [:rfc:`6618`]
28
+ mobility_header = 8
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'DSMIP6TLSPacket':
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 DSMIP6TLSPacket(key)
42
+ if key not in DSMIP6TLSPacket._member_map_: # pylint: disable=no-member
43
+ return extend_enum(DSMIP6TLSPacket, key, default)
44
+ return DSMIP6TLSPacket[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'DSMIP6TLSPacket':
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 <= 15):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ if 2 <= value <= 7:
57
+ #: Unassigned
58
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
59
+ if 9 <= value <= 15:
60
+ #: Unassigned
61
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
62
+ return super()._missing_(value)
@@ -0,0 +1,74 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Dual Stack MIPv6 (DSMIPv6) IPv4 Home Address Option Status Codes
4
+ ======================================================================
5
+
6
+ .. module:: pcapkit.const.mh.dsmipv6_home_address
7
+
8
+ This module contains the constant enumeration for **Dual Stack MIPv6 (DSMIPv6) IPv4 Home Address Option Status Codes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.dsmipv6_home_address.DSMIPv6HomeAddress`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['DSMIPv6HomeAddress']
16
+
17
+
18
+ class DSMIPv6HomeAddress(IntEnum):
19
+ """[DSMIPv6HomeAddress] Dual Stack MIPv6 (DSMIPv6) IPv4 Home Address Option Status Codes"""
20
+
21
+ #: Success [:rfc:`5555`]
22
+ Success = 0
23
+
24
+ #: Failure, reason unspecified [:rfc:`5555`]
25
+ Failure_reason_unspecified = 128
26
+
27
+ #: Administratively prohibited [:rfc:`5555`]
28
+ Administratively_prohibited = 129
29
+
30
+ #: Incorrect IPv4 home address [:rfc:`5555`]
31
+ Incorrect_IPv4_home_address = 130
32
+
33
+ #: Invalid IPv4 address [:rfc:`5555`]
34
+ Invalid_IPv4_address = 131
35
+
36
+ #: Dynamic IPv4 home address assignment not available [:rfc:`5555`]
37
+ Dynamic_IPv4_home_address_assignment_not_available = 132
38
+
39
+ #: Prefix allocation unauthorized [:rfc:`5555`]
40
+ Prefix_allocation_unauthorized = 133
41
+
42
+ @staticmethod
43
+ def get(key: 'int | str', default: 'int' = -1) -> 'DSMIPv6HomeAddress':
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 DSMIPv6HomeAddress(key)
54
+ if key not in DSMIPv6HomeAddress._member_map_: # pylint: disable=no-member
55
+ return extend_enum(DSMIPv6HomeAddress, key, default)
56
+ return DSMIPv6HomeAddress[key] # type: ignore[misc]
57
+
58
+ @classmethod
59
+ def _missing_(cls, value: 'int') -> 'DSMIPv6HomeAddress':
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 <= 255):
67
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
68
+ if 1 <= value <= 127:
69
+ #: Unassigned
70
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
71
+ if 134 <= value <= 255:
72
+ #: Unassigned
73
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
74
+ return super()._missing_(value)
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Enumerating Algorithms
4
+ ============================
5
+
6
+ .. module:: pcapkit.const.mh.enumerating_algorithm
7
+
8
+ This module contains the constant enumeration for **Enumerating Algorithms**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.enumerating_algorithm.EnumeratingAlgorithm`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['EnumeratingAlgorithm']
16
+
17
+
18
+ class EnumeratingAlgorithm(IntEnum):
19
+ """[EnumeratingAlgorithm] Enumerating Algorithms"""
20
+
21
+ #: Reserved (not available for assignment) [:rfc:`4285`]
22
+ Reserved_0 = 0
23
+
24
+ #: HMAC_SHA1_SPI [:rfc:`4285`]
25
+ HMAC_SHA1_SPI = 3
26
+
27
+ #: Reserved for use by 3GPP2 [:rfc:`4285`]
28
+ Reserved_for_use_by_3GPP2 = 5
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'EnumeratingAlgorithm':
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 EnumeratingAlgorithm(key)
42
+ if key not in EnumeratingAlgorithm._member_map_: # pylint: disable=no-member
43
+ return extend_enum(EnumeratingAlgorithm, key, default)
44
+ return EnumeratingAlgorithm[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'EnumeratingAlgorithm':
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
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
@@ -0,0 +1,62 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Flow Binding Acknowledgement Status Codes
4
+ ===============================================
5
+
6
+ .. module:: pcapkit.const.mh.fb_ack_status
7
+
8
+ This module contains the constant enumeration for **Flow Binding Acknowledgement Status Codes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.fb_ack_status.FlowBindingACKStatus`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['FlowBindingACKStatus']
16
+
17
+
18
+ class FlowBindingACKStatus(IntEnum):
19
+ """[FlowBindingACKStatus] Flow Binding Acknowledgement Status Codes"""
20
+
21
+ #: Success [:rfc:`7109`]
22
+ Success = 0
23
+
24
+ #: Binding (target CoA) Does NOT Exist [:rfc:`7109`]
25
+ Binding = 128
26
+
27
+ #: Action NOT Authorized [:rfc:`7109`]
28
+ Action_NOT_Authorized = 129
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'FlowBindingACKStatus':
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 FlowBindingACKStatus(key)
42
+ if key not in FlowBindingACKStatus._member_map_: # pylint: disable=no-member
43
+ return extend_enum(FlowBindingACKStatus, key, default)
44
+ return FlowBindingACKStatus[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'FlowBindingACKStatus':
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 1 <= value <= 127:
57
+ #: Unassigned
58
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
59
+ if 130 <= value <= 255:
60
+ #: Unassigned
61
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
62
+ return super()._missing_(value)