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,304 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# mypy: disable-error-code=assignment
|
3
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
4
|
+
"""FTP Server Return Code
|
5
|
+
============================
|
6
|
+
|
7
|
+
.. module:: pcapkit.const.ftp.return_code
|
8
|
+
|
9
|
+
This module contains the constant enumeration for **FTP Server Return Code**,
|
10
|
+
which is automatically generated from :class:`pcapkit.vendor.ftp.return_code.ReturnCode`.
|
11
|
+
|
12
|
+
"""
|
13
|
+
|
14
|
+
from typing import TYPE_CHECKING
|
15
|
+
|
16
|
+
from aenum import IntEnum, extend_enum
|
17
|
+
|
18
|
+
if TYPE_CHECKING:
|
19
|
+
from typing import Optional, Type
|
20
|
+
|
21
|
+
__all__ = ['ReturnCode']
|
22
|
+
|
23
|
+
#: Grouping information.
|
24
|
+
INFO = {
|
25
|
+
'0': 'Syntax',
|
26
|
+
'1': 'Information',
|
27
|
+
'2': 'Connections',
|
28
|
+
'3': 'Authentication and accounting',
|
29
|
+
'4': 'Unspecified', # [RFC 959]
|
30
|
+
'5': 'File system',
|
31
|
+
} # type: dict[str, str]
|
32
|
+
|
33
|
+
|
34
|
+
class ResponseKind(IntEnum):
|
35
|
+
"""Response kind; whether the response is good, bad or incomplete."""
|
36
|
+
|
37
|
+
PositivePreliminary = 1
|
38
|
+
PositiveCompletion = 2
|
39
|
+
PositiveIntermediate = 3
|
40
|
+
TransientNegativeCompletion = 4
|
41
|
+
PermanentNegativeCompletion = 5
|
42
|
+
Protected = 6
|
43
|
+
|
44
|
+
def _missing_(cls, value: 'int') -> 'ResponseKind':
|
45
|
+
"""Lookup function used when value is not found.
|
46
|
+
|
47
|
+
Args:
|
48
|
+
value: Value to lookup.
|
49
|
+
|
50
|
+
"""
|
51
|
+
if isinstance(value, int) and 0 <= value <= 9:
|
52
|
+
return extend_enum(cls, 'Unknown_%d' % value, value)
|
53
|
+
return super()._missing_(value)
|
54
|
+
|
55
|
+
|
56
|
+
class GroupingInformation(IntEnum):
|
57
|
+
"""Grouping information."""
|
58
|
+
|
59
|
+
Syntax = 0
|
60
|
+
Information = 1
|
61
|
+
Connections = 2
|
62
|
+
AuthenticationAccounting = 3
|
63
|
+
Unspecified = 4
|
64
|
+
FileSystem = 5
|
65
|
+
|
66
|
+
def _missing_(cls, value: 'int') -> 'GroupingInformation':
|
67
|
+
"""Lookup function used when value is not found.
|
68
|
+
|
69
|
+
Args:
|
70
|
+
value: Value to lookup.
|
71
|
+
|
72
|
+
"""
|
73
|
+
if isinstance(value, int) and 0 <= value <= 9:
|
74
|
+
return extend_enum(cls, 'Unknown_%d' % value, value)
|
75
|
+
return super()._missing_(value)
|
76
|
+
|
77
|
+
|
78
|
+
class ReturnCode(IntEnum):
|
79
|
+
"""[ReturnCode] FTP Server Return Code"""
|
80
|
+
|
81
|
+
if TYPE_CHECKING:
|
82
|
+
#: Description of the return code.
|
83
|
+
description: 'Optional[str]'
|
84
|
+
#: Response kind.
|
85
|
+
kind: 'ResponseKind'
|
86
|
+
#: Grouping information.
|
87
|
+
group: 'GroupingInformation'
|
88
|
+
|
89
|
+
def __new__(cls, value: 'int', description: 'Optional[str]' = None) -> 'Type[ReturnCode]':
|
90
|
+
obj = int.__new__(cls, value)
|
91
|
+
obj._value_ = value
|
92
|
+
|
93
|
+
code = str(value)
|
94
|
+
obj.description = description
|
95
|
+
obj.kind = ResponseKind(int(code[0]))
|
96
|
+
obj.group = GroupingInformation(int(code[1]))
|
97
|
+
|
98
|
+
return obj
|
99
|
+
|
100
|
+
def __repr__(self) -> 'str':
|
101
|
+
return "<%s [%s]>" % (self.__class__.__name__, self._value_)
|
102
|
+
|
103
|
+
def __str__(self) -> 'str':
|
104
|
+
return "[%s] %s" % (self._value_, self.description)
|
105
|
+
|
106
|
+
#: Restart marker replay. In this case, the text is exact and not left to the
|
107
|
+
#: particular implementation; it must read: MARK yyyy = mmmm where yyyy is
|
108
|
+
#: User-process data stream marker, and mmmm server's equivalent marker (note
|
109
|
+
#: the spaces between markers and "=").
|
110
|
+
CODE_110: 'ReturnCode' = 110, 'Restart marker replay.'
|
111
|
+
|
112
|
+
#: Service ready in nnn minutes.
|
113
|
+
CODE_120: 'ReturnCode' = 120, 'Service ready in nnn minutes.'
|
114
|
+
|
115
|
+
#: Data connection already open; transfer starting.
|
116
|
+
CODE_125: 'ReturnCode' = 125, 'Data connection already open; transfer starting.'
|
117
|
+
|
118
|
+
#: File status okay; about to open data connection.
|
119
|
+
CODE_150: 'ReturnCode' = 150, 'File status okay; about to open data connection.'
|
120
|
+
|
121
|
+
#: Command not implemented, superfluous at this site.
|
122
|
+
CODE_202: 'ReturnCode' = 202, 'Command not implemented, superfluous at this site.'
|
123
|
+
|
124
|
+
#: System status, or system help reply.
|
125
|
+
CODE_211: 'ReturnCode' = 211, 'System status, or system help reply.'
|
126
|
+
|
127
|
+
#: Directory status.
|
128
|
+
CODE_212: 'ReturnCode' = 212, 'Directory status.'
|
129
|
+
|
130
|
+
#: File status.
|
131
|
+
CODE_213: 'ReturnCode' = 213, 'File status.'
|
132
|
+
|
133
|
+
#: Help message. Explains how to use the server or the meaning of a particular
|
134
|
+
#: non-standard command. This reply is useful only to the human user.
|
135
|
+
CODE_214: 'ReturnCode' = 214, 'Help message.'
|
136
|
+
|
137
|
+
#: NAME system type. Where NAME is an official system name from the registry
|
138
|
+
#: kept by IANA.
|
139
|
+
CODE_215: 'ReturnCode' = 215, 'NAME system type.'
|
140
|
+
|
141
|
+
#: Service ready for new user.
|
142
|
+
CODE_220: 'ReturnCode' = 220, 'Service ready for new user.'
|
143
|
+
|
144
|
+
#: Service closing control connection. Logged out if appropriate.
|
145
|
+
CODE_221: 'ReturnCode' = 221, 'Service closing control connection.'
|
146
|
+
|
147
|
+
#: Data connection open; no transfer in progress.
|
148
|
+
CODE_225: 'ReturnCode' = 225, 'Data connection open; no transfer in progress.'
|
149
|
+
|
150
|
+
#: Closing data connection. Requested file action successful (for example, file
|
151
|
+
#: transfer or file abort).
|
152
|
+
CODE_226: 'ReturnCode' = 226, 'Closing data connection.'
|
153
|
+
|
154
|
+
#: Entering Passive Mode (h1,h2,h3,h4,p1,p2).
|
155
|
+
CODE_227: 'ReturnCode' = 227, 'Entering Passive Mode.'
|
156
|
+
|
157
|
+
#: Entering Long Passive Mode (long address, port).
|
158
|
+
CODE_228: 'ReturnCode' = 228, 'Entering Long Passive Mode.'
|
159
|
+
|
160
|
+
#: Entering Extended Passive Mode (|||port|).
|
161
|
+
CODE_229: 'ReturnCode' = 229, 'Entering Extended Passive Mode.'
|
162
|
+
|
163
|
+
#: User logged in, proceed.
|
164
|
+
CODE_230: 'ReturnCode' = 230, 'User logged in, proceed.'
|
165
|
+
|
166
|
+
#: User logged in, authorized by security data exchange.
|
167
|
+
CODE_232: 'ReturnCode' = 232, 'User logged in, authorized by security data exchange.'
|
168
|
+
|
169
|
+
#: Server accepts the security mechanism specified by the client; no security
|
170
|
+
#: data needs to be exchanged.
|
171
|
+
CODE_234: 'ReturnCode' = 234, 'Server accepts the security mechanism specified by the client; no security data needs to be exchanged.'
|
172
|
+
|
173
|
+
#: Server accepts the security data given by the client; no further security
|
174
|
+
#: data needs to be exchanged.
|
175
|
+
CODE_235: 'ReturnCode' = 235, 'Server accepts the security data given by the client; no further security data needs to be exchanged.'
|
176
|
+
|
177
|
+
#: Requested file action was okay, completed.
|
178
|
+
CODE_250: 'ReturnCode' = 250, 'Requested file action was okay, completed.'
|
179
|
+
|
180
|
+
#: User name okay, password needed.
|
181
|
+
CODE_331: 'ReturnCode' = 331, 'User name okay, password needed.'
|
182
|
+
|
183
|
+
#: No need account for login.
|
184
|
+
CODE_332: 'ReturnCode' = 332, 'No need account for login.'
|
185
|
+
|
186
|
+
#: Server accepts the security mechanism specified by the client; some security
|
187
|
+
#: data needs to be exchanged.
|
188
|
+
CODE_334: 'ReturnCode' = 334, 'Server accepts the security mechanism specified by the client; some security data needs to be exchanged.'
|
189
|
+
|
190
|
+
#: Username okay, password okay. Challenge is ". . . . ".
|
191
|
+
CODE_336: 'ReturnCode' = 336, 'Username okay, password okay.'
|
192
|
+
|
193
|
+
#: Service available, closing control connection. This may be a reply to any
|
194
|
+
#: command if the service knows it must shut down.
|
195
|
+
CODE_421: 'ReturnCode' = 421, 'Service available, closing control connection.'
|
196
|
+
|
197
|
+
#: open data connection.
|
198
|
+
CODE_425: 'ReturnCode' = 425, 'open data connection.'
|
199
|
+
|
200
|
+
#: Connection closed; transfer aborted.
|
201
|
+
CODE_426: 'ReturnCode' = 426, 'Connection closed; transfer aborted.'
|
202
|
+
|
203
|
+
#: Invalid username or password
|
204
|
+
CODE_430: 'ReturnCode' = 430, 'Invalid username or password.'
|
205
|
+
|
206
|
+
#: Need some unavailable resource to process security.
|
207
|
+
CODE_431: 'ReturnCode' = 431, 'Need some unavailable resource to process security.'
|
208
|
+
|
209
|
+
#: Requested host unavailable.
|
210
|
+
CODE_434: 'ReturnCode' = 434, 'Requested host unavailable.'
|
211
|
+
|
212
|
+
#: Requested file action not taken.
|
213
|
+
CODE_450: 'ReturnCode' = 450, 'Requested file action not taken.'
|
214
|
+
|
215
|
+
#: Requested action aborted. Local error in processing.
|
216
|
+
CODE_451: 'ReturnCode' = 451, 'Requested action aborted.'
|
217
|
+
|
218
|
+
#: Requested action not taken. Insufficient storage space in system. File
|
219
|
+
#: unavailable (e.g., file busy).
|
220
|
+
CODE_452: 'ReturnCode' = 452, 'Requested action not taken.'
|
221
|
+
|
222
|
+
#: Syntax error in parameters or arguments.
|
223
|
+
CODE_501: 'ReturnCode' = 501, 'Syntax error in parameters or arguments.'
|
224
|
+
|
225
|
+
#: Command not implemented.
|
226
|
+
CODE_502: 'ReturnCode' = 502, 'Command not implemented.'
|
227
|
+
|
228
|
+
#: Bad sequence of commands.
|
229
|
+
CODE_503: 'ReturnCode' = 503, 'Bad sequence of commands.'
|
230
|
+
|
231
|
+
#: Command not implemented for that parameter.
|
232
|
+
CODE_504: 'ReturnCode' = 504, 'Command not implemented for that parameter.'
|
233
|
+
|
234
|
+
#: Not logged in.
|
235
|
+
CODE_530: 'ReturnCode' = 530, 'Not logged in.'
|
236
|
+
|
237
|
+
#: Need account for storing files.
|
238
|
+
CODE_532: 'ReturnCode' = 532, 'Need account for storing files.'
|
239
|
+
|
240
|
+
#: Command protection level denied for policy reasons.
|
241
|
+
CODE_533: 'ReturnCode' = 533, 'Command protection level denied for policy reasons.'
|
242
|
+
|
243
|
+
#: Request denied for policy reasons.
|
244
|
+
CODE_534: 'ReturnCode' = 534, 'Request denied for policy reasons.'
|
245
|
+
|
246
|
+
#: Failed security check.
|
247
|
+
CODE_535: 'ReturnCode' = 535, 'Failed security check.'
|
248
|
+
|
249
|
+
#: Data protection level not supported by security mechanism.
|
250
|
+
CODE_536: 'ReturnCode' = 536, 'Data protection level not supported by security mechanism.'
|
251
|
+
|
252
|
+
#: Command protection level not supported by security mechanism.
|
253
|
+
CODE_537: 'ReturnCode' = 537, 'Command protection level not supported by security mechanism.'
|
254
|
+
|
255
|
+
#: Requested action not taken. File unavailable (e.g., file not found, no
|
256
|
+
#: access).
|
257
|
+
CODE_550: 'ReturnCode' = 550, 'Requested action not taken.'
|
258
|
+
|
259
|
+
#: Requested action aborted. Page type unknown.
|
260
|
+
CODE_551: 'ReturnCode' = 551, 'Requested action aborted.'
|
261
|
+
|
262
|
+
#: Requested file action aborted. Exceeded storage allocation (for current
|
263
|
+
#: directory or dataset).
|
264
|
+
CODE_552: 'ReturnCode' = 552, 'Requested file action aborted.'
|
265
|
+
|
266
|
+
#: Requested action not taken. File name not allowed.
|
267
|
+
CODE_553: 'ReturnCode' = 553, 'Requested action not taken.'
|
268
|
+
|
269
|
+
#: Integrity protected reply.
|
270
|
+
CODE_631: 'ReturnCode' = 631, 'Integrity protected reply.'
|
271
|
+
|
272
|
+
#: Confidentiality and integrity protected reply.
|
273
|
+
CODE_632: 'ReturnCode' = 632, 'Confidentiality and integrity protected reply.'
|
274
|
+
|
275
|
+
#: Confidentiality protected reply.
|
276
|
+
CODE_633: 'ReturnCode' = 633, 'Confidentiality protected reply.'
|
277
|
+
|
278
|
+
@staticmethod
|
279
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'ReturnCode':
|
280
|
+
"""Backport support for original codes.
|
281
|
+
|
282
|
+
Args:
|
283
|
+
key: Key to get enum item.
|
284
|
+
default: Default value if not found.
|
285
|
+
|
286
|
+
:meta private:
|
287
|
+
"""
|
288
|
+
if isinstance(key, int):
|
289
|
+
return ReturnCode(key)
|
290
|
+
if key not in ReturnCode._member_map_: # pylint: disable=no-member
|
291
|
+
return extend_enum(ReturnCode, key, default)
|
292
|
+
return ReturnCode[key] # type: ignore[misc]
|
293
|
+
|
294
|
+
@classmethod
|
295
|
+
def _missing_(cls, value: 'int') -> 'ReturnCode':
|
296
|
+
"""Lookup function used when value is not found.
|
297
|
+
|
298
|
+
Args:
|
299
|
+
value: Value to get enum item.
|
300
|
+
|
301
|
+
"""
|
302
|
+
if not (isinstance(value, int) and 100 <= value <= 659):
|
303
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
304
|
+
return extend_enum(cls, 'CODE_%s' % value, value)
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=unused-import
|
3
|
+
""":class:`~pcapkit.protocols.internet.hip.HIP` Constant Enumerations
|
4
|
+
========================================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip
|
7
|
+
|
8
|
+
This module contains all constant enumerations of
|
9
|
+
:class:`~pcapkit.protocols.internet.hip.HIP` implementations. Available
|
10
|
+
enumerations include:
|
11
|
+
|
12
|
+
.. list-table::
|
13
|
+
|
14
|
+
* - :class:`HIP_Certificate <pcapkit.const.hip.certificate.Certificate>`
|
15
|
+
- HIP Certificate Types [*]_
|
16
|
+
* - :class:`HIP_Cipher <pcapkit.const.hip.cipher.Cipher>`
|
17
|
+
- HIP Cipher IDs [*]_
|
18
|
+
* - :class:`HIP_DITypes <pcapkit.const.hip.di.DITypes>`
|
19
|
+
- DI-Types [*]_
|
20
|
+
* - :class:`HIP_ECDSACurve <pcapkit.const.hip.ecdsa_curve.ECDSACurve>`
|
21
|
+
- ECDSA Curve Label [*]_
|
22
|
+
* - :class:`HIP_ECDSALowCurve <pcapkit.const.hip.ecdsa_low_curve.ECDSALowCurve>`
|
23
|
+
- ECDSA_LOW Curve Label [*]_
|
24
|
+
* - :class:`HIP_EdDSACurve <pcapkit.const.hip.eddsa_curve.EdDSACurve>`
|
25
|
+
- EdDSA Curve Label [*]_
|
26
|
+
* - :class:`HIP_ESPTransformSuite <pcapkit.const.hip.esp_transform_suite.ESPTransformSuite>`
|
27
|
+
- ESP Transform Suite IDs [*]_
|
28
|
+
* - :class:`HIP_Group <pcapkit.const.hip.group.Group>`
|
29
|
+
- Group IDs [*]_
|
30
|
+
* - :class:`HIP_HIAlgorithm <pcapkit.const.hip.hi_algorithm.HIAlgorithm>`
|
31
|
+
- HI Algorithm [*]_
|
32
|
+
* - :class:`HIP_HITSuite <pcapkit.const.hip.hit_suite.HITSuite>`
|
33
|
+
- HIT Suite IDs [*]_
|
34
|
+
* - :class:`HIP_NATTraversal <pcapkit.const.hip.nat_traversal.NATTraversal>`
|
35
|
+
- HIP NAT Traversal Modes [*]_
|
36
|
+
* - :class:`HIP_NotifyMessage <pcapkit.const.hip.notify_message.NotifyMessage>`
|
37
|
+
- Notify Message Types [*]_
|
38
|
+
* - :class:`HIP_Packet <pcapkit.const.hip.packet.Packet>`
|
39
|
+
- Packet Types [*]_
|
40
|
+
* - :class:`HIP_Parameter <pcapkit.const.hip.parameter.Parameter>`
|
41
|
+
- Parameter Types [*]_
|
42
|
+
* - :class:`HIP_Registration <pcapkit.const.hip.registration.Registration>`
|
43
|
+
- Registration Types [*]_
|
44
|
+
* - :class:`HIP_RegistrationFailure <pcapkit.const.hip.registration_failure.RegistrationFailure>`
|
45
|
+
- Registration Failure Types [*]_
|
46
|
+
* - :class:`HIP_Suite <pcapkit.const.hip.suite.Suite>`
|
47
|
+
- Suite IDs [*]_
|
48
|
+
* - :class:`HIP_Transport <pcapkit.const.hip.transport.Transport>`
|
49
|
+
- HIP Transport Modes [*]_
|
50
|
+
|
51
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#certificate-types
|
52
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-cipher-id
|
53
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-7
|
54
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#ecdsa-curve-label
|
55
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#ecdsa-low-curve-label
|
56
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#eddsa-curve-label
|
57
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#esp-transform-suite-ids
|
58
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-5
|
59
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hi-algorithm
|
60
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hit-suite-id
|
61
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#nat-traversal
|
62
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-9
|
63
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-1
|
64
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-4
|
65
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-11
|
66
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-13
|
67
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#hip-parameters-6
|
68
|
+
.. [*] https://www.iana.org/assignments/hip-parameters/hip-parameters.xhtml#transport-modes
|
69
|
+
|
70
|
+
"""
|
71
|
+
|
72
|
+
from pcapkit.const.hip.certificate import Certificate as HIP_Certificate
|
73
|
+
from pcapkit.const.hip.cipher import Cipher as HIP_Cipher
|
74
|
+
from pcapkit.const.hip.di import DITypes as HIP_DITypes
|
75
|
+
from pcapkit.const.hip.ecdsa_curve import ECDSACurve as HIP_ECDSACurve
|
76
|
+
from pcapkit.const.hip.ecdsa_low_curve import ECDSALowCurve as HIP_ECDSALowCurve
|
77
|
+
from pcapkit.const.hip.eddsa_curve import EdDSACurve as HIP_EdDSACurve
|
78
|
+
from pcapkit.const.hip.esp_transform_suite import ESPTransformSuite as HIP_ESPTransformSuite
|
79
|
+
from pcapkit.const.hip.group import Group as HIP_Group
|
80
|
+
from pcapkit.const.hip.hi_algorithm import HIAlgorithm as HIP_HIAlgorithm
|
81
|
+
from pcapkit.const.hip.hit_suite import HITSuite as HIP_HITSuite
|
82
|
+
from pcapkit.const.hip.nat_traversal import NATTraversal as HIP_NATTraversal
|
83
|
+
from pcapkit.const.hip.notify_message import NotifyMessage as HIP_NotifyMessage
|
84
|
+
from pcapkit.const.hip.packet import Packet as HIP_Packet
|
85
|
+
from pcapkit.const.hip.parameter import Parameter as HIP_Parameter
|
86
|
+
from pcapkit.const.hip.registration import Registration as HIP_Registration
|
87
|
+
from pcapkit.const.hip.registration_failure import RegistrationFailure as HIP_RegistrationFailure
|
88
|
+
from pcapkit.const.hip.suite import Suite as HIP_Suite
|
89
|
+
from pcapkit.const.hip.transport import Transport as HIP_Transport
|
90
|
+
|
91
|
+
__all__ = ['HIP_Certificate', 'HIP_Cipher', 'HIP_DITypes', 'HIP_ECDSACurve', 'HIP_ECDSALowCurve',
|
92
|
+
'HIP_ESPTransformSuite', 'HIP_Group', 'HIP_HIAlgorithm', 'HIP_HITSuite', 'HIP_NATTraversal',
|
93
|
+
'HIP_NotifyMessage', 'HIP_Packet', 'HIP_Parameter', 'HIP_Registration', 'HIP_RegistrationFailure',
|
94
|
+
'HIP_Suite', 'HIP_Transport', 'HIP_EdDSACurve']
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""HIP Certificate Types
|
4
|
+
===========================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.certificate
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **HIP Certificate Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.certificate.Certificate`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Certificate']
|
16
|
+
|
17
|
+
|
18
|
+
class Certificate(IntEnum):
|
19
|
+
"""[Certificate] HIP Certificate Types"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`8002`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: X.509 v3 [:rfc:`8002`]
|
25
|
+
X_509_v3 = 1
|
26
|
+
|
27
|
+
#: Obsoleted [:rfc:`8002`]
|
28
|
+
Obsoleted_2 = 2
|
29
|
+
|
30
|
+
#: Hash and URL of X.509 v3 [:rfc:`8002`]
|
31
|
+
Hash_and_URL_of_X_509_v3 = 3
|
32
|
+
|
33
|
+
#: Obsoleted [:rfc:`8002`]
|
34
|
+
Obsoleted_4 = 4
|
35
|
+
|
36
|
+
#: LDAP URL of X.509 v3 [:rfc:`8002`]
|
37
|
+
LDAP_URL_of_X_509_v3 = 5
|
38
|
+
|
39
|
+
#: Obsoleted [:rfc:`8002`]
|
40
|
+
Obsoleted_6 = 6
|
41
|
+
|
42
|
+
#: Distinguished Name of X.509 v3 [:rfc:`8002`]
|
43
|
+
Distinguished_Name_of_X_509_v3 = 7
|
44
|
+
|
45
|
+
#: Obsoleted [:rfc:`8002`]
|
46
|
+
Obsoleted_8 = 8
|
47
|
+
|
48
|
+
@staticmethod
|
49
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Certificate':
|
50
|
+
"""Backport support for original codes.
|
51
|
+
|
52
|
+
Args:
|
53
|
+
key: Key to get enum item.
|
54
|
+
default: Default value if not found.
|
55
|
+
|
56
|
+
:meta private:
|
57
|
+
"""
|
58
|
+
if isinstance(key, int):
|
59
|
+
return Certificate(key)
|
60
|
+
if key not in Certificate._member_map_: # pylint: disable=no-member
|
61
|
+
return extend_enum(Certificate, key, default)
|
62
|
+
return Certificate[key] # type: ignore[misc]
|
63
|
+
|
64
|
+
@classmethod
|
65
|
+
def _missing_(cls, value: 'int') -> 'Certificate':
|
66
|
+
"""Lookup function used when value is not found.
|
67
|
+
|
68
|
+
Args:
|
69
|
+
value: Value to get enum item.
|
70
|
+
|
71
|
+
"""
|
72
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
73
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
74
|
+
if 9 <= value <= 255:
|
75
|
+
#: Unassigned
|
76
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
77
|
+
return super()._missing_(value)
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Cipher IDs
|
4
|
+
================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.cipher
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Cipher IDs**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.cipher.Cipher`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Cipher']
|
16
|
+
|
17
|
+
|
18
|
+
class Cipher(IntEnum):
|
19
|
+
"""[Cipher] Cipher IDs"""
|
20
|
+
|
21
|
+
#: RESERVED [:rfc:`7401`]
|
22
|
+
RESERVED_0 = 0
|
23
|
+
|
24
|
+
#: NULL-ENCRYPT [:rfc:`7401`]
|
25
|
+
NULL_ENCRYPT = 1
|
26
|
+
|
27
|
+
#: AES-128-CBC [:rfc:`7401`]
|
28
|
+
AES_128_CBC = 2
|
29
|
+
|
30
|
+
#: RESERVED [:rfc:`7401`]
|
31
|
+
RESERVED_3 = 3
|
32
|
+
|
33
|
+
#: AES-256-CBC [:rfc:`7401`]
|
34
|
+
AES_256_CBC = 4
|
35
|
+
|
36
|
+
@staticmethod
|
37
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Cipher':
|
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 Cipher(key)
|
48
|
+
if key not in Cipher._member_map_: # pylint: disable=no-member
|
49
|
+
return extend_enum(Cipher, key, default)
|
50
|
+
return Cipher[key] # type: ignore[misc]
|
51
|
+
|
52
|
+
@classmethod
|
53
|
+
def _missing_(cls, value: 'int') -> 'Cipher':
|
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 <= 65535):
|
61
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
62
|
+
if 5 <= value <= 65535:
|
63
|
+
#: Unassigned
|
64
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
65
|
+
return super()._missing_(value)
|
pcapkit/const/hip/di.py
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""DI-Types
|
4
|
+
==============
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.di
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **DI-Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.di.DITypes`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['DITypes']
|
16
|
+
|
17
|
+
|
18
|
+
class DITypes(IntEnum):
|
19
|
+
"""[DITypes] DI-Types"""
|
20
|
+
|
21
|
+
#: none included [:rfc:`7401`]
|
22
|
+
none_included = 0
|
23
|
+
|
24
|
+
#: FQDN [:rfc:`7401`]
|
25
|
+
FQDN = 1
|
26
|
+
|
27
|
+
#: NAI [:rfc:`7401`]
|
28
|
+
NAI = 2
|
29
|
+
|
30
|
+
@staticmethod
|
31
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'DITypes':
|
32
|
+
"""Backport support for original codes.
|
33
|
+
|
34
|
+
Args:
|
35
|
+
key: Key to get enum item.
|
36
|
+
default: Default value if not found.
|
37
|
+
|
38
|
+
:meta private:
|
39
|
+
"""
|
40
|
+
if isinstance(key, int):
|
41
|
+
return DITypes(key)
|
42
|
+
if key not in DITypes._member_map_: # pylint: disable=no-member
|
43
|
+
return extend_enum(DITypes, key, default)
|
44
|
+
return DITypes[key] # type: ignore[misc]
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def _missing_(cls, value: 'int') -> 'DITypes':
|
48
|
+
"""Lookup function used when value is not found.
|
49
|
+
|
50
|
+
Args:
|
51
|
+
value: Value to get enum item.
|
52
|
+
|
53
|
+
"""
|
54
|
+
if not (isinstance(value, int) and 0 <= value <= 15):
|
55
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
56
|
+
if 3 <= value <= 15:
|
57
|
+
#: Unassigned
|
58
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
59
|
+
return super()._missing_(value)
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""ECDSA Curve Label
|
4
|
+
=======================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.hip.ecdsa_curve
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **ECDSA Curve Label**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.hip.ecdsa_curve.ECDSACurve`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['ECDSACurve']
|
16
|
+
|
17
|
+
|
18
|
+
class ECDSACurve(IntEnum):
|
19
|
+
"""[ECDSACurve] ECDSA Curve Label"""
|
20
|
+
|
21
|
+
#: RESERVED [:rfc:`7401`]
|
22
|
+
RESERVED_0 = 0
|
23
|
+
|
24
|
+
#: NIST P-256 [:rfc:`7401`]
|
25
|
+
NIST_P_256 = 1
|
26
|
+
|
27
|
+
#: NIST P-384 [:rfc:`7401`]
|
28
|
+
NIST_P_384 = 2
|
29
|
+
|
30
|
+
@staticmethod
|
31
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'ECDSACurve':
|
32
|
+
"""Backport support for original codes.
|
33
|
+
|
34
|
+
Args:
|
35
|
+
key: Key to get enum item.
|
36
|
+
default: Default value if not found.
|
37
|
+
|
38
|
+
:meta private:
|
39
|
+
"""
|
40
|
+
if isinstance(key, int):
|
41
|
+
return ECDSACurve(key)
|
42
|
+
if key not in ECDSACurve._member_map_: # pylint: disable=no-member
|
43
|
+
return extend_enum(ECDSACurve, key, default)
|
44
|
+
return ECDSACurve[key] # type: ignore[misc]
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def _missing_(cls, value: 'int') -> 'ECDSACurve':
|
48
|
+
"""Lookup function used when value is not found.
|
49
|
+
|
50
|
+
Args:
|
51
|
+
value: Value to get enum item.
|
52
|
+
|
53
|
+
"""
|
54
|
+
if not (isinstance(value, int) and 0 <= value <= 65535):
|
55
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
56
|
+
if 3 <= value <= 65535:
|
57
|
+
#: Unassigned
|
58
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
59
|
+
return super()._missing_(value)
|