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,804 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data model for HIP protocol"""
3
+
4
+ from typing import TYPE_CHECKING
5
+
6
+ from pcapkit.corekit.infoclass import info_final
7
+ from pcapkit.protocols.data.data import Data
8
+ from pcapkit.protocols.data.protocol import Protocol
9
+
10
+ if TYPE_CHECKING:
11
+ from datetime import timedelta
12
+ from ipaddress import IPv6Address
13
+ from typing import Optional
14
+
15
+ from pcapkit.const.hip.certificate import Certificate
16
+ from pcapkit.const.hip.cipher import Cipher
17
+ from pcapkit.const.hip.di import DITypes
18
+ from pcapkit.const.hip.ecdsa_curve import ECDSACurve
19
+ from pcapkit.const.hip.ecdsa_low_curve import ECDSALowCurve
20
+ from pcapkit.const.hip.eddsa_curve import EdDSACurve
21
+ from pcapkit.const.hip.esp_transform_suite import ESPTransformSuite
22
+ from pcapkit.const.hip.group import Group
23
+ from pcapkit.const.hip.hi_algorithm import HIAlgorithm
24
+ from pcapkit.const.hip.hit_suite import HITSuite
25
+ from pcapkit.const.hip.nat_traversal import NATTraversal
26
+ from pcapkit.const.hip.notify_message import NotifyMessage
27
+ from pcapkit.const.hip.packet import Packet
28
+ from pcapkit.const.hip.parameter import Parameter as Enum_Parameter
29
+ from pcapkit.const.hip.registration import Registration
30
+ from pcapkit.const.hip.registration_failure import RegistrationFailure
31
+ from pcapkit.const.hip.suite import Suite
32
+ from pcapkit.const.hip.transport import Transport
33
+ from pcapkit.const.reg.transtype import TransType
34
+ from pcapkit.corekit.multidict import OrderedMultiDict
35
+
36
+ __all__ = [
37
+ 'HIP', 'Control',
38
+
39
+ 'LocatorData', 'Locator',
40
+ 'HostIdentity',
41
+ 'Lifetime',
42
+ 'Flags',
43
+
44
+ 'UnassignedParameter', 'ESPInfoParameter', 'R1CounterParameter',
45
+ 'LocatorSetParameter', 'PuzzleParameter', 'SolutionParameter',
46
+ 'SEQParameter', 'ACKParameter', 'DHGroupListParameter',
47
+ 'DiffieHellmanParameter', 'HIPTransformParameter', 'HIPCipherParameter',
48
+ 'NATTraversalModeParameter', 'TransactionPacingParameter', 'EncryptedParameter',
49
+ 'HostIDParameter', 'HITSuiteListParameter', 'CertParameter',
50
+ 'NotificationParameter', 'EchoRequestSignedParameter', 'RegInfoParameter',
51
+ 'RegRequestParameter', 'RegResponseParameter', 'RegFailedParameter',
52
+ 'RegFromParameter', 'EchoResponseSignedParameter', 'TransportFormatListParameter',
53
+ 'ESPTransformParameter', 'SeqDataParameter', 'AckDataParameter',
54
+ 'PayloadMICParameter', 'TransactionIDParameter', 'OverlayIDParameter',
55
+ 'RouteDstParameter', 'HIPTransportModeParameter', 'HIPMACParameter',
56
+ 'HIPMAC2Parameter', 'HIPSignature2Parameter', 'HIPSignatureParameter',
57
+ 'EchoRequestUnsignedParameter', 'EchoResponseUnsignedParameter', 'RelayFromParameter',
58
+ 'RelayToParameter', 'RouteViaParameter', 'FromParameter',
59
+ 'RVSHMACParameter', 'RelayHMACParameter',
60
+ ]
61
+
62
+
63
+ @info_final
64
+ class Control(Data):
65
+ """Data model for HIP controls."""
66
+
67
+ #: Anonymous flag.
68
+ anonymous: 'bool'
69
+
70
+ if TYPE_CHECKING:
71
+ def __init__(self, anonymous: 'bool') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,multiple-statements
72
+
73
+
74
+ class Parameter(Data):
75
+ """Data model for HIP parameter data."""
76
+
77
+ #: Parameter type.
78
+ type: 'Enum_Parameter'
79
+ #: Critical flag.
80
+ critical: 'bool'
81
+ #: Content length.
82
+ length: 'int'
83
+
84
+
85
+ @info_final
86
+ class HIP(Protocol):
87
+ """Data model for HIP header."""
88
+
89
+ #: Next header.
90
+ next: 'TransType'
91
+ #: Header length.
92
+ length: 'int'
93
+ #: Packet type.
94
+ type: 'Packet'
95
+ #: Version.
96
+ version: 'int'
97
+ #: Checksum.
98
+ chksum: 'bytes'
99
+ #: Control
100
+ control: 'Control'
101
+ #: Sender's host identity tag.
102
+ shit: 'int'
103
+ #: Receiver's host identity tag.
104
+ rhit: 'int'
105
+
106
+ if TYPE_CHECKING:
107
+ #: HIP parameters.
108
+ parameters: 'OrderedMultiDict[Enum_Parameter, Parameter]'
109
+
110
+ def __init__(self, next: 'TransType', length: 'int', type: 'Packet', version: 'int', chksum: 'bytes', control: 'Control', shit: 'int', rhit: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
111
+
112
+
113
+ @info_final
114
+ class UnassignedParameter(Parameter):
115
+ """Data model for unassigned parameter."""
116
+
117
+ #: Content.
118
+ contents: 'bytes'
119
+
120
+ if TYPE_CHECKING:
121
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', contents: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
122
+
123
+
124
+ @info_final
125
+ class ESPInfoParameter(Parameter):
126
+ """Data model for HIP ``ESP_INFO`` parameter."""
127
+
128
+ #: KEYMAT index.
129
+ index: 'int'
130
+ #: Old SDI.
131
+ old_spi: 'int'
132
+ #: New SDI.
133
+ new_spi: 'int'
134
+
135
+ if TYPE_CHECKING:
136
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', index: 'int', old_spi: 'int', new_spi: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
137
+
138
+
139
+ @info_final
140
+ class R1CounterParameter(Parameter):
141
+ """Data model for HIP ``R1_COUNTER`` parameter."""
142
+
143
+ #: R1 counter.
144
+ counter: 'int'
145
+
146
+ if TYPE_CHECKING:
147
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', counter: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
148
+
149
+
150
+ @info_final
151
+ class LocatorData(Data):
152
+ """Data model for HIP locator data."""
153
+
154
+ #: SPI.
155
+ spi: 'int'
156
+ #: IP address.
157
+ ip: 'IPv6Address'
158
+
159
+ if TYPE_CHECKING:
160
+ def __init__(self, spi: 'int', ip: 'IPv6Address') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,multiple-statements
161
+
162
+
163
+ @info_final
164
+ class Locator(Data):
165
+ """Data model for HIP locator."""
166
+
167
+ #: Traffic.
168
+ traffic: 'int'
169
+ #: Locator type.
170
+ type: 'int'
171
+ #: Locator length.
172
+ length: 'int'
173
+ #: Preferred flag.
174
+ preferred: 'bool'
175
+ #: Locator lifetime.
176
+ lifetime: 'timedelta'
177
+ #: Locator data.
178
+ locator: 'LocatorData | IPv6Address'
179
+
180
+ if TYPE_CHECKING:
181
+ def __init__(self, traffic: 'int', type: 'int', length: 'int', preferred: 'bool', lifetime: 'timedelta', locator: 'LocatorData | IPv6Address') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,multiple-statements,redefined-builtin,line-too-long
182
+
183
+
184
+ @info_final
185
+ class LocatorSetParameter(Parameter):
186
+ """Data model for HIP ``LOCATOR_SET`` parameter."""
187
+
188
+ #: Locator set.
189
+ locator_set: 'tuple[Locator, ...]'
190
+
191
+ if TYPE_CHECKING:
192
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', locator_set: 'tuple[Locator, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
193
+
194
+
195
+ @info_final
196
+ class PuzzleParameter(Parameter):
197
+ """Data model for HIP ``PUZZLE`` parameter."""
198
+
199
+ #: Numeric index.
200
+ index: 'int'
201
+ #: Lifetime.
202
+ lifetime: 'timedelta'
203
+ #: Puzzle data.
204
+ opaque: 'bytes'
205
+ #: Random number.
206
+ random: 'int'
207
+
208
+ if TYPE_CHECKING:
209
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', index: 'int', lifetime: 'timedelta', opaque: 'bytes', random: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
210
+
211
+
212
+ @info_final
213
+ class SolutionParameter(Parameter):
214
+ """Data model for HIP ``SOLUTION`` parameter."""
215
+
216
+ #: Numeric index.
217
+ index: 'int'
218
+ #: Lifetime.
219
+ lifetime: 'timedelta'
220
+ #: Solution data.
221
+ opaque: 'bytes'
222
+ #: Random number.
223
+ random: 'int'
224
+ #: Puzzle solution.
225
+ solution: 'int'
226
+
227
+ if TYPE_CHECKING:
228
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', index: 'int', lifetime: 'timedelta', opaque: 'bytes', random: 'int', solution: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
229
+
230
+
231
+ @info_final
232
+ class SEQParameter(Parameter):
233
+ """Data model for HIP ``SEQ`` parameter."""
234
+
235
+ #: Unique ID.
236
+ id: 'int'
237
+
238
+ if TYPE_CHECKING:
239
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', id: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
240
+
241
+
242
+ @info_final
243
+ class ACKParameter(Parameter):
244
+ """Data model for HIP ``ACK`` parameter."""
245
+
246
+ #: Peer update IDs.
247
+ update_id: 'tuple[int, ...]'
248
+
249
+ if TYPE_CHECKING:
250
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', update_id: 'tuple[int, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
251
+
252
+
253
+ @info_final
254
+ class DHGroupListParameter(Parameter):
255
+ """Data model for HIP ``DH_GROUP_LIST`` parameter."""
256
+
257
+ #: DH group list.
258
+ group_id: 'tuple[Group, ...]'
259
+
260
+ if TYPE_CHECKING:
261
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', group_id: 'tuple[Group, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
262
+
263
+
264
+ @info_final
265
+ class DiffieHellmanParameter(Parameter):
266
+ """Data model for HIP ``DIFFIE_HELLMAN`` parameter."""
267
+
268
+ #: Group ID.
269
+ group_id: 'Group'
270
+ #: Public value length.
271
+ pub_len: 'int'
272
+ #: Public value.
273
+ pub_val: 'int'
274
+
275
+ if TYPE_CHECKING:
276
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', group_id: 'Group', pub_len: 'int', pub_val: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
277
+
278
+
279
+ @info_final
280
+ class HIPTransformParameter(Parameter):
281
+ """Data model for HIP ``HIP_TRANSFORM`` parameter."""
282
+
283
+ #: Suite IDs.
284
+ suite_id: 'tuple[Suite, ...]'
285
+
286
+ if TYPE_CHECKING:
287
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', suite_id: 'tuple[Suite, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
288
+
289
+
290
+ @info_final
291
+ class HIPCipherParameter(Parameter):
292
+ """Data model for HIP ``HIP_CIPHER`` parameter."""
293
+
294
+ #: Cipher IDs.
295
+ cipher_id: 'tuple[Cipher, ...]'
296
+
297
+ if TYPE_CHECKING:
298
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', cipher_id: 'tuple[Cipher, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
299
+
300
+
301
+ @info_final
302
+ class NATTraversalModeParameter(Parameter):
303
+ """Data model for HIP ``NAT_TRAVERSAL_MODE`` parameter."""
304
+
305
+ #: Mode IDs
306
+ mode_id: 'tuple[NATTraversal, ...]'
307
+
308
+ if TYPE_CHECKING:
309
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', mode_id: 'tuple[NATTraversal, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
310
+
311
+
312
+ @info_final
313
+ class TransactionPacingParameter(Parameter):
314
+ """Data model for HIP ``TRANSACTION_PACING`` parameter."""
315
+
316
+ #: Min TA.
317
+ min_ta: 'int'
318
+
319
+ if TYPE_CHECKING:
320
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', min_ta: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
321
+
322
+
323
+ @info_final
324
+ class EncryptedParameter(Parameter):
325
+ """Data model for HIP ``ENCRYPTED`` parameter."""
326
+
327
+ #: Cipher ID.
328
+ cipher: 'Cipher'
329
+ #: Initialization vector.
330
+ iv: 'Optional[bytes]'
331
+ #: Encrypted data.
332
+ data: 'bytes'
333
+
334
+ if TYPE_CHECKING:
335
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int',
336
+ cipher: 'Cipher', iv: 'Optional[bytes]', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
337
+
338
+
339
+ @info_final
340
+ class HostIdentity(Data):
341
+ """Data model for host identity."""
342
+
343
+ #: Curve type.
344
+ curve: 'ECDSACurve | ECDSALowCurve | EdDSACurve'
345
+ #: Public key.
346
+ pubkey: 'bytes'
347
+
348
+ if TYPE_CHECKING:
349
+ def __init__(self, curve: 'ECDSACurve | ECDSALowCurve | EdDSACurve',
350
+ pubkey: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
351
+
352
+
353
+ @info_final
354
+ class HostIDParameter(Parameter):
355
+ """Data model for HIP ``HOST_ID`` parameter."""
356
+
357
+ #: Host identity length.
358
+ hi_len: 'int'
359
+ #: Domain identifier type.
360
+ di_type: 'DITypes'
361
+ #: Domain identifier length.
362
+ di_len: 'int'
363
+ #: Algorithm type.
364
+ algorithm: 'HIAlgorithm'
365
+ #: Host identity.
366
+ hi: 'HostIdentity | bytes'
367
+ #: Domain identifier.
368
+ di: 'bytes'
369
+
370
+ if TYPE_CHECKING:
371
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hi_len: 'int', di_type: 'DITypes', di_len: 'int', algorithm: 'HIAlgorithm', hi: 'HostIdentity | bytes', di: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
372
+
373
+
374
+ @info_final
375
+ class HITSuiteListParameter(Parameter):
376
+ """Data model for HIP ``HIST_SUITE_LIST`` parameter."""
377
+
378
+ #: Suite IDs.
379
+ suite_id: 'tuple[HITSuite, ...]'
380
+
381
+ if TYPE_CHECKING:
382
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', suite_id: 'tuple[HITSuite, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
383
+
384
+
385
+ @info_final
386
+ class CertParameter(Parameter):
387
+ """Data model for HIP ``CERT`` parameter."""
388
+
389
+ #: Certificate group.
390
+ cert_group: 'Group'
391
+ #: Certificate count.
392
+ cert_count: 'int'
393
+ #: Certificate ID.
394
+ cert_id: 'int'
395
+ #: Certificate type.
396
+ cert_type: 'Certificate'
397
+ #: Certificate.
398
+ cert: 'bytes'
399
+
400
+ if TYPE_CHECKING:
401
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', cert_group: 'Group', cert_count: 'int', cert_id: 'int', cert_type: 'Certificate', cert: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
402
+
403
+
404
+ @info_final
405
+ class NotificationParameter(Parameter):
406
+ """Data model for HIP ``NOTIFICATION`` parameter."""
407
+
408
+ #: Notify message type.
409
+ msg_type: 'NotifyMessage'
410
+ #: Notification data.
411
+ msg: 'bytes'
412
+
413
+ if TYPE_CHECKING:
414
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', msg_type: 'NotifyMessage', msg: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
415
+
416
+
417
+ @info_final
418
+ class EchoRequestSignedParameter(Parameter):
419
+ """Data model for HIP ``ECHO_REQUEST_SIGNED`` parameter."""
420
+
421
+ #: Opaque data.
422
+ opaque: 'bytes'
423
+
424
+ if TYPE_CHECKING:
425
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
426
+
427
+
428
+ @info_final
429
+ class Lifetime(Data):
430
+ """Data model for registration lifetime."""
431
+
432
+ #: Minimum lifetime.
433
+ min: 'timedelta'
434
+ #: Maximum lifetime.
435
+ max: 'timedelta'
436
+
437
+ if TYPE_CHECKING:
438
+ def __init__(self, min: 'timedelta', max: 'timedelta') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
439
+
440
+
441
+ @info_final
442
+ class RegInfoParameter(Parameter):
443
+ """Data model for HIP ``REG_INFO`` parameter."""
444
+
445
+ #: Registration lifetime.
446
+ lifetime: 'Lifetime'
447
+ #: Registration type.
448
+ reg_type: 'tuple[Registration, ...]'
449
+
450
+ if TYPE_CHECKING:
451
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'Lifetime', reg_type: 'tuple[Registration, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
452
+
453
+
454
+ @info_final
455
+ class RegRequestParameter(Parameter):
456
+ """Data model for HIP ``REG_REQUEST`` parameter."""
457
+
458
+ #: Registration lifetime.
459
+ lifetime: 'timedelta'
460
+ #: Registration type.
461
+ reg_type: 'tuple[Registration, ...]'
462
+
463
+ if TYPE_CHECKING:
464
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'timedelta', reg_type: 'tuple[Registration, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
465
+
466
+
467
+ @info_final
468
+ class RegResponseParameter(Parameter):
469
+ """Data model for HIP ``REG_RESPONSE`` parameter."""
470
+
471
+ #: Registration lifetime.
472
+ lifetime: 'timedelta'
473
+ #: Registration type.
474
+ reg_type: 'tuple[Registration, ...]'
475
+
476
+ if TYPE_CHECKING:
477
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'timedelta', reg_type: 'tuple[Registration, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
478
+
479
+
480
+ @info_final
481
+ class RegFailedParameter(Parameter):
482
+ """Data model for HIP ``REG_FAILED`` parameter."""
483
+
484
+ #: Registration lifetime.
485
+ lifetime: 'timedelta'
486
+ #: Registration failure type.
487
+ reg_type: 'tuple[RegistrationFailure, ...]'
488
+
489
+ if TYPE_CHECKING:
490
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'timedelta', reg_type: 'tuple[RegistrationFailure, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
491
+
492
+
493
+ @info_final
494
+ class RegFromParameter(Parameter):
495
+ """Data model for HIP ``REG_FROM`` parameter."""
496
+
497
+ #: Port.
498
+ port: 'int'
499
+ #: Protocol.
500
+ protocol: 'TransType'
501
+ #: Address.
502
+ address: 'IPv6Address'
503
+
504
+ if TYPE_CHECKING:
505
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', protocol: 'TransType', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
506
+
507
+
508
+ @info_final
509
+ class EchoResponseSignedParameter(Parameter):
510
+ """Data model for HIP ``ECHO_RESPONSE_SIGNED`` parameter."""
511
+
512
+ #: Opaque data.
513
+ opaque: 'bytes'
514
+
515
+ if TYPE_CHECKING:
516
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
517
+
518
+
519
+ @info_final
520
+ class TransportFormatListParameter(Parameter):
521
+ """Data model for HIP ``TRANSPORT_FORMAT_LIST`` parameter."""
522
+
523
+ #: Transport format list.
524
+ tf_type: 'tuple[Enum_Parameter, ...]'
525
+
526
+ if TYPE_CHECKING:
527
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', tf_type: 'tuple[Enum_Parameter, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
528
+
529
+
530
+ @info_final
531
+ class ESPTransformParameter(Parameter):
532
+ """Data model for HIP ``ESP_TRANSFORM`` parameter."""
533
+
534
+ #: ESP transform.
535
+ suite_id: 'tuple[ESPTransformSuite, ...]'
536
+
537
+ if TYPE_CHECKING:
538
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', suite_id: 'tuple[ESPTransformSuite, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
539
+
540
+
541
+ @info_final
542
+ class SeqDataParameter(Parameter):
543
+ """Data model for HIP ``SEQ_DATA`` parameter."""
544
+
545
+ #: Sequence number.
546
+ seq: 'int'
547
+
548
+ if TYPE_CHECKING:
549
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', seq: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
550
+
551
+
552
+ @info_final
553
+ class AckDataParameter(Parameter):
554
+ """Data model for HIP ``ACK_DATA`` parameter."""
555
+
556
+ #: Acknowledged sequence number.
557
+ ack: 'tuple[int, ...]'
558
+
559
+ if TYPE_CHECKING:
560
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', ack: 'tuple[int, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
561
+
562
+
563
+ @info_final
564
+ class PayloadMICParameter(Parameter):
565
+ """Data model for HIP ``PAYLOAD_MIC`` parameter."""
566
+
567
+ #: Next header
568
+ next: 'TransType'
569
+ #: Payload data.
570
+ payload: 'bytes'
571
+ #: MIC value.
572
+ mic: 'bytes'
573
+
574
+ if TYPE_CHECKING:
575
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', next: 'TransType', payload: 'bytes', mic: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
576
+
577
+
578
+ @info_final
579
+ class TransactionIDParameter(Parameter):
580
+ """Data model for HIP ``TRANSACTION_ID`` parameter."""
581
+
582
+ #: Identifier.
583
+ id: 'int'
584
+
585
+ if TYPE_CHECKING:
586
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', id: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
587
+
588
+
589
+ @info_final
590
+ class OverlayIDParameter(Parameter):
591
+ """Data mode HIP ``OVERLAY_ID`` parameter."""
592
+
593
+ #: Identifier.
594
+ id: 'int'
595
+
596
+ if TYPE_CHECKING:
597
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', id: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
598
+
599
+
600
+ @info_final
601
+ class Flags(Data):
602
+ """Data model for flags in HIP ``HIP_PARAMETER_FLAGS`` parameter."""
603
+
604
+ #: Symmetric flag.
605
+ symmetric: 'bool'
606
+ #: Must follow flag.
607
+ must_follow: 'bool'
608
+
609
+ if TYPE_CHECKING:
610
+ def __init__(self, symmetric: 'bool', must_follow: 'bool') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
611
+
612
+
613
+ @info_final
614
+ class RouteDstParameter(Parameter):
615
+ """Data model for HIP ``ROUTE_DST`` parameter."""
616
+
617
+ #: Flags.
618
+ flags: 'Flags'
619
+ #: Destination address.
620
+ hit: 'tuple[IPv6Address, ...]'
621
+
622
+ if TYPE_CHECKING:
623
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', flags: 'Flags', hit: 'tuple[IPv6Address, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
624
+
625
+
626
+ @info_final
627
+ class HIPTransportModeParameter(Parameter):
628
+ """Data model for HIP ``HIP_TRANSPORT_MODE`` parameter."""
629
+
630
+ #: Port.
631
+ port: 'int'
632
+ #: Mode IDs.
633
+ mode_id: 'tuple[Transport, ...]'
634
+
635
+ if TYPE_CHECKING:
636
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', mode_id: 'tuple[Transport, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
637
+
638
+
639
+ @info_final
640
+ class HIPMACParameter(Parameter):
641
+ """Data model for HIP ``HIP_MAC`` parameter."""
642
+
643
+ #: HMAC value.
644
+ hmac: 'bytes'
645
+
646
+ if TYPE_CHECKING:
647
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
648
+
649
+
650
+ @info_final
651
+ class HIPMAC2Parameter(Parameter):
652
+ """Data model for HIP ``HIP_MAC_2`` parameter."""
653
+
654
+ #: HMAC value.
655
+ hmac: 'bytes'
656
+
657
+ if TYPE_CHECKING:
658
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
659
+
660
+
661
+ @info_final
662
+ class HIPSignature2Parameter(Parameter):
663
+ """Data model for HIP ``HIP_SIGNATURE_2`` parameter."""
664
+
665
+ #: Signature algorithm.
666
+ algorithm: 'HIAlgorithm'
667
+ #: Signature value.
668
+ signature: 'bytes'
669
+
670
+ if TYPE_CHECKING:
671
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', algorithm: 'HIAlgorithm', signature: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
672
+
673
+
674
+ @info_final
675
+ class HIPSignatureParameter(Parameter):
676
+ """Data model for HIP ``HIP_SIGNATURE`` parameter."""
677
+
678
+ #: Signature algorithm.
679
+ algorithm: 'HIAlgorithm'
680
+ #: Signature value.
681
+ signature: 'bytes'
682
+
683
+ if TYPE_CHECKING:
684
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', algorithm: 'HIAlgorithm', signature: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
685
+
686
+
687
+ @info_final
688
+ class EchoRequestUnsignedParameter(Parameter):
689
+ """Data model for HIP ``ECHO_REQUEST_UNSIGNED`` parameter."""
690
+
691
+ #: Opaque data.
692
+ opaque: 'bytes'
693
+
694
+ if TYPE_CHECKING:
695
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
696
+
697
+
698
+ @info_final
699
+ class EchoResponseUnsignedParameter(Parameter):
700
+ """Data model for HIP ``ECHO_RESPONSE_UNSIGNED`` parameter."""
701
+
702
+ #: Opaque data.
703
+ opaque: 'bytes'
704
+
705
+ if TYPE_CHECKING:
706
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
707
+
708
+
709
+ @info_final
710
+ class RelayFromParameter(Parameter):
711
+ """Data model for HIP ``RELAY_FROM`` parameter."""
712
+
713
+ #: Port.
714
+ port: 'int'
715
+ #: Protocol.
716
+ protocol: 'TransType'
717
+ #: Address.
718
+ address: 'IPv6Address'
719
+
720
+ if TYPE_CHECKING:
721
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', protocol: 'TransType', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
722
+
723
+
724
+ @info_final
725
+ class RelayToParameter(Parameter):
726
+ """Data model for HIP ``RELAY_TO`` parameter."""
727
+
728
+ #: Port.
729
+ port: 'int'
730
+ #: Protocol.
731
+ protocol: 'TransType'
732
+ #: Address.
733
+ address: 'IPv6Address'
734
+
735
+ if TYPE_CHECKING:
736
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', protocol: 'TransType', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
737
+
738
+
739
+ @info_final
740
+ class OverlayTTLParameter(Parameter):
741
+ """Data model for HIP ``OVERLAY_TTL`` parameter."""
742
+
743
+ #: TTL value.
744
+ ttl: 'timedelta'
745
+
746
+ if TYPE_CHECKING:
747
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', ttl: 'timedelta') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
748
+
749
+
750
+ @info_final
751
+ class RouteViaParameter(Parameter):
752
+ """Data model for HIP ``ROUTE_VIA`` parameter."""
753
+
754
+ #: Flags.
755
+ flags: 'Flags'
756
+ #: HIT addresses.
757
+ hit: 'tuple[IPv6Address, ...]'
758
+
759
+ if TYPE_CHECKING:
760
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', flags: 'Flags', hit: 'tuple[IPv6Address, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
761
+
762
+
763
+ @info_final
764
+ class FromParameter(Parameter):
765
+ """Data model for HIP ``FROM`` parameter."""
766
+
767
+ #: HIT address.
768
+ address: 'IPv6Address'
769
+
770
+ if TYPE_CHECKING:
771
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
772
+
773
+
774
+ @info_final
775
+ class RVSHMACParameter(Parameter):
776
+ """Data model for HIP ``RVS_HMAC`` parameter."""
777
+
778
+ #: HMAC value.
779
+ hmac: 'bytes'
780
+
781
+ if TYPE_CHECKING:
782
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
783
+
784
+
785
+ @info_final
786
+ class ViaRVSParameter(Parameter):
787
+ """Data model for HIP ``VIA_RVS`` parameter."""
788
+
789
+ #: Addresses.
790
+ address: 'tuple[IPv6Address, ...]'
791
+
792
+ if TYPE_CHECKING:
793
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', address: 'tuple[IPv6Address, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
794
+
795
+
796
+ @info_final
797
+ class RelayHMACParameter(Parameter):
798
+ """Data model for HIP ``RELAY_HMAC`` parameter."""
799
+
800
+ #: HMAC value.
801
+ hmac: 'bytes'
802
+
803
+ if TYPE_CHECKING:
804
+ def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long