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,233 @@
1
+ # -*- coding: utf-8 -*-
2
+ # mypy: disable-error-code=assignment
3
+ # pylint: disable=line-too-long,consider-using-f-string
4
+ """Option Types
5
+ ==================
6
+
7
+ .. module:: pcapkit.const.pcapng.option_type
8
+
9
+ This module contains the constant enumeration for **Option Types**,
10
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.option_type.OptionType`.
11
+
12
+ """
13
+ from collections import defaultdict
14
+ from typing import TYPE_CHECKING
15
+
16
+ from aenum import StrEnum, extend_enum
17
+
18
+ __all__ = ['OptionType']
19
+
20
+ if TYPE_CHECKING:
21
+ from typing import Any, DefaultDict, Optional, Type
22
+
23
+
24
+ class OptionType(StrEnum):
25
+ """[OptionType] Option Types"""
26
+
27
+ if TYPE_CHECKING:
28
+ #: Short name of the option type.
29
+ opt_name: 'str'
30
+ #: Numeric value of the option type.
31
+ opt_value: 'int'
32
+
33
+ #: Mapping of members based on namespace.
34
+ __members_ns__: 'DefaultDict[str, dict[int, OptionType]]' = defaultdict(dict)
35
+
36
+ def __new__(cls, value: 'int', name: 'str' = 'opt_unknown') -> 'Type[OptionType]':
37
+ temp = '%s [%d]' % (name, value)
38
+
39
+ obj = str.__new__(cls, temp)
40
+ obj._value_ = temp
41
+
42
+ obj.opt_name = name
43
+ obj.opt_value = value
44
+
45
+ namespace = name.split('_', maxsplit=1)[0]
46
+ cls.__members_ns__[namespace][value] = obj
47
+
48
+ return obj
49
+
50
+ def __repr__(self) -> 'str':
51
+ return "<%s.%s: %d>" % (self.__class__.__name__, self.opt_name, self.opt_value)
52
+
53
+ def __str__(self) -> 'str':
54
+ return '%s [%d]' % (self.opt_name, self.opt_value)
55
+
56
+ def __int__(self) -> 'int':
57
+ return self.opt_value
58
+
59
+ def __lt__(self, other: 'OptionType') -> 'bool':
60
+ return self.opt_value < other
61
+
62
+ def __gt__(self, other: 'OptionType') -> 'bool':
63
+ return self.opt_value > other
64
+
65
+ def __le__(self, other: 'OptionType') -> 'bool':
66
+ return self.opt_value <= other
67
+
68
+ def __ge__(self, other: 'OptionType') -> 'bool':
69
+ return self.opt_value >= other
70
+
71
+ def __eq__(self, other: 'Any') -> 'bool':
72
+ return self.opt_value == other
73
+
74
+ def __ne__(self, other: 'Any') -> 'bool':
75
+ return self.opt_value != other
76
+
77
+ def __hash__(self) -> 'int':
78
+ return hash(self.opt_value)
79
+
80
+ #: opt_endofopt
81
+ opt_endofopt: 'OptionType' = 0, 'opt_endofopt'
82
+
83
+ #: opt_comment
84
+ opt_comment: 'OptionType' = 1, 'opt_comment'
85
+
86
+ #: opt_custom
87
+ opt_custom_2988: 'OptionType' = 2988, 'opt_custom'
88
+
89
+ #: opt_custom
90
+ opt_custom_2989: 'OptionType' = 2989, 'opt_custom'
91
+
92
+ #: opt_custom
93
+ opt_custom_19372: 'OptionType' = 19372, 'opt_custom'
94
+
95
+ #: opt_custom
96
+ opt_custom_19373: 'OptionType' = 19373, 'opt_custom'
97
+
98
+ #: if_name
99
+ if_name: 'OptionType' = 2, 'if_name'
100
+
101
+ #: if_description
102
+ if_description: 'OptionType' = 3, 'if_description'
103
+
104
+ #: if_IPv4addr
105
+ if_IPv4addr: 'OptionType' = 4, 'if_IPv4addr'
106
+
107
+ #: if_IPv6addr
108
+ if_IPv6addr: 'OptionType' = 5, 'if_IPv6addr'
109
+
110
+ #: if_MACaddr
111
+ if_MACaddr: 'OptionType' = 6, 'if_MACaddr'
112
+
113
+ #: if_EUIaddr
114
+ if_EUIaddr: 'OptionType' = 7, 'if_EUIaddr'
115
+
116
+ #: if_speed
117
+ if_speed: 'OptionType' = 8, 'if_speed'
118
+
119
+ #: if_tsresol
120
+ if_tsresol: 'OptionType' = 9, 'if_tsresol'
121
+
122
+ #: if_tzone
123
+ if_tzone: 'OptionType' = 10, 'if_tzone'
124
+
125
+ #: if_filter
126
+ if_filter: 'OptionType' = 11, 'if_filter'
127
+
128
+ #: if_os
129
+ if_os: 'OptionType' = 12, 'if_os'
130
+
131
+ #: if_fcslen
132
+ if_fcslen: 'OptionType' = 13, 'if_fcslen'
133
+
134
+ #: if_tsoffset
135
+ if_tsoffset: 'OptionType' = 14, 'if_tsoffset'
136
+
137
+ #: if_hardware
138
+ if_hardware: 'OptionType' = 15, 'if_hardware'
139
+
140
+ #: if_txspeed
141
+ if_txspeed: 'OptionType' = 16, 'if_txspeed'
142
+
143
+ #: if_rxspeed
144
+ if_rxspeed: 'OptionType' = 17, 'if_rxspeed'
145
+
146
+ #: epb_flags
147
+ epb_flags: 'OptionType' = 2, 'epb_flags'
148
+
149
+ #: epb_hash
150
+ epb_hash: 'OptionType' = 3, 'epb_hash'
151
+
152
+ #: epb_dropcount
153
+ epb_dropcount: 'OptionType' = 4, 'epb_dropcount'
154
+
155
+ #: epb_packetid
156
+ epb_packetid: 'OptionType' = 5, 'epb_packetid'
157
+
158
+ #: epb_queue
159
+ epb_queue: 'OptionType' = 6, 'epb_queue'
160
+
161
+ #: epb_verdict
162
+ epb_verdict: 'OptionType' = 7, 'epb_verdict'
163
+
164
+ #: ns_dnsname
165
+ ns_dnsname: 'OptionType' = 2, 'ns_dnsname'
166
+
167
+ #: ns_dnsIP4addr
168
+ ns_dnsIP4addr: 'OptionType' = 3, 'ns_dnsIP4addr'
169
+
170
+ #: ns_dnsIP6addr
171
+ ns_dnsIP6addr: 'OptionType' = 4, 'ns_dnsIP6addr'
172
+
173
+ #: isb_starttime
174
+ isb_starttime: 'OptionType' = 2, 'isb_starttime'
175
+
176
+ #: isb_endtime
177
+ isb_endtime: 'OptionType' = 3, 'isb_endtime'
178
+
179
+ #: isb_ifrecv
180
+ isb_ifrecv: 'OptionType' = 4, 'isb_ifrecv'
181
+
182
+ #: isb_ifdrop
183
+ isb_ifdrop: 'OptionType' = 5, 'isb_ifdrop'
184
+
185
+ #: isb_filteraccept
186
+ isb_filteraccept: 'OptionType' = 6, 'isb_filteraccept'
187
+
188
+ #: isb_osdrop
189
+ isb_osdrop: 'OptionType' = 7, 'isb_osdrop'
190
+
191
+ #: isb_usrdeliv
192
+ isb_usrdeliv: 'OptionType' = 8, 'isb_usrdeliv'
193
+
194
+ #: pack_flags
195
+ pack_flags: 'OptionType' = 2, 'pack_flags'
196
+
197
+ #: pack_hash
198
+ pack_hash: 'OptionType' = 3, 'pack_hash'
199
+
200
+ @staticmethod
201
+ def get(key: 'int | str', default: 'int' = -1, *, namespace: 'str' = 'opt') -> 'OptionType':
202
+ """Backport support for original codes.
203
+
204
+ Args:
205
+ key: Key to get enum item.
206
+ default: Default value if not found.
207
+ namespace: Namespace of the enum item.
208
+
209
+ :meta private:
210
+ """
211
+ if isinstance(key, int):
212
+ temp_ns = OptionType.__members_ns__.get('opt', {}).copy()
213
+ temp_ns.update(OptionType.__members_ns__.get(namespace, {}))
214
+ if key in temp_ns:
215
+ return temp_ns[key]
216
+ return extend_enum(OptionType, '%s_unknown_%d' % (namespace, key), key, '%s_unknown' % namespace)
217
+ if key in OptionType.__members__:
218
+ return getattr(OptionType, key)
219
+ return extend_enum(OptionType, key, default, key)
220
+
221
+ @classmethod
222
+ def _missing_(cls, value: 'int') -> 'OptionType':
223
+ """Lookup function used when value is not found.
224
+
225
+ Args:
226
+ value: Value to get enum item.
227
+
228
+ """
229
+ if not (isinstance(value, int) and 0 <= value <= 0xFFFF):
230
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
231
+ if value in cls.__members_ns__.get('opt', {}):
232
+ return cls.__members_ns__['opt'][value]
233
+ return extend_enum(cls, 'opt_unknown_%d' % value, value, 'opt_unknown')
@@ -0,0 +1,57 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Record Types
4
+ ==================
5
+
6
+ .. module:: pcapkit.const.pcapng.record_type
7
+
8
+ This module contains the constant enumeration for **Record Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.record_type.RecordType`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['RecordType']
16
+
17
+
18
+ class RecordType(IntEnum):
19
+ """[RecordType] Record Types"""
20
+
21
+ #: nrb_record_end
22
+ nrb_record_end = 0x0000
23
+
24
+ #: nrb_record_ipv4
25
+ nrb_record_ipv4 = 0x0001
26
+
27
+ #: nrb_record_ipv6
28
+ nrb_record_ipv6 = 0x0002
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'RecordType':
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 RecordType(key)
42
+ if key not in RecordType._member_map_: # pylint: disable=no-member
43
+ return extend_enum(RecordType, key, default)
44
+ return RecordType[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'RecordType':
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 <= 0xFFFF):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ extend_enum(cls, 'Unassigned_0x%04x' % value, value)
57
+ return cls(value)
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Secrets Types
4
+ ===================
5
+
6
+ .. module:: pcapkit.const.pcapng.secrets_type
7
+
8
+ This module contains the constant enumeration for **Secrets Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.secrets_type.SecretsType`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['SecretsType']
16
+
17
+
18
+ class SecretsType(IntEnum):
19
+ """[SecretsType] Secrets Types"""
20
+
21
+ TLS_Key_Log = 0x544c534b
22
+
23
+ WireGuard_Key_Log = 0x57474b4c
24
+
25
+ ZigBee_NWK_Key = 0x5a4e574b
26
+
27
+ ZigBee_APS_Key = 0x5a415053
28
+
29
+ @staticmethod
30
+ def get(key: 'int | str', default: 'int' = -1) -> 'SecretsType':
31
+ """Backport support for original codes.
32
+
33
+ Args:
34
+ key: Key to get enum item.
35
+ default: Default value if not found.
36
+
37
+ :meta private:
38
+ """
39
+ if isinstance(key, int):
40
+ return SecretsType(key)
41
+ if key not in SecretsType._member_map_: # pylint: disable=no-member
42
+ return extend_enum(SecretsType, key, default)
43
+ return SecretsType[key] # type: ignore[misc]
44
+
45
+ @classmethod
46
+ def _missing_(cls, value: 'int') -> 'SecretsType':
47
+ """Lookup function used when value is not found.
48
+
49
+ Args:
50
+ value: Value to get enum item.
51
+
52
+ """
53
+ if not (isinstance(value, int) and 0x00000000 <= value <= 0xFFFFFFFF):
54
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
55
+ extend_enum(cls, 'Unassigned_0x%08x' % value, value)
56
+ return cls(value)
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Verdict Types
4
+ ===================
5
+
6
+ .. module:: pcapkit.const.pcapng.verdict_type
7
+
8
+ This module contains the constant enumeration for **Verdict Types**,
9
+ which is automatically generated from :class:`pcapkit.vendor.pcapng.verdict_type.VerdictType`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['VerdictType']
16
+
17
+
18
+ class VerdictType(IntEnum):
19
+ """[VerdictType] Verdict Types"""
20
+
21
+ Hardware = 0
22
+
23
+ Linux_eBPF_TC = 1
24
+
25
+ Linux_eBPF_XDP = 2
26
+
27
+ @staticmethod
28
+ def get(key: 'int | str', default: 'int' = -1) -> 'VerdictType':
29
+ """Backport support for original codes.
30
+
31
+ Args:
32
+ key: Key to get enum item.
33
+ default: Default value if not found.
34
+
35
+ :meta private:
36
+ """
37
+ if isinstance(key, int):
38
+ return VerdictType(key)
39
+ if key not in VerdictType._member_map_: # pylint: disable=no-member
40
+ return extend_enum(VerdictType, key, default)
41
+ return VerdictType[key] # type: ignore[misc]
42
+
43
+ @classmethod
44
+ def _missing_(cls, value: 'int') -> 'VerdictType':
45
+ """Lookup function used when value is not found.
46
+
47
+ Args:
48
+ value: Value to get enum item.
49
+
50
+ """
51
+ if not (isinstance(value, int) and 0x00 <= value <= 0xFF):
52
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
53
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
@@ -0,0 +1,34 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=unused-import
3
+ """Protocol Type Registry Constant Enumerations
4
+ ==================================================
5
+
6
+ .. module:: pcapkit.const.reg
7
+
8
+ This module contains all constant enumerations of protocol type registry
9
+ implementations. Available enumerations include:
10
+
11
+ .. list-table::
12
+
13
+ * - :class:`LINKTYPE <pcapkit.const.reg.linktype.LinkType>`
14
+ - Link-Layer Header Type Values [*]_
15
+ * - :class:`ETHERTYPE <pcapkit.const.reg.ethertype.EtherType>`
16
+ - Ethertype IEEE 802 Numbers [*]_
17
+ * - :class:`TRANSTYPE <pcapkit.const.reg.transtype.TransType>`
18
+ - Transport Layer Protocol Numbers [*]_
19
+ * - :class:`APPTYPE <pcapkit.const.reg.apptype.AppType>`
20
+ - Application Layer Protocol Numbers (Service Name and Transport Protocol Port Number Registry) [*]_
21
+
22
+ .. [*] http://www.tcpdump.org/linktypes.html
23
+ .. [*] https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml#ieee-802-numbers-1
24
+ .. [*] https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml#protocol-numbers-1
25
+ .. [*] https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?
26
+
27
+ """
28
+
29
+ from pcapkit.const.reg.apptype import AppType as APPTYPE
30
+ from pcapkit.const.reg.ethertype import EtherType as ETHERTYPE
31
+ from pcapkit.const.reg.linktype import LinkType as LINKTYPE
32
+ from pcapkit.const.reg.transtype import TransType as TRANSTYPE
33
+
34
+ __all__ = ['ETHERTYPE', 'LINKTYPE', 'TRANSTYPE', 'APPTYPE']