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,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for L2TP 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 pcapkit.const.l2tp.type import Type
14
+
15
+ __all__ = ['L2TP']
16
+
17
+
18
+ @info_final
19
+ class Flags(Data):
20
+ """Data model for L2TP flags and version info."""
21
+
22
+ #: Type.
23
+ type: 'Type'
24
+ #: Length.
25
+ len: 'bool'
26
+ #: Sequence.
27
+ seq: 'bool'
28
+ #: Offset.
29
+ offset: 'bool'
30
+ #: Priority.
31
+ prio: 'bool'
32
+
33
+ if TYPE_CHECKING:
34
+ def __init__(self, type: 'Type', len: 'bool', seq: 'bool', offset: 'bool', prio: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,redefined-builtin,multiple-statements
35
+
36
+
37
+ @info_final
38
+ class L2TP(Protocol):
39
+ """Data model for L2TP packet."""
40
+
41
+ #: Flags and version info.
42
+ flags: 'Flags'
43
+ #: Version.
44
+ version: 'int'
45
+ #: Length.
46
+ length: 'Optional[int]'
47
+ #: Tunnel ID.
48
+ tunnelid: 'int'
49
+ #: Session ID.
50
+ sessionid: 'int'
51
+ #: Sequence Number.
52
+ ns: 'Optional[int]'
53
+ #: Next Sequence Number.
54
+ nr: 'Optional[int]'
55
+ #: Offset Size.
56
+ offset: 'Optional[int]'
57
+
58
+ if TYPE_CHECKING:
59
+ #: Header length.
60
+ hdr_len: 'int'
61
+
62
+ def __init__(self, flags: 'Flags', version: 'int', length: 'Optional[int]', tunnelid: 'int', sessionid: 'int',
63
+ ns: 'Optional[int]', nr: 'Optional[int]', offset: 'Optional[int]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,redefined-builtin,multiple-statements,line-too-long
@@ -0,0 +1,58 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for OSPF 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 ipaddress import IPv4Address
12
+
13
+ from pcapkit.const.ospf.authentication import Authentication
14
+ from pcapkit.const.ospf.packet import Packet
15
+
16
+ __all__ = ['OSPF', 'CrytographicAuthentication']
17
+
18
+
19
+ @info_final
20
+ class CrytographicAuthentication(Data):
21
+ """Data model for OSPF crytographic authentication."""
22
+
23
+ #: Key ID.
24
+ key_id: 'int'
25
+ #: Authentication data length.
26
+ len: 'int'
27
+ #: Cryptographic sequence number.
28
+ seq: 'int'
29
+
30
+ if TYPE_CHECKING:
31
+ def __init__(self, key_id: 'int', len: 'int', seq: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,redefined-builtin
32
+
33
+
34
+ @info_final
35
+ class OSPF(Protocol):
36
+ """Data model for OSPF packet."""
37
+
38
+ #: Version number.
39
+ version: 'int'
40
+ #: Type.
41
+ type: 'Packet'
42
+ #: Packet length (header included).
43
+ len: 'int'
44
+ #: Router ID.
45
+ router_id: 'IPv4Address'
46
+ #: Area ID.
47
+ area_id: 'IPv4Address'
48
+ #: Checksum.
49
+ chksum: 'bytes'
50
+ #: Authentication type.
51
+ autype: 'Authentication'
52
+
53
+ if TYPE_CHECKING:
54
+ #: Authentication.
55
+ auth: 'bytes | CrytographicAuthentication'
56
+
57
+ def __init__(self, version: 'int', type: 'Packet', len: 'int', router_id: 'IPv4Address',
58
+ area_id: 'IPv4Address', chksum: 'bytes', autype: 'Authentication') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,line-too-long,multiple-statements,redefined-builtin
@@ -0,0 +1,42 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for 802.1Q customer VLAN tag type"""
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 pcapkit.const.reg.ethertype import EtherType
12
+ from pcapkit.const.vlan.priority_level import PriorityLevel
13
+
14
+ __all__ = ['VLAN', 'TCI']
15
+
16
+
17
+ @info_final
18
+ class TCI(Data):
19
+ """Data model for tag control information."""
20
+
21
+ #: Priority code point.
22
+ pcp: 'PriorityLevel'
23
+ #: Drop eligible indicator.
24
+ dei: 'bool'
25
+ #: VLAN identifier.
26
+ vid: 'int'
27
+
28
+ if TYPE_CHECKING:
29
+ def __init__(self, pcp: 'PriorityLevel', dei: 'bool', vid: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements
30
+
31
+
32
+ @info_final
33
+ class VLAN(Protocol):
34
+ """Data model for 802.1Q customer VLAN tag type."""
35
+
36
+ #: Tag control information.
37
+ tci: 'TCI'
38
+ #: Protocol (Internet Layer).
39
+ type: 'EtherType'
40
+
41
+ if TYPE_CHECKING:
42
+ def __init__(self, tci: 'TCI', type: 'EtherType') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,redefined-builtin
@@ -0,0 +1,109 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for utility protocols"""
3
+
4
+ # PCAP file headers
5
+ from pcapkit.protocols.data.misc.pcap import *
6
+
7
+ # PCAP-NG file format
8
+ from pcapkit.protocols.data.misc.pcapng import UnknownSecrets as PCAPNG_UnknownSecrets
9
+ from pcapkit.protocols.data.misc.pcapng import PCAPNG
10
+ from pcapkit.protocols.data.misc.pcapng import CommentOption as PCAPNG_CommentOption
11
+ from pcapkit.protocols.data.misc.pcapng import CustomBlock as PCAPNG_CustomBlock
12
+ from pcapkit.protocols.data.misc.pcapng import CustomOption as PCAPNG_CustomOption
13
+ from pcapkit.protocols.data.misc.pcapng import \
14
+ DecryptionSecretsBlock as PCAPNG_DecryptionSecretsBlock
15
+ from pcapkit.protocols.data.misc.pcapng import DSBSecrets as PCAPNG_DSBSecrets
16
+ from pcapkit.protocols.data.misc.pcapng import EndOfOption as PCAPNG_EndOfOption
17
+ from pcapkit.protocols.data.misc.pcapng import EndRecord as PCAPNG_EndRecord
18
+ from pcapkit.protocols.data.misc.pcapng import EnhancedPacketBlock as PCAPNG_EnhancedPacketBlock
19
+ from pcapkit.protocols.data.misc.pcapng import EPB_DropCountOption as PCAPNG_EPB_DropCountOption
20
+ from pcapkit.protocols.data.misc.pcapng import EPB_FlagsOption as PCAPNG_EPB_FlagsOption
21
+ from pcapkit.protocols.data.misc.pcapng import EPB_HashOption as PCAPNG_EPB_HashOption
22
+ from pcapkit.protocols.data.misc.pcapng import EPB_PacketIDOption as PCAPNG_EPB_PacketIDOption
23
+ from pcapkit.protocols.data.misc.pcapng import EPB_QueueOption as PCAPNG_EPB_QueueOption
24
+ from pcapkit.protocols.data.misc.pcapng import EPB_VerdictOption as PCAPNG_EPB_VerdictOption
25
+ from pcapkit.protocols.data.misc.pcapng import IF_DescriptionOption as PCAPNG_IF_DescriptionOption
26
+ from pcapkit.protocols.data.misc.pcapng import IF_EUIAddrOption as PCAPNG_IF_EUIAddrOption
27
+ from pcapkit.protocols.data.misc.pcapng import IF_FCSLenOption as PCAPNG_IF_FCSLenOption
28
+ from pcapkit.protocols.data.misc.pcapng import IF_FilterOption as PCAPNG_IF_FilterOption
29
+ from pcapkit.protocols.data.misc.pcapng import IF_HardwareOption as PCAPNG_IF_HardwareOption
30
+ from pcapkit.protocols.data.misc.pcapng import IF_IPv4AddrOption as PCAPNG_IF_IPv4AddrOption
31
+ from pcapkit.protocols.data.misc.pcapng import IF_IPv6AddrOption as PCAPNG_IF_IPv6AddrOption
32
+ from pcapkit.protocols.data.misc.pcapng import IF_MACAddrOption as PCAPNG_IF_MACAddrOption
33
+ from pcapkit.protocols.data.misc.pcapng import IF_NameOption as PCAPNG_IF_NameOption
34
+ from pcapkit.protocols.data.misc.pcapng import IF_OSOption as PCAPNG_IF_OSOption
35
+ from pcapkit.protocols.data.misc.pcapng import IF_RxSpeedOption as PCAPNG_IF_RxSpeedOption
36
+ from pcapkit.protocols.data.misc.pcapng import IF_SpeedOption as PCAPNG_IF_SpeedOption
37
+ from pcapkit.protocols.data.misc.pcapng import IF_TSOffsetOption as PCAPNG_IF_TSOffsetOption
38
+ from pcapkit.protocols.data.misc.pcapng import IF_TSResolOption as PCAPNG_IF_TSResolOption
39
+ from pcapkit.protocols.data.misc.pcapng import IF_TxSpeedOption as PCAPNG_IF_TxSpeedOption
40
+ from pcapkit.protocols.data.misc.pcapng import IF_TZoneOption as PCAPNG_IF_TZoneOption
41
+ from pcapkit.protocols.data.misc.pcapng import \
42
+ InterfaceDescriptionBlock as PCAPNG_InterfaceDescriptionBlock
43
+ from pcapkit.protocols.data.misc.pcapng import \
44
+ InterfaceStatisticsBlock as PCAPNG_InterfaceStatisticsBlock
45
+ from pcapkit.protocols.data.misc.pcapng import IPv4Record as PCAPNG_IPv4Record
46
+ from pcapkit.protocols.data.misc.pcapng import IPv6Record as PCAPNG_IPv6Record
47
+ from pcapkit.protocols.data.misc.pcapng import ISB_EndTimeOption as PCAPNG_ISB_EndTimeOption
48
+ from pcapkit.protocols.data.misc.pcapng import \
49
+ ISB_FilterAcceptOption as PCAPNG_ISB_FilterAcceptOption
50
+ from pcapkit.protocols.data.misc.pcapng import ISB_IFDropOption as PCAPNG_ISB_IFDropOption
51
+ from pcapkit.protocols.data.misc.pcapng import ISB_IFRecvOption as PCAPNG_ISB_IFRecvOption
52
+ from pcapkit.protocols.data.misc.pcapng import ISB_OSDropOption as PCAPNG_ISB_OSDropOption
53
+ from pcapkit.protocols.data.misc.pcapng import ISB_StartTimeOption as PCAPNG_ISB_StartTimeOption
54
+ from pcapkit.protocols.data.misc.pcapng import ISB_UsrDelivOption as PCAPNG_ISB_UsrDelivOption
55
+ from pcapkit.protocols.data.misc.pcapng import NameResolutionBlock as PCAPNG_NameResolutionBlock
56
+ from pcapkit.protocols.data.misc.pcapng import NameResolutionRecord as PCAPNG_NameResolutionRecord
57
+ from pcapkit.protocols.data.misc.pcapng import NS_DNSIP4AddrOption as PCAPNG_NS_DNSIP4AddrOption
58
+ from pcapkit.protocols.data.misc.pcapng import NS_DNSIP6AddrOption as PCAPNG_NS_DNSIP6AddrOption
59
+ from pcapkit.protocols.data.misc.pcapng import NS_DNSNameOption as PCAPNG_NS_DNSNameOption
60
+ from pcapkit.protocols.data.misc.pcapng import Option as PCAPNG_Option
61
+ from pcapkit.protocols.data.misc.pcapng import SectionHeaderBlock as PCAPNG_SectionHeaderBlock
62
+ from pcapkit.protocols.data.misc.pcapng import SimplePacketBlock as PCAPNG_SimplePacketBlock
63
+ from pcapkit.protocols.data.misc.pcapng import \
64
+ SystemdJournalExportBlock as PCAPNG_SystemdJournalExportBlock
65
+ from pcapkit.protocols.data.misc.pcapng import TLSKeyLog as PCAPNG_TLSKeyLog
66
+ from pcapkit.protocols.data.misc.pcapng import UnknownBlock as PCAPNG_UnknownBlock
67
+ from pcapkit.protocols.data.misc.pcapng import UnknownOption as PCAPNG_UnknownOption
68
+ from pcapkit.protocols.data.misc.pcapng import UnknownRecord as PCAPNG_UnknownRecord
69
+ from pcapkit.protocols.data.misc.pcapng import UnknownSecrets as PCAPNG_UnknownSecrets
70
+ from pcapkit.protocols.data.misc.pcapng import WireGuardKeyLog as PCAPNG_WireGuardKeyLog
71
+ from pcapkit.protocols.data.misc.pcapng import ZigBeeAPSKey as PCAPNG_ZigBeeAPSKey
72
+ from pcapkit.protocols.data.misc.pcapng import ZigBeeNWKKey as PCAPNG_ZigBeeNWKKey
73
+
74
+ # misc protocols
75
+ from pcapkit.protocols.data.misc.raw import Raw
76
+ from pcapkit.protocols.data.misc.null import NoPayload
77
+
78
+ __all__ = [
79
+ # PCAP file headers
80
+ 'PCAP_Header', 'PCAP_MagicNumber',
81
+ 'PCAP_Frame', 'PCAP_FrameInfo',
82
+
83
+ # PCAP-NG file format
84
+ 'PCAPNG',
85
+ 'PCAPNG_Option', 'PCAPNG_UnknownOption',
86
+ 'PCAPNG_EndOfOption', 'PCAPNG_CommentOption', 'PCAPNG_CustomOption',
87
+ 'PCAPNG_IF_NameOption', 'PCAPNG_IF_DescriptionOption', 'PCAPNG_IF_IPv4AddrOption', 'PCAPNG_IF_IPv6AddrOption',
88
+ 'PCAPNG_IF_MACAddrOption', 'PCAPNG_IF_EUIAddrOption', 'PCAPNG_IF_SpeedOption', 'PCAPNG_IF_TSResolOption',
89
+ 'PCAPNG_IF_TZoneOption', 'PCAPNG_IF_FilterOption', 'PCAPNG_IF_OSOption', 'PCAPNG_IF_FCSLenOption',
90
+ 'PCAPNG_IF_TSOffsetOption', 'PCAPNG_IF_HardwareOption', 'PCAPNG_IF_TxSpeedOption', 'PCAPNG_IF_RxSpeedOption',
91
+ 'PCAPNG_EPB_FlagsOption', 'PCAPNG_EPB_HashOption', 'PCAPNG_EPB_DropCountOption', 'PCAPNG_EPB_PacketIDOption',
92
+ 'PCAPNG_EPB_QueueOption', 'PCAPNG_EPB_VerdictOption',
93
+ 'PCAPNG_NS_DNSNameOption', 'PCAPNG_NS_DNSIP4AddrOption', 'PCAPNG_NS_DNSIP6AddrOption',
94
+ 'PCAPNG_ISB_StartTimeOption', 'PCAPNG_ISB_EndTimeOption', 'PCAPNG_ISB_IFRecvOption', 'PCAPNG_ISB_IFDropOption',
95
+ 'PCAPNG_ISB_FilterAcceptOption', 'PCAPNG_ISB_OSDropOption', 'PCAPNG_ISB_UsrDelivOption',
96
+ 'PCAPNG_NameResolutionRecord', 'PCAPNG_UnknownRecord', 'PCAPNG_EndRecord', 'PCAPNG_IPv4Record', 'PCAPNG_IPv6Record',
97
+ 'PCAPNG_DSBSecrets', 'PCAPNG_UnknownSecrets', 'PCAPNG_TLSKeyLog', 'PCAPNG_WireGuardKeyLog', 'PCAPNG_ZigBeeNWKKey',
98
+ 'PCAPNG_ZigBeeAPSKey',
99
+ 'PCAPNG_UnknownBlock', 'PCAPNG_SectionHeaderBlock', 'PCAPNG_InterfaceDescriptionBlock',
100
+ 'PCAPNG_EnhancedPacketBlock', 'PCAPNG_SimplePacketBlock', 'PCAPNG_NameResolutionBlock',
101
+ 'PCAPNG_InterfaceStatisticsBlock', 'PCAPNG_SystemdJournalExportBlock', 'PCAPNG_DecryptionSecretsBlock',
102
+ 'PCAPNG_CustomBlock',
103
+
104
+ # No Payload
105
+ 'NoPayload',
106
+
107
+ # Raw Packet
108
+ 'Raw',
109
+ ]
@@ -0,0 +1,18 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for no-payload packet"""
3
+
4
+ from pcapkit.corekit.infoclass import info_final
5
+ from pcapkit.protocols.data.protocol import Protocol
6
+
7
+ __all__ = ['NoPayload']
8
+
9
+
10
+ @info_final
11
+ class NoPayload(Protocol):
12
+ """No-payload packet is an empty packet."""
13
+
14
+ # NOTE: We add this method for both type annotation and to mark that this
15
+ # class accepts no arguments at runtime, since :class:`Info` explicitly
16
+ # skipped those whose :attr:`__annotations__` is empty :obj:`dict`.
17
+ def __init__(self) -> 'None': # pylint: disable=super-init-not-called
18
+ pass
@@ -0,0 +1,18 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for PCAP file headers"""
3
+
4
+ # Global header
5
+ from pcapkit.protocols.data.misc.pcap.header import Header as PCAP_Header
6
+ from pcapkit.protocols.data.misc.pcap.header import MagicNumber as PCAP_MagicNumber
7
+
8
+ # Frame header
9
+ from pcapkit.protocols.data.misc.pcap.frame import Frame as PCAP_Frame
10
+ from pcapkit.protocols.data.misc.pcap.frame import FrameInfo as PCAP_FrameInfo
11
+
12
+ __all__ = [
13
+ # Global header
14
+ 'PCAP_Header', 'PCAP_MagicNumber',
15
+
16
+ # Frame header
17
+ 'PCAP_Frame', 'PCAP_FrameInfo',
18
+ ]
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for frame header of PCAP file"""
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 datetime
12
+ from decimal import Decimal
13
+
14
+ __all__ = ['Frame', 'FrameInfo']
15
+
16
+
17
+ @info_final
18
+ class FrameInfo(Data):
19
+ """Frame metadata information."""
20
+
21
+ #: Timestamp seconds.
22
+ ts_sec: 'int'
23
+ #: Timestamp microseconds.
24
+ ts_usec: 'int'
25
+ #: Number of octets of packet saved in file.
26
+ incl_len: 'int'
27
+ #: Actual length of packet.
28
+ orig_len: 'int'
29
+
30
+ if TYPE_CHECKING:
31
+ def __init__(self, ts_sec: 'int', ts_usec: 'int', incl_len: 'int', orig_len: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,super-init-not-called
32
+
33
+
34
+ @info_final
35
+ class Frame(Protocol):
36
+ """Frame header of PCAP file."""
37
+
38
+ #: Metadata information.
39
+ frame_info: 'FrameInfo'
40
+ #: Timestamp instance.
41
+ time: 'datetime'
42
+ #: Frame index.
43
+ number: 'int'
44
+ #: UNIX timestamp.
45
+ time_epoch: 'Decimal'
46
+ #: Number of octets of packet saved in file.
47
+ len: 'int'
48
+ #: Actual length of packet.
49
+ cap_len: 'int'
50
+
51
+ if TYPE_CHECKING:
52
+ #: Protocol chain.
53
+ protocols: 'str'
54
+
55
+ def __init__(self, frame_info: 'FrameInfo', time: 'datetime', number: 'int', time_epoch: 'Decimal',
56
+ len: 'int', cap_len: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,super-init-not-called,line-too-long,redefined-builtin
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+ """data models for global header of PCAP file"""
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_extensions import Literal
12
+
13
+ from pcapkit.const.reg.linktype import LinkType
14
+ from pcapkit.corekit.version import VersionInfo
15
+
16
+ __all__ = ['Header', 'MagicNumber']
17
+
18
+
19
+ @info_final
20
+ class MagicNumber(Data):
21
+ """Magic number of PCAP file."""
22
+
23
+ #: Magic number sequence.
24
+ data: 'bytes'
25
+ #: Byte order.
26
+ byteorder: 'Literal["big", "little"]'
27
+ #: Nanosecond-timestamp resolution flag.
28
+ nanosecond: 'bool'
29
+
30
+ if TYPE_CHECKING:
31
+ def __init__(self, data: 'bytes', byteorder: 'Literal["big", "little"]', nanosecond: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements
32
+
33
+
34
+ @info_final
35
+ class Header(Protocol):
36
+ """Global header of PCAP file."""
37
+
38
+ #: Magic number.
39
+ magic_number: 'MagicNumber'
40
+ #: Version number.
41
+ version: 'VersionInfo'
42
+ #: GMT to local correction.
43
+ thiszone: 'int'
44
+ #: Accuracy of timestamps.
45
+ sigfigs: 'int'
46
+ #: Max length of captured packets, in octets.
47
+ snaplen: 'int'
48
+ #: Data link type.
49
+ network: 'LinkType'
50
+
51
+ if TYPE_CHECKING:
52
+ def __init__(self, magic_number: 'MagicNumber', version: 'VersionInfo', # pylint: disable=unused-argument,super-init-not-called,multiple-statements
53
+ thiszone: 'int', sigfigs: 'int', snaplen: 'int', network: 'LinkType') -> 'None': ... # pylint: disable=unused-argument