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,304 @@
1
+ # -*- coding: utf-8 -*-
2
+ # mypy: disable-error-code=assignment
3
+ # pylint: disable=line-too-long,consider-using-f-string
4
+ """FTP Server Return Code
5
+ ============================
6
+
7
+ .. module:: pcapkit.const.ftp.return_code
8
+
9
+ This module contains the constant enumeration for **FTP Server Return Code**,
10
+ which is automatically generated from :class:`pcapkit.vendor.ftp.return_code.ReturnCode`.
11
+
12
+ """
13
+
14
+ from typing import TYPE_CHECKING
15
+
16
+ from aenum import IntEnum, extend_enum
17
+
18
+ if TYPE_CHECKING:
19
+ from typing import Optional, Type
20
+
21
+ __all__ = ['ReturnCode']
22
+
23
+ #: Grouping information.
24
+ INFO = {
25
+ '0': 'Syntax',
26
+ '1': 'Information',
27
+ '2': 'Connections',
28
+ '3': 'Authentication and accounting',
29
+ '4': 'Unspecified', # [RFC 959]
30
+ '5': 'File system',
31
+ } # type: dict[str, str]
32
+
33
+
34
+ class ResponseKind(IntEnum):
35
+ """Response kind; whether the response is good, bad or incomplete."""
36
+
37
+ PositivePreliminary = 1
38
+ PositiveCompletion = 2
39
+ PositiveIntermediate = 3
40
+ TransientNegativeCompletion = 4
41
+ PermanentNegativeCompletion = 5
42
+ Protected = 6
43
+
44
+ def _missing_(cls, value: 'int') -> 'ResponseKind':
45
+ """Lookup function used when value is not found.
46
+
47
+ Args:
48
+ value: Value to lookup.
49
+
50
+ """
51
+ if isinstance(value, int) and 0 <= value <= 9:
52
+ return extend_enum(cls, 'Unknown_%d' % value, value)
53
+ return super()._missing_(value)
54
+
55
+
56
+ class GroupingInformation(IntEnum):
57
+ """Grouping information."""
58
+
59
+ Syntax = 0
60
+ Information = 1
61
+ Connections = 2
62
+ AuthenticationAccounting = 3
63
+ Unspecified = 4
64
+ FileSystem = 5
65
+
66
+ def _missing_(cls, value: 'int') -> 'GroupingInformation':
67
+ """Lookup function used when value is not found.
68
+
69
+ Args:
70
+ value: Value to lookup.
71
+
72
+ """
73
+ if isinstance(value, int) and 0 <= value <= 9:
74
+ return extend_enum(cls, 'Unknown_%d' % value, value)
75
+ return super()._missing_(value)
76
+
77
+
78
+ class ReturnCode(IntEnum):
79
+ """[ReturnCode] FTP Server Return Code"""
80
+
81
+ if TYPE_CHECKING:
82
+ #: Description of the return code.
83
+ description: 'Optional[str]'
84
+ #: Response kind.
85
+ kind: 'ResponseKind'
86
+ #: Grouping information.
87
+ group: 'GroupingInformation'
88
+
89
+ def __new__(cls, value: 'int', description: 'Optional[str]' = None) -> 'Type[ReturnCode]':
90
+ obj = int.__new__(cls, value)
91
+ obj._value_ = value
92
+
93
+ code = str(value)
94
+ obj.description = description
95
+ obj.kind = ResponseKind(int(code[0]))
96
+ obj.group = GroupingInformation(int(code[1]))
97
+
98
+ return obj
99
+
100
+ def __repr__(self) -> 'str':
101
+ return "<%s [%s]>" % (self.__class__.__name__, self._value_)
102
+
103
+ def __str__(self) -> 'str':
104
+ return "[%s] %s" % (self._value_, self.description)
105
+
106
+ #: Restart marker replay. In this case, the text is exact and not left to the
107
+ #: particular implementation; it must read: MARK yyyy = mmmm where yyyy is
108
+ #: User-process data stream marker, and mmmm server's equivalent marker (note
109
+ #: the spaces between markers and "=").
110
+ CODE_110: 'ReturnCode' = 110, 'Restart marker replay.'
111
+
112
+ #: Service ready in nnn minutes.
113
+ CODE_120: 'ReturnCode' = 120, 'Service ready in nnn minutes.'
114
+
115
+ #: Data connection already open; transfer starting.
116
+ CODE_125: 'ReturnCode' = 125, 'Data connection already open; transfer starting.'
117
+
118
+ #: File status okay; about to open data connection.
119
+ CODE_150: 'ReturnCode' = 150, 'File status okay; about to open data connection.'
120
+
121
+ #: Command not implemented, superfluous at this site.
122
+ CODE_202: 'ReturnCode' = 202, 'Command not implemented, superfluous at this site.'
123
+
124
+ #: System status, or system help reply.
125
+ CODE_211: 'ReturnCode' = 211, 'System status, or system help reply.'
126
+
127
+ #: Directory status.
128
+ CODE_212: 'ReturnCode' = 212, 'Directory status.'
129
+
130
+ #: File status.
131
+ CODE_213: 'ReturnCode' = 213, 'File status.'
132
+
133
+ #: Help message. Explains how to use the server or the meaning of a particular
134
+ #: non-standard command. This reply is useful only to the human user.
135
+ CODE_214: 'ReturnCode' = 214, 'Help message.'
136
+
137
+ #: NAME system type. Where NAME is an official system name from the registry
138
+ #: kept by IANA.
139
+ CODE_215: 'ReturnCode' = 215, 'NAME system type.'
140
+
141
+ #: Service ready for new user.
142
+ CODE_220: 'ReturnCode' = 220, 'Service ready for new user.'
143
+
144
+ #: Service closing control connection. Logged out if appropriate.
145
+ CODE_221: 'ReturnCode' = 221, 'Service closing control connection.'
146
+
147
+ #: Data connection open; no transfer in progress.
148
+ CODE_225: 'ReturnCode' = 225, 'Data connection open; no transfer in progress.'
149
+
150
+ #: Closing data connection. Requested file action successful (for example, file
151
+ #: transfer or file abort).
152
+ CODE_226: 'ReturnCode' = 226, 'Closing data connection.'
153
+
154
+ #: Entering Passive Mode (h1,h2,h3,h4,p1,p2).
155
+ CODE_227: 'ReturnCode' = 227, 'Entering Passive Mode.'
156
+
157
+ #: Entering Long Passive Mode (long address, port).
158
+ CODE_228: 'ReturnCode' = 228, 'Entering Long Passive Mode.'
159
+
160
+ #: Entering Extended Passive Mode (|||port|).
161
+ CODE_229: 'ReturnCode' = 229, 'Entering Extended Passive Mode.'
162
+
163
+ #: User logged in, proceed.
164
+ CODE_230: 'ReturnCode' = 230, 'User logged in, proceed.'
165
+
166
+ #: User logged in, authorized by security data exchange.
167
+ CODE_232: 'ReturnCode' = 232, 'User logged in, authorized by security data exchange.'
168
+
169
+ #: Server accepts the security mechanism specified by the client; no security
170
+ #: data needs to be exchanged.
171
+ CODE_234: 'ReturnCode' = 234, 'Server accepts the security mechanism specified by the client; no security data needs to be exchanged.'
172
+
173
+ #: Server accepts the security data given by the client; no further security
174
+ #: data needs to be exchanged.
175
+ CODE_235: 'ReturnCode' = 235, 'Server accepts the security data given by the client; no further security data needs to be exchanged.'
176
+
177
+ #: Requested file action was okay, completed.
178
+ CODE_250: 'ReturnCode' = 250, 'Requested file action was okay, completed.'
179
+
180
+ #: User name okay, password needed.
181
+ CODE_331: 'ReturnCode' = 331, 'User name okay, password needed.'
182
+
183
+ #: No need account for login.
184
+ CODE_332: 'ReturnCode' = 332, 'No need account for login.'
185
+
186
+ #: Server accepts the security mechanism specified by the client; some security
187
+ #: data needs to be exchanged.
188
+ CODE_334: 'ReturnCode' = 334, 'Server accepts the security mechanism specified by the client; some security data needs to be exchanged.'
189
+
190
+ #: Username okay, password okay. Challenge is ". . . . ".
191
+ CODE_336: 'ReturnCode' = 336, 'Username okay, password okay.'
192
+
193
+ #: Service available, closing control connection. This may be a reply to any
194
+ #: command if the service knows it must shut down.
195
+ CODE_421: 'ReturnCode' = 421, 'Service available, closing control connection.'
196
+
197
+ #: open data connection.
198
+ CODE_425: 'ReturnCode' = 425, 'open data connection.'
199
+
200
+ #: Connection closed; transfer aborted.
201
+ CODE_426: 'ReturnCode' = 426, 'Connection closed; transfer aborted.'
202
+
203
+ #: Invalid username or password
204
+ CODE_430: 'ReturnCode' = 430, 'Invalid username or password.'
205
+
206
+ #: Need some unavailable resource to process security.
207
+ CODE_431: 'ReturnCode' = 431, 'Need some unavailable resource to process security.'
208
+
209
+ #: Requested host unavailable.
210
+ CODE_434: 'ReturnCode' = 434, 'Requested host unavailable.'
211
+
212
+ #: Requested file action not taken.
213
+ CODE_450: 'ReturnCode' = 450, 'Requested file action not taken.'
214
+
215
+ #: Requested action aborted. Local error in processing.
216
+ CODE_451: 'ReturnCode' = 451, 'Requested action aborted.'
217
+
218
+ #: Requested action not taken. Insufficient storage space in system. File
219
+ #: unavailable (e.g., file busy).
220
+ CODE_452: 'ReturnCode' = 452, 'Requested action not taken.'
221
+
222
+ #: Syntax error in parameters or arguments.
223
+ CODE_501: 'ReturnCode' = 501, 'Syntax error in parameters or arguments.'
224
+
225
+ #: Command not implemented.
226
+ CODE_502: 'ReturnCode' = 502, 'Command not implemented.'
227
+
228
+ #: Bad sequence of commands.
229
+ CODE_503: 'ReturnCode' = 503, 'Bad sequence of commands.'
230
+
231
+ #: Command not implemented for that parameter.
232
+ CODE_504: 'ReturnCode' = 504, 'Command not implemented for that parameter.'
233
+
234
+ #: Not logged in.
235
+ CODE_530: 'ReturnCode' = 530, 'Not logged in.'
236
+
237
+ #: Need account for storing files.
238
+ CODE_532: 'ReturnCode' = 532, 'Need account for storing files.'
239
+
240
+ #: Command protection level denied for policy reasons.
241
+ CODE_533: 'ReturnCode' = 533, 'Command protection level denied for policy reasons.'
242
+
243
+ #: Request denied for policy reasons.
244
+ CODE_534: 'ReturnCode' = 534, 'Request denied for policy reasons.'
245
+
246
+ #: Failed security check.
247
+ CODE_535: 'ReturnCode' = 535, 'Failed security check.'
248
+
249
+ #: Data protection level not supported by security mechanism.
250
+ CODE_536: 'ReturnCode' = 536, 'Data protection level not supported by security mechanism.'
251
+
252
+ #: Command protection level not supported by security mechanism.
253
+ CODE_537: 'ReturnCode' = 537, 'Command protection level not supported by security mechanism.'
254
+
255
+ #: Requested action not taken. File unavailable (e.g., file not found, no
256
+ #: access).
257
+ CODE_550: 'ReturnCode' = 550, 'Requested action not taken.'
258
+
259
+ #: Requested action aborted. Page type unknown.
260
+ CODE_551: 'ReturnCode' = 551, 'Requested action aborted.'
261
+
262
+ #: Requested file action aborted. Exceeded storage allocation (for current
263
+ #: directory or dataset).
264
+ CODE_552: 'ReturnCode' = 552, 'Requested file action aborted.'
265
+
266
+ #: Requested action not taken. File name not allowed.
267
+ CODE_553: 'ReturnCode' = 553, 'Requested action not taken.'
268
+
269
+ #: Integrity protected reply.
270
+ CODE_631: 'ReturnCode' = 631, 'Integrity protected reply.'
271
+
272
+ #: Confidentiality and integrity protected reply.
273
+ CODE_632: 'ReturnCode' = 632, 'Confidentiality and integrity protected reply.'
274
+
275
+ #: Confidentiality protected reply.
276
+ CODE_633: 'ReturnCode' = 633, 'Confidentiality protected reply.'
277
+
278
+ @staticmethod
279
+ def get(key: 'int | str', default: 'int' = -1) -> 'ReturnCode':
280
+ """Backport support for original codes.
281
+
282
+ Args:
283
+ key: Key to get enum item.
284
+ default: Default value if not found.
285
+
286
+ :meta private:
287
+ """
288
+ if isinstance(key, int):
289
+ return ReturnCode(key)
290
+ if key not in ReturnCode._member_map_: # pylint: disable=no-member
291
+ return extend_enum(ReturnCode, key, default)
292
+ return ReturnCode[key] # type: ignore[misc]
293
+
294
+ @classmethod
295
+ def _missing_(cls, value: 'int') -> 'ReturnCode':
296
+ """Lookup function used when value is not found.
297
+
298
+ Args:
299
+ value: Value to get enum item.
300
+
301
+ """
302
+ if not (isinstance(value, int) and 100 <= value <= 659):
303
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
304
+ return extend_enum(cls, 'CODE_%s' % value, value)
@@ -0,0 +1,94 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=unused-import
3
+ """:class:`~pcapkit.protocols.internet.hip.HIP` Constant Enumerations
4
+ ========================================================================
5
+
6
+ .. module:: pcapkit.const.hip
7
+
8
+ This module contains all constant enumerations of
9
+ :class:`~pcapkit.protocols.internet.hip.HIP` implementations. Available
10
+ enumerations include:
11
+
12
+ .. list-table::
13
+
14
+ * - :class:`HIP_Certificate <pcapkit.const.hip.certificate.Certificate>`
15
+ - HIP Certificate Types [*]_
16
+ * - :class:`HIP_Cipher <pcapkit.const.hip.cipher.Cipher>`
17
+ - HIP Cipher IDs [*]_
18
+ * - :class:`HIP_DITypes <pcapkit.const.hip.di.DITypes>`
19
+ - DI-Types [*]_
20
+ * - :class:`HIP_ECDSACurve <pcapkit.const.hip.ecdsa_curve.ECDSACurve>`
21
+ - ECDSA Curve Label [*]_
22
+ * - :class:`HIP_ECDSALowCurve <pcapkit.const.hip.ecdsa_low_curve.ECDSALowCurve>`
23
+ - ECDSA_LOW Curve Label [*]_
24
+ * - :class:`HIP_EdDSACurve <pcapkit.const.hip.eddsa_curve.EdDSACurve>`
25
+ - EdDSA Curve Label [*]_
26
+ * - :class:`HIP_ESPTransformSuite <pcapkit.const.hip.esp_transform_suite.ESPTransformSuite>`
27
+ - ESP Transform Suite IDs [*]_
28
+ * - :class:`HIP_Group <pcapkit.const.hip.group.Group>`
29
+ - Group IDs [*]_
30
+ * - :class:`HIP_HIAlgorithm <pcapkit.const.hip.hi_algorithm.HIAlgorithm>`
31
+ - HI Algorithm [*]_
32
+ * - :class:`HIP_HITSuite <pcapkit.const.hip.hit_suite.HITSuite>`
33
+ - HIT Suite IDs [*]_
34
+ * - :class:`HIP_NATTraversal <pcapkit.const.hip.nat_traversal.NATTraversal>`
35
+ - HIP NAT Traversal Modes [*]_
36
+ * - :class:`HIP_NotifyMessage <pcapkit.const.hip.notify_message.NotifyMessage>`
37
+ - Notify Message Types [*]_
38
+ * - :class:`HIP_Packet <pcapkit.const.hip.packet.Packet>`
39
+ - Packet Types [*]_
40
+ * - :class:`HIP_Parameter <pcapkit.const.hip.parameter.Parameter>`
41
+ - Parameter Types [*]_
42
+ * - :class:`HIP_Registration <pcapkit.const.hip.registration.Registration>`
43
+ - Registration Types [*]_
44
+ * - :class:`HIP_RegistrationFailure <pcapkit.const.hip.registration_failure.RegistrationFailure>`
45
+ - Registration Failure Types [*]_
46
+ * - :class:`HIP_Suite <pcapkit.const.hip.suite.Suite>`
47
+ - Suite IDs [*]_
48
+ * - :class:`HIP_Transport <pcapkit.const.hip.transport.Transport>`
49
+ - HIP Transport Modes [*]_
50
+
51
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#certificate-types
52
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-cipher-id
53
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-7
54
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#ecdsa-curve-label
55
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#ecdsa-low-curve-label
56
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#eddsa-curve-label
57
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#esp-transform-suite-ids
58
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-5
59
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hi-algorithm
60
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hit-suite-id
61
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#nat-traversal
62
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-9
63
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-1
64
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-4
65
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-11
66
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-13
67
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-6
68
+ .. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#transport-modes
69
+
70
+ """
71
+
72
+ from pcapkit.const.hip.certificate import Certificate as HIP_Certificate
73
+ from pcapkit.const.hip.cipher import Cipher as HIP_Cipher
74
+ from pcapkit.const.hip.di import DITypes as HIP_DITypes
75
+ from pcapkit.const.hip.ecdsa_curve import ECDSACurve as HIP_ECDSACurve
76
+ from pcapkit.const.hip.ecdsa_low_curve import ECDSALowCurve as HIP_ECDSALowCurve
77
+ from pcapkit.const.hip.eddsa_curve import EdDSACurve as HIP_EdDSACurve
78
+ from pcapkit.const.hip.esp_transform_suite import ESPTransformSuite as HIP_ESPTransformSuite
79
+ from pcapkit.const.hip.group import Group as HIP_Group
80
+ from pcapkit.const.hip.hi_algorithm import HIAlgorithm as HIP_HIAlgorithm
81
+ from pcapkit.const.hip.hit_suite import HITSuite as HIP_HITSuite
82
+ from pcapkit.const.hip.nat_traversal import NATTraversal as HIP_NATTraversal
83
+ from pcapkit.const.hip.notify_message import NotifyMessage as HIP_NotifyMessage
84
+ from pcapkit.const.hip.packet import Packet as HIP_Packet
85
+ from pcapkit.const.hip.parameter import Parameter as HIP_Parameter
86
+ from pcapkit.const.hip.registration import Registration as HIP_Registration
87
+ from pcapkit.const.hip.registration_failure import RegistrationFailure as HIP_RegistrationFailure
88
+ from pcapkit.const.hip.suite import Suite as HIP_Suite
89
+ from pcapkit.const.hip.transport import Transport as HIP_Transport
90
+
91
+ __all__ = ['HIP_Certificate', 'HIP_Cipher', 'HIP_DITypes', 'HIP_ECDSACurve', 'HIP_ECDSALowCurve',
92
+ 'HIP_ESPTransformSuite', 'HIP_Group', 'HIP_HIAlgorithm', 'HIP_HITSuite', 'HIP_NATTraversal',
93
+ 'HIP_NotifyMessage', 'HIP_Packet', 'HIP_Parameter', 'HIP_Registration', 'HIP_RegistrationFailure',
94
+ 'HIP_Suite', 'HIP_Transport', 'HIP_EdDSACurve']
@@ -0,0 +1,77 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """HIP Certificate Types
4
+ ===========================
5
+
6
+ .. module:: pcapkit.const.hip.certificate
7
+
8
+ This module contains the constant enumeration for **HIP Certificate Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.certificate.Certificate`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Certificate']
16
+
17
+
18
+ class Certificate(IntEnum):
19
+ """[Certificate] HIP Certificate Types"""
20
+
21
+ #: Reserved [:rfc:`8002`]
22
+ Reserved_0 = 0
23
+
24
+ #: X.509 v3 [:rfc:`8002`]
25
+ X_509_v3 = 1
26
+
27
+ #: Obsoleted [:rfc:`8002`]
28
+ Obsoleted_2 = 2
29
+
30
+ #: Hash and URL of X.509 v3 [:rfc:`8002`]
31
+ Hash_and_URL_of_X_509_v3 = 3
32
+
33
+ #: Obsoleted [:rfc:`8002`]
34
+ Obsoleted_4 = 4
35
+
36
+ #: LDAP URL of X.509 v3 [:rfc:`8002`]
37
+ LDAP_URL_of_X_509_v3 = 5
38
+
39
+ #: Obsoleted [:rfc:`8002`]
40
+ Obsoleted_6 = 6
41
+
42
+ #: Distinguished Name of X.509 v3 [:rfc:`8002`]
43
+ Distinguished_Name_of_X_509_v3 = 7
44
+
45
+ #: Obsoleted [:rfc:`8002`]
46
+ Obsoleted_8 = 8
47
+
48
+ @staticmethod
49
+ def get(key: 'int | str', default: 'int' = -1) -> 'Certificate':
50
+ """Backport support for original codes.
51
+
52
+ Args:
53
+ key: Key to get enum item.
54
+ default: Default value if not found.
55
+
56
+ :meta private:
57
+ """
58
+ if isinstance(key, int):
59
+ return Certificate(key)
60
+ if key not in Certificate._member_map_: # pylint: disable=no-member
61
+ return extend_enum(Certificate, key, default)
62
+ return Certificate[key] # type: ignore[misc]
63
+
64
+ @classmethod
65
+ def _missing_(cls, value: 'int') -> 'Certificate':
66
+ """Lookup function used when value is not found.
67
+
68
+ Args:
69
+ value: Value to get enum item.
70
+
71
+ """
72
+ if not (isinstance(value, int) and 0 <= value <= 255):
73
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
74
+ if 9 <= value <= 255:
75
+ #: Unassigned
76
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
77
+ return super()._missing_(value)
@@ -0,0 +1,65 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Cipher IDs
4
+ ================
5
+
6
+ .. module:: pcapkit.const.hip.cipher
7
+
8
+ This module contains the constant enumeration for **Cipher IDs**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.cipher.Cipher`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Cipher']
16
+
17
+
18
+ class Cipher(IntEnum):
19
+ """[Cipher] Cipher IDs"""
20
+
21
+ #: RESERVED [:rfc:`7401`]
22
+ RESERVED_0 = 0
23
+
24
+ #: NULL-ENCRYPT [:rfc:`7401`]
25
+ NULL_ENCRYPT = 1
26
+
27
+ #: AES-128-CBC [:rfc:`7401`]
28
+ AES_128_CBC = 2
29
+
30
+ #: RESERVED [:rfc:`7401`]
31
+ RESERVED_3 = 3
32
+
33
+ #: AES-256-CBC [:rfc:`7401`]
34
+ AES_256_CBC = 4
35
+
36
+ @staticmethod
37
+ def get(key: 'int | str', default: 'int' = -1) -> 'Cipher':
38
+ """Backport support for original codes.
39
+
40
+ Args:
41
+ key: Key to get enum item.
42
+ default: Default value if not found.
43
+
44
+ :meta private:
45
+ """
46
+ if isinstance(key, int):
47
+ return Cipher(key)
48
+ if key not in Cipher._member_map_: # pylint: disable=no-member
49
+ return extend_enum(Cipher, key, default)
50
+ return Cipher[key] # type: ignore[misc]
51
+
52
+ @classmethod
53
+ def _missing_(cls, value: 'int') -> 'Cipher':
54
+ """Lookup function used when value is not found.
55
+
56
+ Args:
57
+ value: Value to get enum item.
58
+
59
+ """
60
+ if not (isinstance(value, int) and 0 <= value <= 65535):
61
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
62
+ if 5 <= value <= 65535:
63
+ #: Unassigned
64
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
65
+ return super()._missing_(value)
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """DI-Types
4
+ ==============
5
+
6
+ .. module:: pcapkit.const.hip.di
7
+
8
+ This module contains the constant enumeration for **DI-Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.di.DITypes`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['DITypes']
16
+
17
+
18
+ class DITypes(IntEnum):
19
+ """[DITypes] DI-Types"""
20
+
21
+ #: none included [:rfc:`7401`]
22
+ none_included = 0
23
+
24
+ #: FQDN [:rfc:`7401`]
25
+ FQDN = 1
26
+
27
+ #: NAI [:rfc:`7401`]
28
+ NAI = 2
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'DITypes':
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 DITypes(key)
42
+ if key not in DITypes._member_map_: # pylint: disable=no-member
43
+ return extend_enum(DITypes, key, default)
44
+ return DITypes[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'DITypes':
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 3 <= value <= 15:
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
+ """ECDSA Curve Label
4
+ =======================
5
+
6
+ .. module:: pcapkit.const.hip.ecdsa_curve
7
+
8
+ This module contains the constant enumeration for **ECDSA Curve Label**,
9
+ which is automatically generated from :class:`pcapkit.vendor.hip.ecdsa_curve.ECDSACurve`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['ECDSACurve']
16
+
17
+
18
+ class ECDSACurve(IntEnum):
19
+ """[ECDSACurve] ECDSA Curve Label"""
20
+
21
+ #: RESERVED [:rfc:`7401`]
22
+ RESERVED_0 = 0
23
+
24
+ #: NIST P-256 [:rfc:`7401`]
25
+ NIST_P_256 = 1
26
+
27
+ #: NIST P-384 [:rfc:`7401`]
28
+ NIST_P_384 = 2
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'ECDSACurve':
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 ECDSACurve(key)
42
+ if key not in ECDSACurve._member_map_: # pylint: disable=no-member
43
+ return extend_enum(ECDSACurve, key, default)
44
+ return ECDSACurve[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'ECDSACurve':
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 <= 65535):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ if 3 <= value <= 65535:
57
+ #: Unassigned
58
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
59
+ return super()._missing_(value)