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,192 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=unused-wildcard-import
3
+ """data models for protocols"""
4
+
5
+ # Base Class for Data Models
6
+ from pcapkit.protocols.data.data import *
7
+
8
+ # Base Class for Protocols
9
+ from pcapkit.protocols.data.protocol import *
10
+
11
+ # Link Layer Protocols
12
+ from pcapkit.protocols.data.link import *
13
+
14
+ # Internet Layer Protocols
15
+ from pcapkit.protocols.data.internet import *
16
+
17
+ # Transport Layer Protocols
18
+ from pcapkit.protocols.data.transport import *
19
+
20
+ # Application Layer Protocols
21
+ from pcapkit.protocols.data.application import *
22
+
23
+ # Utility Classes for Protocols
24
+ from pcapkit.protocols.data.misc import *
25
+
26
+ __all__ = [
27
+ # Packet data
28
+ 'Packet',
29
+
30
+ # PCAP file headers
31
+ 'PCAP_Header', 'PCAP_MagicNumber',
32
+ 'PCAP_Frame', 'PCAP_FrameInfo',
33
+
34
+ # PCAP-NG file format
35
+ 'PCAPNG',
36
+ 'PCAPNG_Option', 'PCAPNG_UnknownOption',
37
+ 'PCAPNG_EndOfOption', 'PCAPNG_CommentOption', 'PCAPNG_CustomOption',
38
+ 'PCAPNG_IF_NameOption', 'PCAPNG_IF_DescriptionOption', 'PCAPNG_IF_IPv4AddrOption', 'PCAPNG_IF_IPv6AddrOption',
39
+ 'PCAPNG_IF_MACAddrOption', 'PCAPNG_IF_EUIAddrOption', 'PCAPNG_IF_SpeedOption', 'PCAPNG_IF_TSResolOption',
40
+ 'PCAPNG_IF_TZoneOption', 'PCAPNG_IF_FilterOption', 'PCAPNG_IF_OSOption', 'PCAPNG_IF_FCSLenOption',
41
+ 'PCAPNG_IF_TSOffsetOption', 'PCAPNG_IF_HardwareOption', 'PCAPNG_IF_TxSpeedOption', 'PCAPNG_IF_RxSpeedOption',
42
+ 'PCAPNG_EPB_FlagsOption', 'PCAPNG_EPB_HashOption', 'PCAPNG_EPB_DropCountOption', 'PCAPNG_EPB_PacketIDOption',
43
+ 'PCAPNG_EPB_QueueOption', 'PCAPNG_EPB_VerdictOption',
44
+ 'PCAPNG_NS_DNSNameOption', 'PCAPNG_NS_DNSIP4AddrOption', 'PCAPNG_NS_DNSIP6AddrOption',
45
+ 'PCAPNG_ISB_StartTimeOption', 'PCAPNG_ISB_EndTimeOption', 'PCAPNG_ISB_IFRecvOption', 'PCAPNG_ISB_IFDropOption',
46
+ 'PCAPNG_ISB_FilterAcceptOption', 'PCAPNG_ISB_OSDropOption', 'PCAPNG_ISB_UsrDelivOption',
47
+ 'PCAPNG_NameResolutionRecord', 'PCAPNG_UnknownRecord', 'PCAPNG_EndRecord', 'PCAPNG_IPv4Record', 'PCAPNG_IPv6Record',
48
+ 'PCAPNG_DSBSecrets', 'PCAPNG_UnknownSecrets', 'PCAPNG_TLSKeyLog', 'PCAPNG_WireGuardKeyLog', 'PCAPNG_ZigBeeNWKKey',
49
+ 'PCAPNG_ZigBeeAPSKey',
50
+ 'PCAPNG_UnknownBlock', 'PCAPNG_SectionHeaderBlock', 'PCAPNG_InterfaceDescriptionBlock',
51
+ 'PCAPNG_EnhancedPacketBlock', 'PCAPNG_SimplePacketBlock', 'PCAPNG_NameResolutionBlock',
52
+ 'PCAPNG_InterfaceStatisticsBlock', 'PCAPNG_SystemdJournalExportBlock', 'PCAPNG_DecryptionSecretsBlock',
53
+ 'PCAPNG_CustomBlock',
54
+
55
+ # Address Resolution Protocol
56
+ 'ARP', 'ARP_Address', 'ARP_Type',
57
+
58
+ # Ethernet Protocol
59
+ 'Ethernet',
60
+
61
+ # Open Shortest Path First
62
+ 'OSPF', 'OSPF_CrytographicAuthentication',
63
+
64
+ # 802.1Q Customer VLAN Tag Type
65
+ 'VLAN', 'VLAN_TCI',
66
+
67
+ # Authentication Header
68
+ 'AH',
69
+
70
+ # Host Identity Protocol
71
+ 'HIP', 'HIP_Control',
72
+ 'HIP_LocatorData', 'HIP_Locator', 'HIP_HostIdentity', 'HIP_Lifetime', 'HIP_Flags',
73
+ 'HIP_UnassignedParameter', 'HIP_ESPInfoParameter', 'HIP_R1CounterParameter',
74
+ 'HIP_LocatorSetParameter', 'HIP_PuzzleParameter', 'HIP_SolutionParameter',
75
+ 'HIP_SEQParameter', 'HIP_ACKParameter', 'HIP_DHGroupListParameter',
76
+ 'HIP_DiffieHellmanParameter', 'HIP_HIPTransformParameter', 'HIP_HIPCipherParameter',
77
+ 'HIP_NATTraversalModeParameter', 'HIP_TransactionPacingParameter', 'HIP_EncryptedParameter',
78
+ 'HIP_HostIDParameter', 'HIP_HITSuiteListParameter', 'HIP_CertParameter',
79
+ 'HIP_NotificationParameter', 'HIP_EchoRequestSignedParameter', 'HIP_RegInfoParameter',
80
+ 'HIP_RegRequestParameter', 'HIP_RegResponseParameter', 'HIP_RegFailedParameter',
81
+ 'HIP_RegFromParameter', 'HIP_EchoResponseSignedParameter', 'HIP_TransportFormatListParameter',
82
+ 'HIP_ESPTransformParameter', 'HIP_SeqDataParameter', 'HIP_AckDataParameter',
83
+ 'HIP_PayloadMICParameter', 'HIP_TransactionIDParameter', 'HIP_OverlayIDParameter',
84
+ 'HIP_RouteDstParameter', 'HIP_HIPTransportModeParameter', 'HIP_HIPMACParameter',
85
+ 'HIP_HIPMAC2Parameter', 'HIP_HIPSignature2Parameter', 'HIP_HIPSignatureParameter',
86
+ 'HIP_EchoRequestUnsignedParameter', 'HIP_EchoResponseUnsignedParameter', 'HIP_RelayFromParameter',
87
+ 'HIP_RelayToParameter', 'HIP_RouteViaParameter', 'HIP_FromParameter',
88
+ 'HIP_RVSHMACParameter', 'HIP_RelayHMACParameter',
89
+
90
+ # Hop-by-Hop Options
91
+ 'HOPOPT',
92
+ 'HOPOPT_RPLFlags', 'HOPOPT_MPLFlags', 'HOPOPT_DFFFlags',
93
+ 'HOPOPT_UnassignedOption', 'HOPOPT_PadOption', 'HOPOPT_TunnelEncapsulationLimitOption',
94
+ 'HOPOPT_RouterAlertOption', 'HOPOPT_CALIPSOOption', 'HOPOPT_SMFIdentificationBasedDPDOption',
95
+ 'HOPOPT_SMFHashBasedDPDOption', 'HOPOPT_PDMOption', 'HOPOPT_QuickStartOption',
96
+ 'HOPOPT_RPLOption', 'HOPOPT_MPLOption', 'HOPOPT_ILNPOption',
97
+ 'HOPOPT_LineIdentificationOption', 'HOPOPT_JumboPayloadOption', 'HOPOPT_HomeAddressOption',
98
+ 'HOPOPT_IPDFFOption',
99
+
100
+ # Internet Protocol version 4
101
+ 'IPv4',
102
+ 'IPv4_ToSField', 'IPv4_Flags',
103
+ 'IPv4_OptionType',
104
+ 'IPv4_UnassignedOption', 'IPv4_EOOLOption', 'IPv4_NOPOption',
105
+ 'IPv4_SECOption', 'IPv4_LSROption', 'IPv4_TSOption',
106
+ 'IPv4_ESECOption', 'IPv4_RROption', 'IPv4_SIDOption',
107
+ 'IPv4_SSROption', 'IPv4_MTUPOption', 'IPv4_MTUROption',
108
+ 'IPv4_TROption', 'IPv4_RTRALTOption', 'IPv4_QSOption',
109
+ 'IPv4_QuickStartRequestOption', 'IPv4_QuickStartReportOption',
110
+
111
+ # IPv6 Fragment Header
112
+ 'IPv6_Frag',
113
+
114
+ # IPv6 Destination Options Header
115
+ 'IPv6_Opts',
116
+ 'IPv6_Opts_RPLFlags', 'IPv6_Opts_MPLFlags', 'IPv6_Opts_DFFFlags',
117
+ 'IPv6_Opts_UnassignedOption', 'IPv6_Opts_PadOption', 'IPv6_Opts_TunnelEncapsulationLimitOption',
118
+ 'IPv6_Opts_RouterAlertOption', 'IPv6_Opts_CALIPSOOption', 'IPv6_Opts_SMFIdentificationBasedDPDOption',
119
+ 'IPv6_Opts_SMFHashBasedDPDOption', 'IPv6_Opts_PDMOption', 'IPv6_Opts_QuickStartRequestOption',
120
+ 'IPv6_Opts_QuickStartReportOption', 'IPv6_Opts_RPLOption', 'IPv6_Opts_MPLOption', 'IPv6_Opts_ILNPOption',
121
+ 'IPv6_Opts_LineIdentificationOption', 'IPv6_Opts_JumboPayloadOption', 'IPv6_Opts_HomeAddressOption',
122
+ 'IPv6_Opts_IPDFFOption',
123
+
124
+ # IPv6 Routing Header
125
+ 'IPv6_Route',
126
+ 'IPv6_Route_UnknownType', 'IPv6_Route_SourceRoute', 'IPv6_Route_Type2', 'IPv6_Route_RPL',
127
+
128
+ # Internet Protocol version 6
129
+ 'IPv6',
130
+
131
+ # Internetwork Packet Exchange
132
+ 'IPX',
133
+ 'IPX_Address',
134
+
135
+ # Mobility Header
136
+ 'MH',
137
+ 'MH_UnknownMessage', 'MH_BindingRefreshRequestMessage', 'MH_HomeTestInitMessage', 'MH_CareofTestInitMessage',
138
+ 'MH_HomeTestMessage', 'MH_CareofTestMessage', 'MH_BindingUpdateMessage', 'MH_BindingAcknowledgementMessage',
139
+ 'MH_BindingErrorMessage',
140
+ 'MH_Option',
141
+ 'MH_UnassignedOption', 'MH_PadOption', 'MH_BindingRefreshAdviceOption', 'MH_AlternateCareofAddressOption',
142
+ 'MH_NonceIndicesOption', 'MH_AuthorizationDataOption', 'MH_MobileNetworkPrefixOption',
143
+ 'MH_LinkLayerAddressOption', 'MH_MNIDOption', 'MH_AuthOption', 'MH_MesgIDOption', 'MH_CGAParametersRequestOption',
144
+ 'MH_CGAParametersOption', 'MH_SignatureOption', 'MH_PermanentHomeKeygenTokenOption', 'MH_CareofTestInitOption',
145
+ 'MH_CareofTestOption',
146
+ 'MH_CGAParameter',
147
+ 'MH_CGAExtension',
148
+ 'MH_UnknownExtension', 'MH_MultiPrefixExtension',
149
+
150
+ # Transmission Control Protocol
151
+ 'TCP',
152
+ 'TCP_Flags', 'TCP_SACKBlock',
153
+ 'TCP_Option',
154
+ 'TCP_UnassignedOption', 'TCP_EndOfOptionList', 'TCP_NoOperation', 'TCP_MaximumSegmentSize', 'TCP_WindowScale',
155
+ 'TCP_SACKPermitted', 'TCP_SACK', 'TCP_Echo', 'TCP_EchoReply', 'TCP_Timestamps', 'TCP_PartialOrderConnectionPermitted', # pylint: disable=line-too-long
156
+ 'TCP_PartialOrderServiceProfile', 'TCP_CC', 'TCP_CCNew', 'TCP_CCEcho', 'TCP_AlternateChecksumRequest',
157
+ 'TCP_AlternateChecksumData', 'TCP_MD5Signature', 'TCP_QuickStartResponse', 'TCP_UserTimeout',
158
+ 'TCP_Authentication', 'TCP_FastOpenCookie',
159
+ 'TCP_MPTCPCapableFlag',
160
+ 'TCP_MPTCP',
161
+ 'TCP_MPTCPUnknown', 'TCP_MPTCPCapable', 'TCP_MPTCPDSS', 'TCP_MPTCPAddAddress', 'TCP_MPTCPRemoveAddress',
162
+ 'TCP_MPTCPPriority', 'TCP_MPTCPFallback', 'TCP_MPTCPFastclose',
163
+ 'TCP_MPTCPJoin',
164
+ 'TCP_MPTCPJoinSYN', 'TCP_MPTCPJoinSYNACK', 'TCP_MPTCPJoinACK',
165
+
166
+ # User Datagram Protocol
167
+ 'UDP',
168
+
169
+ # File Transfer Protocol
170
+ 'FTP',
171
+ 'FTP_Request', 'FTP_Response',
172
+
173
+ # Hypertext Transfer Protocol (HTTP/1.*)
174
+ 'HTTPv1',
175
+ 'HTTPv1_Header',
176
+ 'HTTPv1_RequestHeader', 'HTTPv1_ResponseHeader',
177
+
178
+ # Hypertext Transfer Protocol (HTTP/2)
179
+ 'HTTPv2',
180
+ 'HTTPv2_Flags',
181
+ 'HTTPv2_DataFrameFlags', 'HTTPv2_HeadersFrameFlags', 'HTTPv2_SettingsFrameFlags',
182
+ 'HTTPv2_PushPromiseFrameFlags', 'HTTPv2_PingFrameFlags', 'HTTPv2_ContinuationFrameFlags',
183
+ 'HTTPv2_UnassignedFrame', 'HTTPv2_DataFrame', 'HTTPv2_HeadersFrame', 'HTTPv2_PriorityFrame',
184
+ 'HTTPv2_RSTStreamFrame', 'HTTPv2_SettingsFrame', 'HTTPv2_PushPromiseFrame', 'HTTPv2_PingFrame',
185
+ 'HTTPv2_GoawayFrame', 'HTTPv2_WindowUpdateFrame', 'HTTPv2_ContinuationFrame',
186
+
187
+ # No Payload
188
+ 'NoPayload',
189
+
190
+ # Raw Packet
191
+ 'Raw',
192
+ ]
@@ -0,0 +1,57 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for application layer protocols"""
3
+
4
+ # File Transfer Protocol
5
+ from pcapkit.protocols.data.application.ftp import FTP
6
+ from pcapkit.protocols.data.application.ftp import Request as FTP_Request
7
+ from pcapkit.protocols.data.application.ftp import Response as FTP_Response
8
+
9
+ # Hypertext Transfer Protocol (HTTP/1.*)
10
+ from pcapkit.protocols.data.application.httpv1 import HTTP as HTTPv1
11
+ from pcapkit.protocols.data.application.httpv1 import Header as HTTPv1_Header
12
+ from pcapkit.protocols.data.application.httpv1 import RequestHeader as HTTPv1_RequestHeader
13
+ from pcapkit.protocols.data.application.httpv1 import ResponseHeader as HTTPv1_ResponseHeader
14
+
15
+ # Hypertext Transfer Protocol (HTTP/2)
16
+ from pcapkit.protocols.data.application.httpv2 import HTTP as HTTPv2
17
+ from pcapkit.protocols.data.application.httpv2 import ContinuationFrame as HTTPv2_ContinuationFrame
18
+ from pcapkit.protocols.data.application.httpv2 import \
19
+ ContinuationFrameFlags as HTTPv2_ContinuationFrameFlags
20
+ from pcapkit.protocols.data.application.httpv2 import DataFrame as HTTPv2_DataFrame
21
+ from pcapkit.protocols.data.application.httpv2 import DataFrameFlags as HTTPv2_DataFrameFlags
22
+ from pcapkit.protocols.data.application.httpv2 import Flags as HTTPv2_Flags
23
+ from pcapkit.protocols.data.application.httpv2 import GoawayFrame as HTTPv2_GoawayFrame
24
+ from pcapkit.protocols.data.application.httpv2 import HeadersFrame as HTTPv2_HeadersFrame
25
+ from pcapkit.protocols.data.application.httpv2 import HeadersFrameFlags as HTTPv2_HeadersFrameFlags
26
+ from pcapkit.protocols.data.application.httpv2 import PingFrame as HTTPv2_PingFrame
27
+ from pcapkit.protocols.data.application.httpv2 import PingFrameFlags as HTTPv2_PingFrameFlags
28
+ from pcapkit.protocols.data.application.httpv2 import PriorityFrame as HTTPv2_PriorityFrame
29
+ from pcapkit.protocols.data.application.httpv2 import PushPromiseFrame as HTTPv2_PushPromiseFrame
30
+ from pcapkit.protocols.data.application.httpv2 import \
31
+ PushPromiseFrameFlags as HTTPv2_PushPromiseFrameFlags
32
+ from pcapkit.protocols.data.application.httpv2 import RSTStreamFrame as HTTPv2_RSTStreamFrame
33
+ from pcapkit.protocols.data.application.httpv2 import SettingsFrame as HTTPv2_SettingsFrame
34
+ from pcapkit.protocols.data.application.httpv2 import \
35
+ SettingsFrameFlags as HTTPv2_SettingsFrameFlags
36
+ from pcapkit.protocols.data.application.httpv2 import UnassignedFrame as HTTPv2_UnassignedFrame
37
+ from pcapkit.protocols.data.application.httpv2 import WindowUpdateFrame as HTTPv2_WindowUpdateFrame
38
+
39
+ __all__ = [
40
+ # File Transfer Protocol
41
+ 'FTP',
42
+ 'FTP_Request', 'FTP_Response',
43
+
44
+ # Hypertext Transfer Protocol (HTTP/1.*)
45
+ 'HTTPv1',
46
+ 'HTTPv1_Header',
47
+ 'HTTPv1_RequestHeader', 'HTTPv1_ResponseHeader',
48
+
49
+ # Hypertext Transfer Protocol (HTTP/2)
50
+ 'HTTPv2',
51
+ 'HTTPv2_Flags',
52
+ 'HTTPv2_DataFrameFlags', 'HTTPv2_HeadersFrameFlags', 'HTTPv2_SettingsFrameFlags',
53
+ 'HTTPv2_PushPromiseFrameFlags', 'HTTPv2_PingFrameFlags', 'HTTPv2_ContinuationFrameFlags',
54
+ 'HTTPv2_UnassignedFrame', 'HTTPv2_DataFrame', 'HTTPv2_HeadersFrame', 'HTTPv2_PriorityFrame',
55
+ 'HTTPv2_RSTStreamFrame', 'HTTPv2_SettingsFrame', 'HTTPv2_PushPromiseFrame', 'HTTPv2_PingFrame',
56
+ 'HTTPv2_GoawayFrame', 'HTTPv2_WindowUpdateFrame', 'HTTPv2_ContinuationFrame',
57
+ ]
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for FTP protocol"""
3
+
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pcapkit.corekit.infoclass import info_final
8
+ from pcapkit.protocols.data.protocol import Protocol
9
+
10
+ if TYPE_CHECKING:
11
+ from typing_extensions import Literal
12
+
13
+ from pcapkit.const.ftp.command import Command
14
+ from pcapkit.const.ftp.return_code import ReturnCode
15
+ from pcapkit.protocols.application.ftp import Type as FTP_Type
16
+
17
+ __all__ = [
18
+ 'FTP',
19
+ 'Request', 'Response',
20
+ ]
21
+
22
+
23
+ class FTP(Protocol):
24
+ """Data model for FTP protocol."""
25
+
26
+ #: Type.
27
+ type: 'FTP_Type'
28
+
29
+
30
+ @info_final
31
+ class Request(FTP):
32
+ """Data model for FTP request."""
33
+
34
+ #: Type.
35
+ type: 'Literal[FTP_Type.REQUEST]'
36
+ #: Command.
37
+ cmmd: 'Command'
38
+ #: Arguments.
39
+ args: 'str'
40
+
41
+ if TYPE_CHECKING:
42
+ def __init__(self, type: 'Literal[FTP_Type.REQUEST]', cmmd: 'Command', args: 'str') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
43
+
44
+
45
+ @info_final
46
+ class Response(FTP):
47
+ """Data model for FTP response."""
48
+
49
+ #: Type.
50
+ type: 'Literal[FTP_Type.RESPONSE]'
51
+ #: Return code.
52
+ code: 'ReturnCode'
53
+ #: Arguments.
54
+ args: 'str'
55
+ #: More data flag.
56
+ more: 'bool'
57
+
58
+ if TYPE_CHECKING:
59
+ def __init__(self, type: 'Literal[FTP_Type.RESPONSE]', code: 'ReturnCode', args: 'str', more: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
@@ -0,0 +1,79 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data model for HTTP/1.* 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 typing import Any
12
+
13
+ from pcapkit.const.http.method import Method as Enum_Method
14
+ from pcapkit.const.http.status_code import StatusCode as Enum_StatusCode
15
+ from pcapkit.corekit.multidict import OrderedMultiDict
16
+ from pcapkit.protocols.application.httpv1 import Type as HTTP_Type
17
+
18
+ __all__ = [
19
+ 'HTTP',
20
+
21
+ 'Header',
22
+ 'RequestHeader', 'ResponseHeader',
23
+ ]
24
+
25
+
26
+ @info_final
27
+ class HTTP(Protocol):
28
+ """Data model for HTTP/1.* protocol."""
29
+
30
+ #: HTTP receipt.
31
+ receipt: 'Header'
32
+ #: HTTP header.
33
+ header: 'OrderedMultiDict[str, str]'
34
+ #: HTTP body.
35
+ body: 'Any'
36
+
37
+ if TYPE_CHECKING:
38
+ def __init__(self, receipt: 'Header', header: 'OrderedMultiDict[str, str]', body: 'Any') -> None: ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
39
+
40
+
41
+ class Header(Data):
42
+ """Data model for HTTP/1.* header line."""
43
+
44
+ #: Receipt type.
45
+ type: 'HTTP_Type'
46
+
47
+
48
+ @info_final
49
+ class RequestHeader(Header):
50
+ """Data model for HTTP/1.* request header line."""
51
+
52
+ #: HTTP request header line.
53
+ type: 'HTTP_Type'
54
+ #: HTTP method.
55
+ method: 'Enum_Method'
56
+ #: HTTP request URI.
57
+ uri: 'str'
58
+ #: HTTP request version.
59
+ version: 'str'
60
+
61
+ if TYPE_CHECKING:
62
+ def __init__(self, type: 'HTTP_Type', method: 'Enum_Method', uri: 'str', version: 'str') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
63
+
64
+
65
+ @info_final
66
+ class ResponseHeader(Header):
67
+ """Data model for HTTP/1.* response header line."""
68
+
69
+ #: HTTP response header line.
70
+ type: 'HTTP_Type'
71
+ #: HTTP response version.
72
+ version: 'str'
73
+ #: HTTP response status.
74
+ status: 'Enum_StatusCode'
75
+ #: HTTP response status message.
76
+ message: 'str'
77
+
78
+ if TYPE_CHECKING:
79
+ def __init__(self, type: 'HTTP_Type', version: 'str', status: 'Enum_StatusCode', message: 'str') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
@@ -0,0 +1,293 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data model for HTTP/2 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 typing import Optional
12
+
13
+ from typing_extensions import Literal
14
+
15
+ from pcapkit.const.http.error_code import ErrorCode
16
+ from pcapkit.const.http.frame import Frame
17
+ from pcapkit.const.http.setting import Setting
18
+ from pcapkit.corekit.multidict import OrderedMultiDict
19
+ from pcapkit.protocols.schema.application.httpv2 import FrameType
20
+
21
+ __all__ = [
22
+ 'HTTP',
23
+
24
+ 'Flags',
25
+ 'DataFrameFlags', 'HeadersFrameFlags', 'SettingsFrameFlags',
26
+ 'PushPromiseFrameFlags', 'PingFrameFlags', 'ContinuationFrameFlags',
27
+
28
+ 'UnassignedFrame', 'DataFrame', 'HeadersFrame', 'PriorityFrame',
29
+ 'RSTStreamFrame', 'SettingsFrame', 'PushPromiseFrame', 'PingFrame',
30
+ 'GoawayFrame', 'WindowUpdateFrame', 'ContinuationFrame',
31
+ ]
32
+
33
+
34
+ class Flags(Data):
35
+ """Data model for HTTP/2 flags."""
36
+
37
+ if TYPE_CHECKING:
38
+ #: Flags as in combination value.
39
+ __value__: 'FrameType.Flags'
40
+
41
+
42
+ class HTTP(Protocol):
43
+ """Data model for HTTP/2 protocol."""
44
+
45
+ #: Length.
46
+ length: 'int'
47
+ #: Frame type.
48
+ type: 'Frame'
49
+ #: Flags.
50
+ flags: 'Optional[Flags]'
51
+ #: Stream ID.
52
+ sid: 'int'
53
+
54
+
55
+ @info_final
56
+ class UnassignedFrame(HTTP):
57
+ """Data model for HTTP/2 unassigned frame."""
58
+
59
+ #: Flags.
60
+ flags: 'Literal[None]'
61
+ #: Frame payload.
62
+ data: 'bytes'
63
+
64
+ if TYPE_CHECKING:
65
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Literal[None]', sid: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
66
+
67
+
68
+ @info_final
69
+ class DataFrameFlags(Flags):
70
+ """Data model for HTTP/2 ``DATA`` frame flags."""
71
+
72
+ #: ``END_STREAM`` flag.
73
+ END_STREAM: 'bool' # bit 0
74
+ #: ``PADDED`` flag.
75
+ PADDED: 'bool' # bit 3
76
+
77
+ if TYPE_CHECKING:
78
+ def __init__(self, END_STREAM: 'bool', PADDED: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
79
+
80
+
81
+ @info_final
82
+ class DataFrame(HTTP):
83
+ """Data model for HTTP/2 ``DATA`` frame."""
84
+
85
+ #: Flags.
86
+ flags: 'DataFrameFlags'
87
+ #: Padded length.
88
+ pad_len: 'int'
89
+ #: Frame payload.
90
+ data: 'bytes'
91
+
92
+ if TYPE_CHECKING:
93
+ def __init__(self, length: 'int', type: 'Frame', flags: 'DataFrameFlags', pad_len: 'int', sid: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
94
+
95
+
96
+ @info_final
97
+ class HeadersFrameFlags(Flags):
98
+ """Data model for HTTP/2 ``HEADERS`` frame flags."""
99
+
100
+ #: ``END_STREAM`` flag.
101
+ END_STREAM: 'bool' # bit 0
102
+ #: ``END_HEADERS`` flag.
103
+ END_HEADERS: 'bool' # bit 2
104
+ #: ``PADDED`` flag.
105
+ PADDED: 'bool' # bit 3
106
+ #: ``PRIORITY`` flag.
107
+ PRIORITY: 'bool' # bit 5
108
+
109
+ if TYPE_CHECKING:
110
+ def __init__(self, END_STREAM: 'bool', END_HEADERS: 'bool', PADDED: 'bool', PRIORITY: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
111
+
112
+
113
+ @info_final
114
+ class HeadersFrame(HTTP):
115
+ """Data model for HTTP/2 ``HEADERS`` frame."""
116
+
117
+ #: Flags.
118
+ flags: 'HeadersFrameFlags'
119
+ #: Padded length.
120
+ pad_len: 'int'
121
+ #: Exclusive dependency.
122
+ excl_dependency: 'bool'
123
+ #: Stream dependency.
124
+ stream_dependency: 'int'
125
+ #: Weight.
126
+ weight: 'int'
127
+ #: Header block fragment.
128
+ fragment: 'bytes'
129
+
130
+ if TYPE_CHECKING:
131
+ def __init__(self, length: 'int', type: 'Frame', flags: 'HeadersFrameFlags', pad_len: 'int', sid: 'int', excl_dependency: 'bool', stream_dependency: 'int', weight: 'int', fragment: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
132
+
133
+
134
+ @info_final
135
+ class PriorityFrame(HTTP):
136
+ """Data model for HTTP/2 ``PRIORITY`` frame."""
137
+
138
+ #: Flags.
139
+ flags: 'Literal[None]'
140
+ #: Exclusive dependency.
141
+ excl_dependency: 'bool'
142
+ #: Stream dependency.
143
+ stream_dependency: 'int'
144
+ #: Weight.
145
+ weight: 'int'
146
+
147
+ if TYPE_CHECKING:
148
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Literal[None]', sid: 'int', excl_dependency: 'bool', stream_dependency: 'int', weight: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
149
+
150
+
151
+ @info_final
152
+ class RSTStreamFrame(HTTP):
153
+ """Data model for HTTP/2 ``RST_STREAM`` frame."""
154
+
155
+ #: Flags.
156
+ flags: 'Literal[None]'
157
+ #: Error code.
158
+ error: 'ErrorCode'
159
+
160
+ if TYPE_CHECKING:
161
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Literal[None]', sid: 'int', error: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
162
+
163
+
164
+ @info_final
165
+ class SettingsFrameFlags(Flags):
166
+ """Data model for HTTP/2 ``SETTINGS`` frame flags."""
167
+
168
+ #: ``ACK`` flag.
169
+ ACK: 'bool' # bit 0
170
+
171
+ if TYPE_CHECKING:
172
+ def __init__(self, ACK: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
173
+
174
+
175
+ @info_final
176
+ class SettingsFrame(HTTP):
177
+ """Data model for HTTP/2 ``SETTINGS`` frame."""
178
+
179
+ #: Flags.
180
+ flags: 'SettingsFrameFlags'
181
+ #: Settings.
182
+ settings: 'OrderedMultiDict[Setting, int]'
183
+
184
+ if TYPE_CHECKING:
185
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Optional[Flags]', sid: 'int', settings: 'OrderedMultiDict[Setting, int]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
186
+
187
+
188
+ @info_final
189
+ class PushPromiseFrameFlags(Flags):
190
+ """Data model for HTTP/2 ``PUSH_PROMISE`` frame flags."""
191
+
192
+ #: ``END_HEADERS`` flag.
193
+ END_HEADERS: 'bool' # bit 2
194
+ #: ``PADDED`` flag.
195
+ PADDED: 'bool' # bit 3
196
+
197
+ if TYPE_CHECKING:
198
+ def __init__(self, END_HEADERS: 'bool', PADDED: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
199
+
200
+
201
+ @info_final
202
+ class PushPromiseFrame(HTTP):
203
+ """Data model for HTTP/2 ``PUSH_PROMISE`` frame."""
204
+
205
+ #: Flags.
206
+ flags: 'PushPromiseFrameFlags'
207
+ #: Padded length.
208
+ pad_len: 'int'
209
+ #: Promised stream ID.
210
+ promised_sid: 'int'
211
+ #: Header block fragment.
212
+ fragment: 'bytes'
213
+
214
+ if TYPE_CHECKING:
215
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Optional[Flags]', pad_len: 'int', sid: 'int', promised_sid: 'int', fragment: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
216
+
217
+
218
+ @info_final
219
+ class PingFrameFlags(Flags):
220
+ """Data model for HTTP/2 ``PING`` frame flags."""
221
+
222
+ #: ``ACK`` flag.
223
+ ACK: 'bool' # bit 0
224
+
225
+ if TYPE_CHECKING:
226
+ def __init__(self, ACK: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
227
+
228
+
229
+ @info_final
230
+ class PingFrame(HTTP):
231
+ """Data model for HTTP/2 ``PING`` frame."""
232
+
233
+ #: Flags.
234
+ flags: 'PingFrameFlags'
235
+ #: Opaque data.
236
+ data: 'bytes'
237
+
238
+ if TYPE_CHECKING:
239
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Optional[Flags]', sid: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
240
+
241
+
242
+ @info_final
243
+ class GoawayFrame(HTTP):
244
+ """Data model for HTTP/2 ``GOAWAY`` frame."""
245
+
246
+ #: Flags.
247
+ flags: 'Literal[None]'
248
+ #: Last stream ID.
249
+ last_sid: 'int'
250
+ #: Error code.
251
+ error: 'ErrorCode'
252
+ #: Additional debug data.
253
+ debug_data: 'bytes'
254
+
255
+ if TYPE_CHECKING:
256
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Optional[Flags]', sid: 'int', last_sid: 'int', error: 'int', debug_data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
257
+
258
+
259
+ @info_final
260
+ class WindowUpdateFrame(HTTP):
261
+ """Data moddel for HTTP/2 ``WINDOW_UPDATE`` frame."""
262
+
263
+ #: Flags.
264
+ flags: 'Literal[None]'
265
+ #: Window size increment.
266
+ increment: 'int'
267
+
268
+ if TYPE_CHECKING:
269
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Optional[Flags]', sid: 'int', increment: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
270
+
271
+
272
+ @info_final
273
+ class ContinuationFrameFlags(Flags):
274
+ """Data model for HTTP/2 ``CONTINUATION`` frame flags."""
275
+
276
+ #: ``END_HEADERS`` flag.
277
+ END_HEADERS: 'bool' # bit 2
278
+
279
+ if TYPE_CHECKING:
280
+ def __init__(self, END_HEADERS: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
281
+
282
+
283
+ @info_final
284
+ class ContinuationFrame(HTTP):
285
+ """Data model for HTTP/2 ``CONTINUATION`` frame."""
286
+
287
+ #: Flags.
288
+ flags: 'ContinuationFrameFlags'
289
+ #: Header block fragment.
290
+ fragment: 'bytes'
291
+
292
+ if TYPE_CHECKING:
293
+ def __init__(self, length: 'int', type: 'Frame', flags: 'Optional[Flags]', sid: 'int', fragment: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin