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.
- pcapkit/__init__.py +126 -0
- pcapkit/__main__.py +138 -0
- pcapkit/all.py +136 -0
- pcapkit/const/__init__.py +81 -0
- pcapkit/const/arp/__init__.py +25 -0
- pcapkit/const/arp/hardware.py +181 -0
- pcapkit/const/arp/operation.py +131 -0
- pcapkit/const/ftp/__init__.py +25 -0
- pcapkit/const/ftp/command.py +309 -0
- pcapkit/const/ftp/return_code.py +304 -0
- pcapkit/const/hip/__init__.py +94 -0
- pcapkit/const/hip/certificate.py +77 -0
- pcapkit/const/hip/cipher.py +65 -0
- pcapkit/const/hip/di.py +59 -0
- pcapkit/const/hip/ecdsa_curve.py +59 -0
- pcapkit/const/hip/ecdsa_low_curve.py +56 -0
- pcapkit/const/hip/eddsa_curve.py +65 -0
- pcapkit/const/hip/esp_transform_suite.py +98 -0
- pcapkit/const/hip/group.py +86 -0
- pcapkit/const/hip/hi_algorithm.py +86 -0
- pcapkit/const/hip/hit_suite.py +68 -0
- pcapkit/const/hip/nat_traversal.py +62 -0
- pcapkit/const/hip/notify_message.py +200 -0
- pcapkit/const/hip/packet.py +89 -0
- pcapkit/const/hip/parameter.py +377 -0
- pcapkit/const/hip/registration.py +68 -0
- pcapkit/const/hip/registration_failure.py +84 -0
- pcapkit/const/hip/suite.py +71 -0
- pcapkit/const/hip/transport.py +59 -0
- pcapkit/const/http/__init__.py +39 -0
- pcapkit/const/http/error_code.py +95 -0
- pcapkit/const/http/frame.py +95 -0
- pcapkit/const/http/method.py +184 -0
- pcapkit/const/http/setting.py +96 -0
- pcapkit/const/http/status_code.py +294 -0
- pcapkit/const/ipv4/__init__.py +57 -0
- pcapkit/const/ipv4/classification_level.py +64 -0
- pcapkit/const/ipv4/option_class.py +55 -0
- pcapkit/const/ipv4/option_number.py +137 -0
- pcapkit/const/ipv4/protection_authority.py +63 -0
- pcapkit/const/ipv4/qs_function.py +51 -0
- pcapkit/const/ipv4/router_alert.py +251 -0
- pcapkit/const/ipv4/tos_del.py +51 -0
- pcapkit/const/ipv4/tos_ecn.py +55 -0
- pcapkit/const/ipv4/tos_pre.py +63 -0
- pcapkit/const/ipv4/tos_rel.py +51 -0
- pcapkit/const/ipv4/tos_thr.py +51 -0
- pcapkit/const/ipv4/ts_flag.py +53 -0
- pcapkit/const/ipv6/__init__.py +53 -0
- pcapkit/const/ipv6/extension_header.py +66 -0
- pcapkit/const/ipv6/option.py +137 -0
- pcapkit/const/ipv6/option_action.py +55 -0
- pcapkit/const/ipv6/qs_function.py +51 -0
- pcapkit/const/ipv6/router_alert.py +266 -0
- pcapkit/const/ipv6/routing.py +80 -0
- pcapkit/const/ipv6/seed_id.py +55 -0
- pcapkit/const/ipv6/smf_dpd_mode.py +51 -0
- pcapkit/const/ipv6/tagger_id.py +62 -0
- pcapkit/const/ipx/__init__.py +27 -0
- pcapkit/const/ipx/packet.py +72 -0
- pcapkit/const/ipx/socket.py +104 -0
- pcapkit/const/l2tp/__init__.py +21 -0
- pcapkit/const/l2tp/type.py +51 -0
- pcapkit/const/mh/__init__.py +204 -0
- pcapkit/const/mh/access_type.py +92 -0
- pcapkit/const/mh/ack_status_code.py +71 -0
- pcapkit/const/mh/ani_suboption.py +74 -0
- pcapkit/const/mh/auth_subtype.py +53 -0
- pcapkit/const/mh/binding_ack_flag.py +66 -0
- pcapkit/const/mh/binding_error.py +51 -0
- pcapkit/const/mh/binding_revocation.py +59 -0
- pcapkit/const/mh/binding_update_flag.py +81 -0
- pcapkit/const/mh/cga_extension.py +66 -0
- pcapkit/const/mh/cga_sec.py +57 -0
- pcapkit/const/mh/cga_type.py +68 -0
- pcapkit/const/mh/dhcp_support_mode.py +53 -0
- pcapkit/const/mh/dns_status_code.py +65 -0
- pcapkit/const/mh/dsmip6_tls_packet.py +62 -0
- pcapkit/const/mh/dsmipv6_home_address.py +74 -0
- pcapkit/const/mh/enumerating_algorithm.py +56 -0
- pcapkit/const/mh/fb_ack_status.py +62 -0
- pcapkit/const/mh/fb_action.py +71 -0
- pcapkit/const/mh/fb_indication_trigger.py +65 -0
- pcapkit/const/mh/fb_type.py +59 -0
- pcapkit/const/mh/flow_id_status.py +77 -0
- pcapkit/const/mh/flow_id_suboption.py +71 -0
- pcapkit/const/mh/handoff_type.py +71 -0
- pcapkit/const/mh/handover_ack_flag.py +54 -0
- pcapkit/const/mh/handover_ack_status.py +92 -0
- pcapkit/const/mh/handover_initiate_flag.py +57 -0
- pcapkit/const/mh/handover_initiate_status.py +62 -0
- pcapkit/const/mh/home_address_reply.py +71 -0
- pcapkit/const/mh/lla_code.py +63 -0
- pcapkit/const/mh/lma_mag_suboption.py +59 -0
- pcapkit/const/mh/mn_group_id.py +59 -0
- pcapkit/const/mh/mn_id_subtype.py +77 -0
- pcapkit/const/mh/operator_id.py +63 -0
- pcapkit/const/mh/option.py +260 -0
- pcapkit/const/mh/packet.py +119 -0
- pcapkit/const/mh/qos_attribute.py +89 -0
- pcapkit/const/mh/revocation_status_code.py +83 -0
- pcapkit/const/mh/revocation_trigger.py +86 -0
- pcapkit/const/mh/status_code.py +232 -0
- pcapkit/const/mh/traffic_selector.py +62 -0
- pcapkit/const/mh/upa_status.py +71 -0
- pcapkit/const/mh/upn_reason.py +80 -0
- pcapkit/const/ospf/__init__.py +27 -0
- pcapkit/const/ospf/authentication.py +65 -0
- pcapkit/const/ospf/packet.py +71 -0
- pcapkit/const/pcapng/__init__.py +51 -0
- pcapkit/const/pcapng/block_type.py +152 -0
- pcapkit/const/pcapng/filter_type.py +48 -0
- pcapkit/const/pcapng/hash_algorithm.py +59 -0
- pcapkit/const/pcapng/option_type.py +233 -0
- pcapkit/const/pcapng/record_type.py +57 -0
- pcapkit/const/pcapng/secrets_type.py +56 -0
- pcapkit/const/pcapng/verdict_type.py +53 -0
- pcapkit/const/reg/__init__.py +34 -0
- pcapkit/const/reg/apptype.py +32702 -0
- pcapkit/const/reg/ethertype.py +714 -0
- pcapkit/const/reg/linktype.py +902 -0
- pcapkit/const/reg/transtype.py +523 -0
- pcapkit/const/tcp/__init__.py +35 -0
- pcapkit/const/tcp/checksum.py +55 -0
- pcapkit/const/tcp/flags.py +73 -0
- pcapkit/const/tcp/mp_tcp_option.py +80 -0
- pcapkit/const/tcp/option.py +198 -0
- pcapkit/const/vlan/__init__.py +23 -0
- pcapkit/const/vlan/priority_level.py +71 -0
- pcapkit/corekit/__init__.py +59 -0
- pcapkit/corekit/fields/__init__.py +45 -0
- pcapkit/corekit/fields/collections.py +282 -0
- pcapkit/corekit/fields/field.py +269 -0
- pcapkit/corekit/fields/ipaddress.py +274 -0
- pcapkit/corekit/fields/misc.py +722 -0
- pcapkit/corekit/fields/numbers.py +375 -0
- pcapkit/corekit/fields/strings.py +245 -0
- pcapkit/corekit/infoclass.py +394 -0
- pcapkit/corekit/io.py +506 -0
- pcapkit/corekit/module.py +39 -0
- pcapkit/corekit/multidict.py +626 -0
- pcapkit/corekit/protochain.py +263 -0
- pcapkit/corekit/version.py +33 -0
- pcapkit/dumpkit/__init__.py +15 -0
- pcapkit/dumpkit/common.py +199 -0
- pcapkit/dumpkit/null.py +77 -0
- pcapkit/dumpkit/pcap.py +144 -0
- pcapkit/foundation/__init__.py +45 -0
- pcapkit/foundation/engines/__init__.py +36 -0
- pcapkit/foundation/engines/dpkt.py +230 -0
- pcapkit/foundation/engines/engine.py +194 -0
- pcapkit/foundation/engines/pcap.py +188 -0
- pcapkit/foundation/engines/pcapng.py +310 -0
- pcapkit/foundation/engines/pyshark.py +166 -0
- pcapkit/foundation/engines/scapy.py +161 -0
- pcapkit/foundation/extraction.py +915 -0
- pcapkit/foundation/reassembly/__init__.py +49 -0
- pcapkit/foundation/reassembly/data/__init__.py +48 -0
- pcapkit/foundation/reassembly/data/ip.py +117 -0
- pcapkit/foundation/reassembly/data/tcp.py +145 -0
- pcapkit/foundation/reassembly/ip.py +192 -0
- pcapkit/foundation/reassembly/ipv4.py +50 -0
- pcapkit/foundation/reassembly/ipv6.py +50 -0
- pcapkit/foundation/reassembly/reassembly.py +389 -0
- pcapkit/foundation/reassembly/tcp.py +249 -0
- pcapkit/foundation/registry/__init__.py +41 -0
- pcapkit/foundation/registry/foundation.py +327 -0
- pcapkit/foundation/registry/protocols.py +885 -0
- pcapkit/foundation/traceflow/__init__.py +44 -0
- pcapkit/foundation/traceflow/data/__init__.py +30 -0
- pcapkit/foundation/traceflow/data/tcp.py +105 -0
- pcapkit/foundation/traceflow/tcp.py +159 -0
- pcapkit/foundation/traceflow/traceflow.py +390 -0
- pcapkit/interface/__init__.py +22 -0
- pcapkit/interface/core.py +185 -0
- pcapkit/interface/misc.py +120 -0
- pcapkit/protocols/__init__.py +85 -0
- pcapkit/protocols/application/NotImplemented/bgp.py +0 -0
- pcapkit/protocols/application/NotImplemented/dhcp.py +0 -0
- pcapkit/protocols/application/NotImplemented/dhcpv6.py +0 -0
- pcapkit/protocols/application/NotImplemented/dns.py +0 -0
- pcapkit/protocols/application/NotImplemented/imap.py +0 -0
- pcapkit/protocols/application/NotImplemented/ldap.py +0 -0
- pcapkit/protocols/application/NotImplemented/mqtt.py +0 -0
- pcapkit/protocols/application/NotImplemented/nntp.py +0 -0
- pcapkit/protocols/application/NotImplemented/ntp.py +0 -0
- pcapkit/protocols/application/NotImplemented/onc_rpc.py +0 -0
- pcapkit/protocols/application/NotImplemented/pop.py +0 -0
- pcapkit/protocols/application/NotImplemented/rip.py +0 -0
- pcapkit/protocols/application/NotImplemented/rtp.py +0 -0
- pcapkit/protocols/application/NotImplemented/sip.py +0 -0
- pcapkit/protocols/application/NotImplemented/smtp.py +0 -0
- pcapkit/protocols/application/NotImplemented/snmp.py +0 -0
- pcapkit/protocols/application/NotImplemented/ssh.py +0 -0
- pcapkit/protocols/application/NotImplemented/telnet.py +0 -0
- pcapkit/protocols/application/NotImplemented/tls.py +0 -0
- pcapkit/protocols/application/NotImplemented/xmpp.py +0 -0
- pcapkit/protocols/application/__init__.py +34 -0
- pcapkit/protocols/application/application.py +114 -0
- pcapkit/protocols/application/ftp.py +206 -0
- pcapkit/protocols/application/http.py +176 -0
- pcapkit/protocols/application/httpv1.py +320 -0
- pcapkit/protocols/application/httpv2.py +1255 -0
- pcapkit/protocols/data/__init__.py +192 -0
- pcapkit/protocols/data/application/__init__.py +57 -0
- pcapkit/protocols/data/application/ftp.py +59 -0
- pcapkit/protocols/data/application/httpv1.py +79 -0
- pcapkit/protocols/data/application/httpv2.py +293 -0
- pcapkit/protocols/data/data.py +25 -0
- pcapkit/protocols/data/internet/__init__.py +298 -0
- pcapkit/protocols/data/internet/ah.py +31 -0
- pcapkit/protocols/data/internet/hip.py +804 -0
- pcapkit/protocols/data/internet/hopopt.py +351 -0
- pcapkit/protocols/data/internet/ipv4.py +369 -0
- pcapkit/protocols/data/internet/ipv6.py +67 -0
- pcapkit/protocols/data/internet/ipv6_frag.py +29 -0
- pcapkit/protocols/data/internet/ipv6_opts.py +368 -0
- pcapkit/protocols/data/internet/ipv6_route.py +86 -0
- pcapkit/protocols/data/internet/ipx.py +56 -0
- pcapkit/protocols/data/internet/mh.py +509 -0
- pcapkit/protocols/data/link/__init__.py +33 -0
- pcapkit/protocols/data/link/arp.py +74 -0
- pcapkit/protocols/data/link/ethernet.py +28 -0
- pcapkit/protocols/data/link/l2tp.py +63 -0
- pcapkit/protocols/data/link/ospf.py +58 -0
- pcapkit/protocols/data/link/vlan.py +42 -0
- pcapkit/protocols/data/misc/__init__.py +109 -0
- pcapkit/protocols/data/misc/null.py +18 -0
- pcapkit/protocols/data/misc/pcap/__init__.py +18 -0
- pcapkit/protocols/data/misc/pcap/frame.py +56 -0
- pcapkit/protocols/data/misc/pcap/header.py +53 -0
- pcapkit/protocols/data/misc/pcapng.py +925 -0
- pcapkit/protocols/data/misc/raw.py +25 -0
- pcapkit/protocols/data/protocol.py +32 -0
- pcapkit/protocols/data/transport/__init__.py +71 -0
- pcapkit/protocols/data/transport/tcp.py +555 -0
- pcapkit/protocols/data/transport/udp.py +29 -0
- pcapkit/protocols/internet/NotImplemented/ecn.py +0 -0
- pcapkit/protocols/internet/NotImplemented/esp.py +97 -0
- pcapkit/protocols/internet/NotImplemented/icmp.py +0 -0
- pcapkit/protocols/internet/NotImplemented/icmpv6.py +0 -0
- pcapkit/protocols/internet/NotImplemented/igmp.py +0 -0
- pcapkit/protocols/internet/NotImplemented/shim6.py +0 -0
- pcapkit/protocols/internet/__init__.py +43 -0
- pcapkit/protocols/internet/ah.py +275 -0
- pcapkit/protocols/internet/hip.py +4727 -0
- pcapkit/protocols/internet/hopopt.py +1879 -0
- pcapkit/protocols/internet/internet.py +240 -0
- pcapkit/protocols/internet/ip.py +51 -0
- pcapkit/protocols/internet/ipsec.py +50 -0
- pcapkit/protocols/internet/ipv4.py +1782 -0
- pcapkit/protocols/internet/ipv6.py +361 -0
- pcapkit/protocols/internet/ipv6_frag.py +258 -0
- pcapkit/protocols/internet/ipv6_opts.py +1890 -0
- pcapkit/protocols/internet/ipv6_route.py +710 -0
- pcapkit/protocols/internet/ipx.py +230 -0
- pcapkit/protocols/internet/mh.py +2764 -0
- pcapkit/protocols/link/NotImplemented/dsl.py +0 -0
- pcapkit/protocols/link/NotImplemented/eapol.py +1 -0
- pcapkit/protocols/link/NotImplemented/fddi.py +0 -0
- pcapkit/protocols/link/NotImplemented/isdn.py +0 -0
- pcapkit/protocols/link/NotImplemented/ndp.py +0 -0
- pcapkit/protocols/link/NotImplemented/ppp.py +0 -0
- pcapkit/protocols/link/__init__.py +35 -0
- pcapkit/protocols/link/arp.py +421 -0
- pcapkit/protocols/link/ethernet.py +248 -0
- pcapkit/protocols/link/l2tp.py +267 -0
- pcapkit/protocols/link/link.py +140 -0
- pcapkit/protocols/link/ospf.py +342 -0
- pcapkit/protocols/link/rarp.py +82 -0
- pcapkit/protocols/link/vlan.py +225 -0
- pcapkit/protocols/misc/__init__.py +37 -0
- pcapkit/protocols/misc/null.py +129 -0
- pcapkit/protocols/misc/pcap/__init__.py +17 -0
- pcapkit/protocols/misc/pcap/frame.py +478 -0
- pcapkit/protocols/misc/pcap/header.py +358 -0
- pcapkit/protocols/misc/pcapng.py +5520 -0
- pcapkit/protocols/misc/raw.py +180 -0
- pcapkit/protocols/protocol.py +1216 -0
- pcapkit/protocols/schema/__init__.py +140 -0
- pcapkit/protocols/schema/application/__init__.py +40 -0
- pcapkit/protocols/schema/application/ftp.py +21 -0
- pcapkit/protocols/schema/application/httpv1.py +21 -0
- pcapkit/protocols/schema/application/httpv2.py +384 -0
- pcapkit/protocols/schema/internet/__init__.py +294 -0
- pcapkit/protocols/schema/internet/ah.py +40 -0
- pcapkit/protocols/schema/internet/hip.py +1184 -0
- pcapkit/protocols/schema/internet/hopopt.py +679 -0
- pcapkit/protocols/schema/internet/ipv4.py +576 -0
- pcapkit/protocols/schema/internet/ipv6.py +63 -0
- pcapkit/protocols/schema/internet/ipv6_frag.py +48 -0
- pcapkit/protocols/schema/internet/ipv6_opts.py +680 -0
- pcapkit/protocols/schema/internet/ipv6_route.py +198 -0
- pcapkit/protocols/schema/internet/ipx.py +40 -0
- pcapkit/protocols/schema/internet/mh.py +718 -0
- pcapkit/protocols/schema/link/__init__.py +19 -0
- pcapkit/protocols/schema/link/arp.py +39 -0
- pcapkit/protocols/schema/link/ethernet.py +51 -0
- pcapkit/protocols/schema/link/l2tp.py +88 -0
- pcapkit/protocols/schema/link/ospf.py +90 -0
- pcapkit/protocols/schema/link/vlan.py +69 -0
- pcapkit/protocols/schema/misc/__init__.py +108 -0
- pcapkit/protocols/schema/misc/null.py +18 -0
- pcapkit/protocols/schema/misc/pcap/__init__.py +10 -0
- pcapkit/protocols/schema/misc/pcap/frame.py +51 -0
- pcapkit/protocols/schema/misc/pcap/header.py +63 -0
- pcapkit/protocols/schema/misc/pcapng.py +1689 -0
- pcapkit/protocols/schema/misc/raw.py +24 -0
- pcapkit/protocols/schema/schema.py +809 -0
- pcapkit/protocols/schema/transport/__init__.py +69 -0
- pcapkit/protocols/schema/transport/tcp.py +928 -0
- pcapkit/protocols/schema/transport/udp.py +90 -0
- pcapkit/protocols/transport/NotImplemented/dccp.py +0 -0
- pcapkit/protocols/transport/NotImplemented/rsvp.py +0 -0
- pcapkit/protocols/transport/NotImplemented/sctp.py +0 -0
- pcapkit/protocols/transport/__init__.py +27 -0
- pcapkit/protocols/transport/tcp.py +3025 -0
- pcapkit/protocols/transport/transport.py +158 -0
- pcapkit/protocols/transport/udp.py +214 -0
- pcapkit/py.typed +0 -0
- pcapkit/toolkit/__init__.py +57 -0
- pcapkit/toolkit/dpkt.py +306 -0
- pcapkit/toolkit/pcap.py +212 -0
- pcapkit/toolkit/pcapng.py +251 -0
- pcapkit/toolkit/pyshark.py +99 -0
- pcapkit/toolkit/scapy.py +297 -0
- pcapkit/utilities/__init__.py +20 -0
- pcapkit/utilities/compat.py +196 -0
- pcapkit/utilities/decorators.py +192 -0
- pcapkit/utilities/exceptions.py +365 -0
- pcapkit/utilities/logging.py +55 -0
- pcapkit/utilities/warnings.py +185 -0
- pcapkit/vendor/__init__.py +105 -0
- pcapkit/vendor/__main__.py +92 -0
- pcapkit/vendor/arp/__init__.py +27 -0
- pcapkit/vendor/arp/hardware.py +29 -0
- pcapkit/vendor/arp/operation.py +29 -0
- pcapkit/vendor/default.py +474 -0
- pcapkit/vendor/ftp/__init__.py +27 -0
- pcapkit/vendor/ftp/command.py +244 -0
- pcapkit/vendor/ftp/return_code.py +256 -0
- pcapkit/vendor/hip/__init__.py +94 -0
- pcapkit/vendor/hip/certificate.py +29 -0
- pcapkit/vendor/hip/cipher.py +29 -0
- pcapkit/vendor/hip/di.py +29 -0
- pcapkit/vendor/hip/ecdsa_curve.py +29 -0
- pcapkit/vendor/hip/ecdsa_low_curve.py +29 -0
- pcapkit/vendor/hip/eddsa_curve.py +85 -0
- pcapkit/vendor/hip/esp_transform_suite.py +29 -0
- pcapkit/vendor/hip/group.py +87 -0
- pcapkit/vendor/hip/hi_algorithm.py +29 -0
- pcapkit/vendor/hip/hit_suite.py +29 -0
- pcapkit/vendor/hip/nat_traversal.py +29 -0
- pcapkit/vendor/hip/notify_message.py +29 -0
- pcapkit/vendor/hip/packet.py +88 -0
- pcapkit/vendor/hip/parameter.py +88 -0
- pcapkit/vendor/hip/registration.py +29 -0
- pcapkit/vendor/hip/registration_failure.py +29 -0
- pcapkit/vendor/hip/suite.py +29 -0
- pcapkit/vendor/hip/transport.py +29 -0
- pcapkit/vendor/http/__init__.py +39 -0
- pcapkit/vendor/http/error_code.py +95 -0
- pcapkit/vendor/http/frame.py +91 -0
- pcapkit/vendor/http/method.py +167 -0
- pcapkit/vendor/http/setting.py +93 -0
- pcapkit/vendor/http/status_code.py +185 -0
- pcapkit/vendor/ipv4/__init__.py +57 -0
- pcapkit/vendor/ipv4/classification_level.py +91 -0
- pcapkit/vendor/ipv4/option_class.py +80 -0
- pcapkit/vendor/ipv4/option_number.py +105 -0
- pcapkit/vendor/ipv4/protection_authority.py +84 -0
- pcapkit/vendor/ipv4/qs_function.py +78 -0
- pcapkit/vendor/ipv4/router_alert.py +93 -0
- pcapkit/vendor/ipv4/tos_del.py +78 -0
- pcapkit/vendor/ipv4/tos_ecn.py +95 -0
- pcapkit/vendor/ipv4/tos_pre.py +84 -0
- pcapkit/vendor/ipv4/tos_rel.py +78 -0
- pcapkit/vendor/ipv4/tos_thr.py +77 -0
- pcapkit/vendor/ipv4/ts_flag.py +79 -0
- pcapkit/vendor/ipv6/__init__.py +53 -0
- pcapkit/vendor/ipv6/extension_header.py +171 -0
- pcapkit/vendor/ipv6/option.py +104 -0
- pcapkit/vendor/ipv6/option_action.py +90 -0
- pcapkit/vendor/ipv6/qs_function.py +78 -0
- pcapkit/vendor/ipv6/router_alert.py +93 -0
- pcapkit/vendor/ipv6/routing.py +87 -0
- pcapkit/vendor/ipv6/seed_id.py +81 -0
- pcapkit/vendor/ipv6/smf_dpd_mode.py +78 -0
- pcapkit/vendor/ipv6/tagger_id.py +81 -0
- pcapkit/vendor/ipx/__init__.py +37 -0
- pcapkit/vendor/ipx/packet.py +123 -0
- pcapkit/vendor/ipx/socket.py +125 -0
- pcapkit/vendor/l2tp/__init__.py +21 -0
- pcapkit/vendor/l2tp/type.py +78 -0
- pcapkit/vendor/mh/__init__.py +204 -0
- pcapkit/vendor/mh/access_type.py +87 -0
- pcapkit/vendor/mh/ack_status_code.py +88 -0
- pcapkit/vendor/mh/ani_suboption.py +88 -0
- pcapkit/vendor/mh/auth_subtype.py +83 -0
- pcapkit/vendor/mh/binding_ack_flag.py +148 -0
- pcapkit/vendor/mh/binding_error.py +78 -0
- pcapkit/vendor/mh/binding_revocation.py +87 -0
- pcapkit/vendor/mh/binding_update_flag.py +147 -0
- pcapkit/vendor/mh/cga_extension.py +91 -0
- pcapkit/vendor/mh/cga_sec.py +91 -0
- pcapkit/vendor/mh/cga_type.py +74 -0
- pcapkit/vendor/mh/dhcp_support_mode.py +77 -0
- pcapkit/vendor/mh/dns_status_code.py +87 -0
- pcapkit/vendor/mh/dsmip6_tls_packet.py +87 -0
- pcapkit/vendor/mh/dsmipv6_home_address.py +87 -0
- pcapkit/vendor/mh/enumerating_algorithm.py +82 -0
- pcapkit/vendor/mh/fb_ack_status.py +87 -0
- pcapkit/vendor/mh/fb_action.py +88 -0
- pcapkit/vendor/mh/fb_indication_trigger.py +87 -0
- pcapkit/vendor/mh/fb_type.py +88 -0
- pcapkit/vendor/mh/flow_id_status.py +87 -0
- pcapkit/vendor/mh/flow_id_suboption.py +87 -0
- pcapkit/vendor/mh/handoff_type.py +87 -0
- pcapkit/vendor/mh/handover_ack_flag.py +143 -0
- pcapkit/vendor/mh/handover_ack_status.py +87 -0
- pcapkit/vendor/mh/handover_initiate_flag.py +143 -0
- pcapkit/vendor/mh/handover_initiate_status.py +87 -0
- pcapkit/vendor/mh/home_address_reply.py +87 -0
- pcapkit/vendor/mh/lla_code.py +97 -0
- pcapkit/vendor/mh/lma_mag_suboption.py +88 -0
- pcapkit/vendor/mh/mn_group_id.py +87 -0
- pcapkit/vendor/mh/mn_id_subtype.py +87 -0
- pcapkit/vendor/mh/operator_id.py +87 -0
- pcapkit/vendor/mh/option.py +83 -0
- pcapkit/vendor/mh/packet.py +82 -0
- pcapkit/vendor/mh/qos_attribute.py +87 -0
- pcapkit/vendor/mh/revocation_status_code.py +87 -0
- pcapkit/vendor/mh/revocation_trigger.py +87 -0
- pcapkit/vendor/mh/status_code.py +91 -0
- pcapkit/vendor/mh/traffic_selector.py +87 -0
- pcapkit/vendor/mh/upa_status.py +87 -0
- pcapkit/vendor/mh/upn_reason.py +87 -0
- pcapkit/vendor/ospf/__init__.py +27 -0
- pcapkit/vendor/ospf/authentication.py +29 -0
- pcapkit/vendor/ospf/packet.py +29 -0
- pcapkit/vendor/pcapng/__init__.py +51 -0
- pcapkit/vendor/pcapng/block_type.py +94 -0
- pcapkit/vendor/pcapng/filter_type.py +77 -0
- pcapkit/vendor/pcapng/hash_algorithm.py +82 -0
- pcapkit/vendor/pcapng/option_type.py +287 -0
- pcapkit/vendor/pcapng/record_type.py +81 -0
- pcapkit/vendor/pcapng/secrets_type.py +81 -0
- pcapkit/vendor/pcapng/verdict_type.py +79 -0
- pcapkit/vendor/reg/__init__.py +34 -0
- pcapkit/vendor/reg/apptype.py +338 -0
- pcapkit/vendor/reg/ethertype.py +121 -0
- pcapkit/vendor/reg/linktype.py +110 -0
- pcapkit/vendor/reg/transtype.py +111 -0
- pcapkit/vendor/tcp/__init__.py +35 -0
- pcapkit/vendor/tcp/checksum.py +80 -0
- pcapkit/vendor/tcp/flags.py +149 -0
- pcapkit/vendor/tcp/mp_tcp_option.py +90 -0
- pcapkit/vendor/tcp/option.py +103 -0
- pcapkit/vendor/vlan/__init__.py +23 -0
- pcapkit/vendor/vlan/priority_level.py +97 -0
- pypcapkit-1.3.3.post1.dist-info/LICENSE +29 -0
- pypcapkit-1.3.3.post1.dist-info/METADATA +236 -0
- pypcapkit-1.3.3.post1.dist-info/RECORD +466 -0
- pypcapkit-1.3.3.post1.dist-info/WHEEL +5 -0
- pypcapkit-1.3.3.post1.dist-info/entry_points.txt +3 -0
- 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
|