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,68 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Registration Types
|
4
|
+
========================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.registration
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Registration Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.registration.Registration`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Registration']
|
16
|
+
|
17
|
+
|
18
|
+
class Registration(IntEnum):
|
19
|
+
"""[Registration] Registration Types"""
|
20
|
+
|
21
|
+
#: Unassigned
|
22
|
+
Unassigned_0 = 0
|
23
|
+
|
24
|
+
#: RENDEZVOUS [:rfc:`8004`]
|
25
|
+
RENDEZVOUS = 1
|
26
|
+
|
27
|
+
#: RELAY_UDP_HIP [:rfc:`5770`]
|
28
|
+
RELAY_UDP_HIP = 2
|
29
|
+
|
30
|
+
#: RELAY_UDP_ESP [:rfc:`9028`]
|
31
|
+
RELAY_UDP_ESP = 3
|
32
|
+
|
33
|
+
#: CANDIDATE_DISCOVERY [:rfc:`9028`]
|
34
|
+
CANDIDATE_DISCOVERY = 4
|
35
|
+
|
36
|
+
@staticmethod
|
37
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Registration':
|
38
|
+
"""Backport support for original codes.
|
39
|
+
|
40
|
+
Args:
|
41
|
+
key: Key to get enum item.
|
42
|
+
default: Default value if not found.
|
43
|
+
|
44
|
+
:meta private:
|
45
|
+
"""
|
46
|
+
if isinstance(key, int):
|
47
|
+
return Registration(key)
|
48
|
+
if key not in Registration._member_map_: # pylint: disable=no-member
|
49
|
+
return extend_enum(Registration, key, default)
|
50
|
+
return Registration[key] # type: ignore[misc]
|
51
|
+
|
52
|
+
@classmethod
|
53
|
+
def _missing_(cls, value: 'int') -> 'Registration':
|
54
|
+
"""Lookup function used when value is not found.
|
55
|
+
|
56
|
+
Args:
|
57
|
+
value: Value to get enum item.
|
58
|
+
|
59
|
+
"""
|
60
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
61
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
62
|
+
if 5 <= value <= 200:
|
63
|
+
#: Unassigned
|
64
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
65
|
+
if 201 <= value <= 255:
|
66
|
+
#: Reserved for Private Use [:rfc:`8003`]
|
67
|
+
return extend_enum(cls, 'Reserved_for_Private_Use_%d' % value, value)
|
68
|
+
return super()._missing_(value)
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Registration Failure Types
|
4
|
+
================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.registration_failure
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Registration Failure Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.registration_failure.RegistrationFailure`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['RegistrationFailure']
|
16
|
+
|
17
|
+
|
18
|
+
class RegistrationFailure(IntEnum):
|
19
|
+
"""[RegistrationFailure] Registration Failure Types"""
|
20
|
+
|
21
|
+
#: Registration requires additional credentials [:rfc:`8003`]
|
22
|
+
Registration_requires_additional_credentials = 0
|
23
|
+
|
24
|
+
#: Registration type unavailable [:rfc:`8003`]
|
25
|
+
Registration_type_unavailable = 1
|
26
|
+
|
27
|
+
#: Insufficient resources [:rfc:`8003`]
|
28
|
+
Insufficient_resources = 2
|
29
|
+
|
30
|
+
#: Invalid certificate [:rfc:`8003`]
|
31
|
+
Invalid_certificate = 3
|
32
|
+
|
33
|
+
#: Bad certificate [:rfc:`8003`]
|
34
|
+
Bad_certificate = 4
|
35
|
+
|
36
|
+
#: Unsupported certificate [:rfc:`8003`]
|
37
|
+
Unsupported_certificate = 5
|
38
|
+
|
39
|
+
#: Certificate expired [:rfc:`8003`]
|
40
|
+
Certificate_expired = 6
|
41
|
+
|
42
|
+
#: Certificate other [:rfc:`8003`]
|
43
|
+
Certificate_other = 7
|
44
|
+
|
45
|
+
#: Unknown CA [:rfc:`8003`]
|
46
|
+
Unknown_CA = 8
|
47
|
+
|
48
|
+
#: Simultaneous Rendezvous and Control Relay Service usage prohibited
|
49
|
+
#: [:rfc:`9028`]
|
50
|
+
Simultaneous_Rendezvous_and_Control_Relay_Service_usage_prohibited = 9
|
51
|
+
|
52
|
+
@staticmethod
|
53
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'RegistrationFailure':
|
54
|
+
"""Backport support for original codes.
|
55
|
+
|
56
|
+
Args:
|
57
|
+
key: Key to get enum item.
|
58
|
+
default: Default value if not found.
|
59
|
+
|
60
|
+
:meta private:
|
61
|
+
"""
|
62
|
+
if isinstance(key, int):
|
63
|
+
return RegistrationFailure(key)
|
64
|
+
if key not in RegistrationFailure._member_map_: # pylint: disable=no-member
|
65
|
+
return extend_enum(RegistrationFailure, key, default)
|
66
|
+
return RegistrationFailure[key] # type: ignore[misc]
|
67
|
+
|
68
|
+
@classmethod
|
69
|
+
def _missing_(cls, value: 'int') -> 'RegistrationFailure':
|
70
|
+
"""Lookup function used when value is not found.
|
71
|
+
|
72
|
+
Args:
|
73
|
+
value: Value to get enum item.
|
74
|
+
|
75
|
+
"""
|
76
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
77
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
78
|
+
if 10 <= value <= 200:
|
79
|
+
#: Unassigned
|
80
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
81
|
+
if 201 <= value <= 255:
|
82
|
+
#: Reserved for Private Use [:rfc:`8003`]
|
83
|
+
return extend_enum(cls, 'Reserved_for_Private_Use_%d' % value, value)
|
84
|
+
return super()._missing_(value)
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Suite IDs
|
4
|
+
===============
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.suite
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Suite IDs**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.suite.Suite`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Suite']
|
16
|
+
|
17
|
+
|
18
|
+
class Suite(IntEnum):
|
19
|
+
"""[Suite] Suite IDs"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`5201`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: AES-CBC with HMAC-SHA1 [:rfc:`5201`]
|
25
|
+
AES_CBC_with_HMAC_SHA1 = 1
|
26
|
+
|
27
|
+
#: 3DES-CBC with HMAC-SHA1 [:rfc:`5201`]
|
28
|
+
Suite_3DES_CBC_with_HMAC_SHA1 = 2
|
29
|
+
|
30
|
+
#: 3DES-CBC with HMAC-MD5 [:rfc:`5201`]
|
31
|
+
Suite_3DES_CBC_with_HMAC_MD5 = 3
|
32
|
+
|
33
|
+
#: BLOWFISH-CBC with HMAC-SHA1 [:rfc:`5201`]
|
34
|
+
BLOWFISH_CBC_with_HMAC_SHA1 = 4
|
35
|
+
|
36
|
+
#: NULL-ENCRYPT with HMAC-SHA1 [:rfc:`5201`]
|
37
|
+
NULL_ENCRYPT_with_HMAC_SHA1 = 5
|
38
|
+
|
39
|
+
#: NULL-ENCRYPT with HMAC-MD5 [:rfc:`5201`]
|
40
|
+
NULL_ENCRYPT_with_HMAC_MD5 = 6
|
41
|
+
|
42
|
+
@staticmethod
|
43
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Suite':
|
44
|
+
"""Backport support for original codes.
|
45
|
+
|
46
|
+
Args:
|
47
|
+
key: Key to get enum item.
|
48
|
+
default: Default value if not found.
|
49
|
+
|
50
|
+
:meta private:
|
51
|
+
"""
|
52
|
+
if isinstance(key, int):
|
53
|
+
return Suite(key)
|
54
|
+
if key not in Suite._member_map_: # pylint: disable=no-member
|
55
|
+
return extend_enum(Suite, key, default)
|
56
|
+
return Suite[key] # type: ignore[misc]
|
57
|
+
|
58
|
+
@classmethod
|
59
|
+
def _missing_(cls, value: 'int') -> 'Suite':
|
60
|
+
"""Lookup function used when value is not found.
|
61
|
+
|
62
|
+
Args:
|
63
|
+
value: Value to get enum item.
|
64
|
+
|
65
|
+
"""
|
66
|
+
if not (isinstance(value, int) and 0 <= value <= 65535):
|
67
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
68
|
+
if 7 <= value <= 65535:
|
69
|
+
#: Unassigned
|
70
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
71
|
+
return super()._missing_(value)
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""HIP Transport Modes
|
4
|
+
=========================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.transport
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **HIP Transport Modes**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.transport.Transport`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Transport']
|
16
|
+
|
17
|
+
|
18
|
+
class Transport(IntEnum):
|
19
|
+
"""[Transport] HIP Transport Modes"""
|
20
|
+
|
21
|
+
#: RESERVED [:rfc:`6261`]
|
22
|
+
RESERVED_0 = 0
|
23
|
+
|
24
|
+
#: DEFAULT [:rfc:`6261`]
|
25
|
+
DEFAULT = 1
|
26
|
+
|
27
|
+
#: ESP [:rfc:`6261`]
|
28
|
+
ESP = 2
|
29
|
+
|
30
|
+
#: ESP-TCP [:rfc:`6261`]
|
31
|
+
ESP_TCP = 3
|
32
|
+
|
33
|
+
@staticmethod
|
34
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Transport':
|
35
|
+
"""Backport support for original codes.
|
36
|
+
|
37
|
+
Args:
|
38
|
+
key: Key to get enum item.
|
39
|
+
default: Default value if not found.
|
40
|
+
|
41
|
+
:meta private:
|
42
|
+
"""
|
43
|
+
if isinstance(key, int):
|
44
|
+
return Transport(key)
|
45
|
+
if key not in Transport._member_map_: # pylint: disable=no-member
|
46
|
+
return extend_enum(Transport, key, default)
|
47
|
+
return Transport[key] # type: ignore[misc]
|
48
|
+
|
49
|
+
@classmethod
|
50
|
+
def _missing_(cls, value: 'int') -> 'Transport':
|
51
|
+
"""Lookup function used when value is not found.
|
52
|
+
|
53
|
+
Args:
|
54
|
+
value: Value to get enum item.
|
55
|
+
|
56
|
+
"""
|
57
|
+
if not (isinstance(value, int) and 0 <= value <= 3):
|
58
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
59
|
+
return super()._missing_(value)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=unused-import
|
3
|
+
r""":class:`~pcapkit.protocols.application.http.HTTP` Constant Enumerations
|
4
|
+
==============================================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.http
|
7
|
+
|
8
|
+
This module contains all constant enumerations of
|
9
|
+
:class:`~pcapkit.protocols.application.http.HTTP` implementations. Available
|
10
|
+
enumerations include:
|
11
|
+
|
12
|
+
.. list-table::
|
13
|
+
|
14
|
+
* - :class:`HTTP_ErrorCode <pcapkit.const.http.error_code.ErrorCode>`
|
15
|
+
- HTTP/2 Error Code [*]_
|
16
|
+
* - :class:`HTTP_Frame <pcapkit.const.http.frame.Frame>`
|
17
|
+
- HTTP/2 Frame Type [*]_
|
18
|
+
* - :class:`HTTP_Method <pcapkit.const.http.method.Method>`
|
19
|
+
- HTTP/1.\* Method [*]_
|
20
|
+
* - :class:`HTTP_Setting <pcapkit.const.http.setting.Setting>`
|
21
|
+
- HTTP/2 Settings [*]_
|
22
|
+
* - :class:`HTTP_Status <pcapkit.const.http.status_code.StatusCode>`
|
23
|
+
- HTTP/1.\* Status Code [*]_
|
24
|
+
|
25
|
+
.. [*] https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#error-code
|
26
|
+
.. [*] https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#frame-type
|
27
|
+
.. [*] https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods
|
28
|
+
.. [*] https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings
|
29
|
+
.. [*] https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml#http-status-codes-1
|
30
|
+
|
31
|
+
"""
|
32
|
+
|
33
|
+
from pcapkit.const.http.error_code import ErrorCode as HTTP_ErrorCode
|
34
|
+
from pcapkit.const.http.frame import Frame as HTTP_Frame
|
35
|
+
from pcapkit.const.http.method import Method as HTTP_Method
|
36
|
+
from pcapkit.const.http.setting import Setting as HTTP_Setting
|
37
|
+
from pcapkit.const.http.status_code import StatusCode as HTTP_Status
|
38
|
+
|
39
|
+
__all__ = ['HTTP_ErrorCode', 'HTTP_Frame', 'HTTP_Method', 'HTTP_Setting', 'HTTP_Status']
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""HTTP/2 Error Code
|
4
|
+
=======================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.http.error_code
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **HTTP/2 Error Code**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.http.error_code.ErrorCode`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['ErrorCode']
|
16
|
+
|
17
|
+
|
18
|
+
class ErrorCode(IntEnum):
|
19
|
+
"""[ErrorCode] HTTP/2 Error Code"""
|
20
|
+
|
21
|
+
#: NO_ERROR, Graceful shutdown [:rfc:`9113#section-7`]
|
22
|
+
NO_ERROR = 0x00000000
|
23
|
+
|
24
|
+
#: PROTOCOL_ERROR, Protocol error detected [:rfc:`9113#section-7`]
|
25
|
+
PROTOCOL_ERROR = 0x00000001
|
26
|
+
|
27
|
+
#: INTERNAL_ERROR, Implementation fault [:rfc:`9113#section-7`]
|
28
|
+
INTERNAL_ERROR = 0x00000002
|
29
|
+
|
30
|
+
#: FLOW_CONTROL_ERROR, Flow-control limits exceeded [:rfc:`9113#section-7`]
|
31
|
+
FLOW_CONTROL_ERROR = 0x00000003
|
32
|
+
|
33
|
+
#: SETTINGS_TIMEOUT, Settings not acknowledged [:rfc:`9113#section-7`]
|
34
|
+
SETTINGS_TIMEOUT = 0x00000004
|
35
|
+
|
36
|
+
#: STREAM_CLOSED, Frame received for closed stream [:rfc:`9113#section-7`]
|
37
|
+
STREAM_CLOSED = 0x00000005
|
38
|
+
|
39
|
+
#: FRAME_SIZE_ERROR, Frame size incorrect [:rfc:`9113#section-7`]
|
40
|
+
FRAME_SIZE_ERROR = 0x00000006
|
41
|
+
|
42
|
+
#: REFUSED_STREAM, Stream not processed [:rfc:`9113#section-7`]
|
43
|
+
REFUSED_STREAM = 0x00000007
|
44
|
+
|
45
|
+
#: CANCEL, Stream cancelled [:rfc:`9113#section-7`]
|
46
|
+
CANCEL = 0x00000008
|
47
|
+
|
48
|
+
#: COMPRESSION_ERROR, Compression state not updated [:rfc:`9113#section-7`]
|
49
|
+
COMPRESSION_ERROR = 0x00000009
|
50
|
+
|
51
|
+
#: CONNECT_ERROR, TCP connection error for CONNECT method
|
52
|
+
#: [:rfc:`9113#section-7`]
|
53
|
+
CONNECT_ERROR = 0x0000000A
|
54
|
+
|
55
|
+
#: ENHANCE_YOUR_CALM, Processing capacity exceeded [:rfc:`9113#section-7`]
|
56
|
+
ENHANCE_YOUR_CALM = 0x0000000B
|
57
|
+
|
58
|
+
#: INADEQUATE_SECURITY, Negotiated TLS parameters not acceptable
|
59
|
+
#: [:rfc:`9113#section-7`]
|
60
|
+
INADEQUATE_SECURITY = 0x0000000C
|
61
|
+
|
62
|
+
#: HTTP_1_1_REQUIRED, Use HTTP/1.1 for the request [:rfc:`9113#section-7`]
|
63
|
+
HTTP_1_1_REQUIRED = 0x0000000D
|
64
|
+
|
65
|
+
@staticmethod
|
66
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'ErrorCode':
|
67
|
+
"""Backport support for original codes.
|
68
|
+
|
69
|
+
Args:
|
70
|
+
key: Key to get enum item.
|
71
|
+
default: Default value if not found.
|
72
|
+
|
73
|
+
:meta private:
|
74
|
+
"""
|
75
|
+
if isinstance(key, int):
|
76
|
+
return ErrorCode(key)
|
77
|
+
if key not in ErrorCode._member_map_: # pylint: disable=no-member
|
78
|
+
return extend_enum(ErrorCode, key, default)
|
79
|
+
return ErrorCode[key] # type: ignore[misc]
|
80
|
+
|
81
|
+
@classmethod
|
82
|
+
def _missing_(cls, value: 'int') -> 'ErrorCode':
|
83
|
+
"""Lookup function used when value is not found.
|
84
|
+
|
85
|
+
Args:
|
86
|
+
value: Value to get enum item.
|
87
|
+
|
88
|
+
"""
|
89
|
+
if not (isinstance(value, int) and 0x00000000 <= value <= 0xFFFFFFFF):
|
90
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
91
|
+
if 0x0000000E <= value <= 0xFFFFFFFF:
|
92
|
+
#: Unassigned
|
93
|
+
temp = hex(value)[2:].upper().zfill(8)
|
94
|
+
return extend_enum(cls, 'Unassigned_0x%s' % (temp[:4]+'_'+temp[4:]), value)
|
95
|
+
return super()._missing_(value)
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""HTTP/2 Frame Type
|
4
|
+
=======================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.http.frame
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **HTTP/2 Frame Type**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.http.frame.Frame`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Frame']
|
16
|
+
|
17
|
+
|
18
|
+
class Frame(IntEnum):
|
19
|
+
"""[Frame] HTTP/2 Frame Type"""
|
20
|
+
|
21
|
+
#: ``DATA`` [:rfc:`9113#section-6.1`]
|
22
|
+
DATA = 0x00
|
23
|
+
|
24
|
+
#: ``HEADERS`` [:rfc:`9113#section-6.2`]
|
25
|
+
HEADERS = 0x01
|
26
|
+
|
27
|
+
#: ``PRIORITY`` [:rfc:`9113#section-6.3`]
|
28
|
+
PRIORITY = 0x02
|
29
|
+
|
30
|
+
#: ``RST_STREAM`` [:rfc:`9113#section-6.4`]
|
31
|
+
RST_STREAM = 0x03
|
32
|
+
|
33
|
+
#: ``SETTINGS`` [:rfc:`9113#section-6.5`]
|
34
|
+
SETTINGS = 0x04
|
35
|
+
|
36
|
+
#: ``PUSH_PROMISE`` [:rfc:`9113#section-6.6`]
|
37
|
+
PUSH_PROMISE = 0x05
|
38
|
+
|
39
|
+
#: ``PING`` [:rfc:`9113#section-6.7`]
|
40
|
+
PING = 0x06
|
41
|
+
|
42
|
+
#: ``GOAWAY`` [:rfc:`9113#section-6.8`]
|
43
|
+
GOAWAY = 0x07
|
44
|
+
|
45
|
+
#: ``WINDOW_UPDATE`` [:rfc:`9113#section-6.9`]
|
46
|
+
WINDOW_UPDATE = 0x08
|
47
|
+
|
48
|
+
#: ``CONTINUATION`` [:rfc:`9113#section-6.10`]
|
49
|
+
CONTINUATION = 0x09
|
50
|
+
|
51
|
+
#: ``ALTSVC`` [:rfc:`7838#section-4`]
|
52
|
+
ALTSVC = 0x0A
|
53
|
+
|
54
|
+
#: ``Unassigned``
|
55
|
+
Unassigned_0x0B = 0x0B
|
56
|
+
|
57
|
+
#: ``ORIGIN`` [:rfc:`8336`]
|
58
|
+
ORIGIN = 0x0C
|
59
|
+
|
60
|
+
#: ``PRIORITY_UPDATE`` [:rfc:`9218`]
|
61
|
+
PRIORITY_UPDATE = 0x10
|
62
|
+
|
63
|
+
@staticmethod
|
64
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Frame':
|
65
|
+
"""Backport support for original codes.
|
66
|
+
|
67
|
+
Args:
|
68
|
+
key: Key to get enum item.
|
69
|
+
default: Default value if not found.
|
70
|
+
|
71
|
+
:meta private:
|
72
|
+
"""
|
73
|
+
if isinstance(key, int):
|
74
|
+
return Frame(key)
|
75
|
+
if key not in Frame._member_map_: # pylint: disable=no-member
|
76
|
+
return extend_enum(Frame, key, default)
|
77
|
+
return Frame[key] # type: ignore[misc]
|
78
|
+
|
79
|
+
@classmethod
|
80
|
+
def _missing_(cls, value: 'int') -> 'Frame':
|
81
|
+
"""Lookup function used when value is not found.
|
82
|
+
|
83
|
+
Args:
|
84
|
+
value: Value to get enum item.
|
85
|
+
|
86
|
+
"""
|
87
|
+
if not (isinstance(value, int) and 0x00 <= value <= 0xFF):
|
88
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
89
|
+
if 0x0D <= value <= 0x0F:
|
90
|
+
#: ``Unassigned``
|
91
|
+
return extend_enum(cls, 'Unassigned_0x%s' % hex(value)[2:].upper().zfill(2), value)
|
92
|
+
if 0x11 <= value <= 0xFF:
|
93
|
+
#: ``Unassigned``
|
94
|
+
return extend_enum(cls, 'Unassigned_0x%s' % hex(value)[2:].upper().zfill(2), value)
|
95
|
+
return super()._missing_(value)
|
@@ -0,0 +1,184 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""HTTP Method
|
4
|
+
=================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.http.method
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **HTTP Method**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.http.method.Method`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from typing import TYPE_CHECKING
|
14
|
+
|
15
|
+
from aenum import StrEnum, extend_enum
|
16
|
+
|
17
|
+
if TYPE_CHECKING:
|
18
|
+
from typing import Optional, Type
|
19
|
+
|
20
|
+
__all__ = ['Method']
|
21
|
+
|
22
|
+
class Method(StrEnum):
|
23
|
+
"""[Method] HTTP Method"""
|
24
|
+
|
25
|
+
if TYPE_CHECKING:
|
26
|
+
#: Safe method.
|
27
|
+
safe: 'bool'
|
28
|
+
#: Idempotent method.
|
29
|
+
idempotent: 'bool'
|
30
|
+
|
31
|
+
def __new__(cls, value: 'str', safe: 'bool' = False,
|
32
|
+
idempotent: 'bool' = False) -> 'Type[Method]':
|
33
|
+
obj = str.__new__(cls)
|
34
|
+
obj._value_ = value
|
35
|
+
|
36
|
+
obj.safe = safe
|
37
|
+
obj.idempotent = idempotent
|
38
|
+
|
39
|
+
return obj
|
40
|
+
|
41
|
+
def __repr__(self) -> 'str':
|
42
|
+
return "<%s.%s>" % (self.__class__.__name__, self._value_)
|
43
|
+
|
44
|
+
#: ACL [:rfc:`3744#section-8.1`]
|
45
|
+
ACL = 'ACL', False, True
|
46
|
+
|
47
|
+
#: BASELINE-CONTROL [:rfc:`3253#section-12.6`]
|
48
|
+
BASELINE_CONTROL = 'BASELINE-CONTROL', False, True
|
49
|
+
|
50
|
+
#: BIND [:rfc:`5842#section-4`]
|
51
|
+
BIND = 'BIND', False, True
|
52
|
+
|
53
|
+
#: CHECKIN [:rfc:`3253#section-4.4,-section-9.4`]
|
54
|
+
CHECKIN = 'CHECKIN', False, True
|
55
|
+
|
56
|
+
#: CHECKOUT [:rfc:`3253#section-4.3,-section-8.8`]
|
57
|
+
CHECKOUT = 'CHECKOUT', False, True
|
58
|
+
|
59
|
+
#: CONNECT [:rfc:`9110#section-9.3.6`]
|
60
|
+
CONNECT = 'CONNECT', False, False
|
61
|
+
|
62
|
+
#: COPY [:rfc:`4918#section-9.8`]
|
63
|
+
COPY = 'COPY', False, True
|
64
|
+
|
65
|
+
#: DELETE [:rfc:`9110#section-9.3.5`]
|
66
|
+
DELETE = 'DELETE', False, True
|
67
|
+
|
68
|
+
#: GET [:rfc:`9110#section-9.3.1`]
|
69
|
+
GET = 'GET', True, True
|
70
|
+
|
71
|
+
#: HEAD [:rfc:`9110#section-9.3.2`]
|
72
|
+
HEAD = 'HEAD', True, True
|
73
|
+
|
74
|
+
#: LABEL [:rfc:`3253#section-8.2`]
|
75
|
+
LABEL = 'LABEL', False, True
|
76
|
+
|
77
|
+
#: LINK [:rfc:`2068#section-19.6.1.2`]
|
78
|
+
LINK = 'LINK', False, True
|
79
|
+
|
80
|
+
#: LOCK [:rfc:`4918#section-9.10`]
|
81
|
+
LOCK = 'LOCK', False, False
|
82
|
+
|
83
|
+
#: MERGE [:rfc:`3253#section-11.2`]
|
84
|
+
MERGE = 'MERGE', False, True
|
85
|
+
|
86
|
+
#: MKACTIVITY [:rfc:`3253#section-13.5`]
|
87
|
+
MKACTIVITY = 'MKACTIVITY', False, True
|
88
|
+
|
89
|
+
#: MKCALENDAR [:rfc:`4791#section-5.3.1`][:rfc:`8144#section-2.3`]
|
90
|
+
MKCALENDAR = 'MKCALENDAR', False, True
|
91
|
+
|
92
|
+
#: MKCOL
|
93
|
+
#: [:rfc:`4918#section-9.3`][:rfc:`5689#section-3`][:rfc:`8144#section-2.3`]
|
94
|
+
MKCOL = 'MKCOL', False, True
|
95
|
+
|
96
|
+
#: MKREDIRECTREF [:rfc:`4437#section-6`]
|
97
|
+
MKREDIRECTREF = 'MKREDIRECTREF', False, True
|
98
|
+
|
99
|
+
#: MKWORKSPACE [:rfc:`3253#section-6.3`]
|
100
|
+
MKWORKSPACE = 'MKWORKSPACE', False, True
|
101
|
+
|
102
|
+
#: MOVE [:rfc:`4918#section-9.9`]
|
103
|
+
MOVE = 'MOVE', False, True
|
104
|
+
|
105
|
+
#: OPTIONS [:rfc:`9110#section-9.3.7`]
|
106
|
+
OPTIONS = 'OPTIONS', True, True
|
107
|
+
|
108
|
+
#: ORDERPATCH [:rfc:`3648#section-7`]
|
109
|
+
ORDERPATCH = 'ORDERPATCH', False, True
|
110
|
+
|
111
|
+
#: PATCH [:rfc:`5789#section-2`]
|
112
|
+
PATCH = 'PATCH', False, False
|
113
|
+
|
114
|
+
#: POST [:rfc:`9110#section-9.3.3`]
|
115
|
+
POST = 'POST', False, False
|
116
|
+
|
117
|
+
#: PRI [:rfc:`9113#section-3.4`]
|
118
|
+
PRI = 'PRI', True, True
|
119
|
+
|
120
|
+
#: PROPFIND [:rfc:`4918#section-9.1`][:rfc:`8144#section-2.1`]
|
121
|
+
PROPFIND = 'PROPFIND', True, True
|
122
|
+
|
123
|
+
#: PROPPATCH [:rfc:`4918#section-9.2`][:rfc:`8144#section-2.2`]
|
124
|
+
PROPPATCH = 'PROPPATCH', False, True
|
125
|
+
|
126
|
+
#: PUT [:rfc:`9110#section-9.3.4`]
|
127
|
+
PUT = 'PUT', False, True
|
128
|
+
|
129
|
+
#: REBIND [:rfc:`5842#section-6`]
|
130
|
+
REBIND = 'REBIND', False, True
|
131
|
+
|
132
|
+
#: REPORT [:rfc:`3253#section-3.6`][:rfc:`8144#section-2.1`]
|
133
|
+
REPORT = 'REPORT', True, True
|
134
|
+
|
135
|
+
#: SEARCH [:rfc:`5323#section-2`]
|
136
|
+
SEARCH = 'SEARCH', True, True
|
137
|
+
|
138
|
+
#: TRACE [:rfc:`9110#section-9.3.8`]
|
139
|
+
TRACE = 'TRACE', True, True
|
140
|
+
|
141
|
+
#: UNBIND [:rfc:`5842#section-5`]
|
142
|
+
UNBIND = 'UNBIND', False, True
|
143
|
+
|
144
|
+
#: UNCHECKOUT [:rfc:`3253#section-4.5`]
|
145
|
+
UNCHECKOUT = 'UNCHECKOUT', False, True
|
146
|
+
|
147
|
+
#: UNLINK [:rfc:`2068#section-19.6.1.3`]
|
148
|
+
UNLINK = 'UNLINK', False, True
|
149
|
+
|
150
|
+
#: UNLOCK [:rfc:`4918#section-9.11`]
|
151
|
+
UNLOCK = 'UNLOCK', False, True
|
152
|
+
|
153
|
+
#: UPDATE [:rfc:`3253#section-7.1`]
|
154
|
+
UPDATE = 'UPDATE', False, True
|
155
|
+
|
156
|
+
#: UPDATEREDIRECTREF [:rfc:`4437#section-7`]
|
157
|
+
UPDATEREDIRECTREF = 'UPDATEREDIRECTREF', False, True
|
158
|
+
|
159
|
+
#: VERSION-CONTROL [:rfc:`3253#section-3.5`]
|
160
|
+
VERSION_CONTROL = 'VERSION-CONTROL', False, True
|
161
|
+
|
162
|
+
@staticmethod
|
163
|
+
def get(key: 'str', default: 'Optional[str]' = None) -> 'Method':
|
164
|
+
"""Backport support for original codes.
|
165
|
+
|
166
|
+
Args:
|
167
|
+
key: Key to get enum item.
|
168
|
+
default: Default value if not found.
|
169
|
+
|
170
|
+
:meta private:
|
171
|
+
"""
|
172
|
+
if key not in Method._member_map_: # pylint: disable=no-member
|
173
|
+
return extend_enum(Method, key.upper(), default if default is not None else key)
|
174
|
+
return Method[key] # type: ignore[misc]
|
175
|
+
|
176
|
+
@classmethod
|
177
|
+
def _missing_(cls, value: 'str') -> 'Method':
|
178
|
+
"""Lookup function used when value is not found.
|
179
|
+
|
180
|
+
Args:
|
181
|
+
value: Value to get enum item.
|
182
|
+
|
183
|
+
"""
|
184
|
+
return extend_enum(cls, value.upper(), value)
|