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,119 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Mobility Header Types - for the MH Type field in the Mobility Header
|
4
|
+
==========================================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.packet
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Mobility Header Types - for the MH Type field in the Mobility Header**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.packet.Packet`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Packet']
|
16
|
+
|
17
|
+
|
18
|
+
class Packet(IntEnum):
|
19
|
+
"""[Packet] Mobility Header Types - for the MH Type field in the Mobility Header"""
|
20
|
+
|
21
|
+
#: Binding Refresh Request [:rfc:`6275`]
|
22
|
+
Binding_Refresh_Request = 0
|
23
|
+
|
24
|
+
#: Home Test Init [:rfc:`6275`]
|
25
|
+
Home_Test_Init = 1
|
26
|
+
|
27
|
+
#: Care-of Test Init [:rfc:`6275`]
|
28
|
+
Care_of_Test_Init = 2
|
29
|
+
|
30
|
+
#: Home Test [:rfc:`6275`]
|
31
|
+
Home_Test = 3
|
32
|
+
|
33
|
+
#: Care-of Test [:rfc:`6275`]
|
34
|
+
Care_of_Test = 4
|
35
|
+
|
36
|
+
#: Binding Update [:rfc:`6275`]
|
37
|
+
Binding_Update = 5
|
38
|
+
|
39
|
+
#: Binding Acknowledgement [:rfc:`6275`]
|
40
|
+
Binding_Acknowledgement = 6
|
41
|
+
|
42
|
+
#: Binding Error [:rfc:`6275`]
|
43
|
+
Binding_Error = 7
|
44
|
+
|
45
|
+
#: Fast Binding Update [:rfc:`5568`]
|
46
|
+
Fast_Binding_Update = 8
|
47
|
+
|
48
|
+
#: Fast Binding Acknowledgment [:rfc:`5568`]
|
49
|
+
Fast_Binding_Acknowledgment = 9
|
50
|
+
|
51
|
+
#: Fast Neighbor Advertisement (Deprecated) [:rfc:`5568`]
|
52
|
+
Fast_Neighbor_Advertisement = 10
|
53
|
+
|
54
|
+
#: Experimental Mobility Header [:rfc:`5096`]
|
55
|
+
Experimental_Mobility_Header = 11
|
56
|
+
|
57
|
+
#: Home Agent Switch Message [:rfc:`5142`]
|
58
|
+
Home_Agent_Switch_Message = 12
|
59
|
+
|
60
|
+
#: Heartbeat Message [:rfc:`5847`]
|
61
|
+
Heartbeat_Message = 13
|
62
|
+
|
63
|
+
#: Handover Initiate Message [:rfc:`5568`]
|
64
|
+
Handover_Initiate_Message = 14
|
65
|
+
|
66
|
+
#: Handover Acknowledge Message [:rfc:`5568`]
|
67
|
+
Handover_Acknowledge_Message = 15
|
68
|
+
|
69
|
+
#: Binding Revocation Message [:rfc:`5846`]
|
70
|
+
Binding_Revocation_Message = 16
|
71
|
+
|
72
|
+
#: Localized Routing Initiation [:rfc:`6705`]
|
73
|
+
Localized_Routing_Initiation = 17
|
74
|
+
|
75
|
+
#: Localized Routing Acknowledgment [:rfc:`6705`]
|
76
|
+
Localized_Routing_Acknowledgment = 18
|
77
|
+
|
78
|
+
#: Update Notification [:rfc:`7077`]
|
79
|
+
Update_Notification = 19
|
80
|
+
|
81
|
+
#: Update Notification Acknowledgement [:rfc:`7077`]
|
82
|
+
Update_Notification_Acknowledgement = 20
|
83
|
+
|
84
|
+
#: Flow Binding Message [:rfc:`7109`]
|
85
|
+
Flow_Binding_Message = 21
|
86
|
+
|
87
|
+
#: Subscription Query [:rfc:`7161`]
|
88
|
+
Subscription_Query = 22
|
89
|
+
|
90
|
+
#: Subscription Response [:rfc:`7161`]
|
91
|
+
Subscription_Response = 23
|
92
|
+
|
93
|
+
@staticmethod
|
94
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Packet':
|
95
|
+
"""Backport support for original codes.
|
96
|
+
|
97
|
+
Args:
|
98
|
+
key: Key to get enum item.
|
99
|
+
default: Default value if not found.
|
100
|
+
|
101
|
+
:meta private:
|
102
|
+
"""
|
103
|
+
if isinstance(key, int):
|
104
|
+
return Packet(key)
|
105
|
+
if key not in Packet._member_map_: # pylint: disable=no-member
|
106
|
+
return extend_enum(Packet, key, default)
|
107
|
+
return Packet[key] # type: ignore[misc]
|
108
|
+
|
109
|
+
@classmethod
|
110
|
+
def _missing_(cls, value: 'int') -> 'Packet':
|
111
|
+
"""Lookup function used when value is not found.
|
112
|
+
|
113
|
+
Args:
|
114
|
+
value: Value to get enum item.
|
115
|
+
|
116
|
+
"""
|
117
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
118
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
119
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Quality-of-Service Attribute Registry
|
4
|
+
===========================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.qos_attribute
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Quality-of-Service Attribute Registry**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.qos_attribute.QoSAttribute`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['QoSAttribute']
|
16
|
+
|
17
|
+
|
18
|
+
class QoSAttribute(IntEnum):
|
19
|
+
"""[QoSAttribute] Quality-of-Service Attribute Registry"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`7222`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: Per-MN-Agg-Max-DL-Bit-Rate [:rfc:`7222`]
|
25
|
+
Per_MN_Agg_Max_DL_Bit_Rate = 1
|
26
|
+
|
27
|
+
#: Per-MN-Agg-Max-UL-Bit-Rate [:rfc:`7222`]
|
28
|
+
Per_MN_Agg_Max_UL_Bit_Rate = 2
|
29
|
+
|
30
|
+
#: Per-Session-Agg-Max-DL-Bit-Rate [:rfc:`7222`]
|
31
|
+
Per_Session_Agg_Max_DL_Bit_Rate = 3
|
32
|
+
|
33
|
+
#: Per-Session-Agg-Max-UL-Bit-Rate [:rfc:`7222`]
|
34
|
+
Per_Session_Agg_Max_UL_Bit_Rate = 4
|
35
|
+
|
36
|
+
#: Allocation-Retention-Priority [:rfc:`7222`]
|
37
|
+
Allocation_Retention_Priority = 5
|
38
|
+
|
39
|
+
#: Aggregate-Max-DL-Bit-Rate [:rfc:`7222`]
|
40
|
+
Aggregate_Max_DL_Bit_Rate = 6
|
41
|
+
|
42
|
+
#: Aggregate-Max-UL-Bit-Rate [:rfc:`7222`]
|
43
|
+
Aggregate_Max_UL_Bit_Rate = 7
|
44
|
+
|
45
|
+
#: Guaranteed-DL-Bit-Rate [:rfc:`7222`]
|
46
|
+
Guaranteed_DL_Bit_Rate = 8
|
47
|
+
|
48
|
+
#: Guaranteed-UL-Bit-Rate [:rfc:`7222`]
|
49
|
+
Guaranteed_UL_Bit_Rate = 9
|
50
|
+
|
51
|
+
#: QoS-Traffic-Selector [:rfc:`7222`]
|
52
|
+
QoS_Traffic_Selector = 10
|
53
|
+
|
54
|
+
#: QoS-Vendor-Specific-Attribute [:rfc:`7222`]
|
55
|
+
QoS_Vendor_Specific_Attribute = 11
|
56
|
+
|
57
|
+
#: Reserved [:rfc:`7222`]
|
58
|
+
Reserved_255 = 255
|
59
|
+
|
60
|
+
@staticmethod
|
61
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'QoSAttribute':
|
62
|
+
"""Backport support for original codes.
|
63
|
+
|
64
|
+
Args:
|
65
|
+
key: Key to get enum item.
|
66
|
+
default: Default value if not found.
|
67
|
+
|
68
|
+
:meta private:
|
69
|
+
"""
|
70
|
+
if isinstance(key, int):
|
71
|
+
return QoSAttribute(key)
|
72
|
+
if key not in QoSAttribute._member_map_: # pylint: disable=no-member
|
73
|
+
return extend_enum(QoSAttribute, key, default)
|
74
|
+
return QoSAttribute[key] # type: ignore[misc]
|
75
|
+
|
76
|
+
@classmethod
|
77
|
+
def _missing_(cls, value: 'int') -> 'QoSAttribute':
|
78
|
+
"""Lookup function used when value is not found.
|
79
|
+
|
80
|
+
Args:
|
81
|
+
value: Value to get enum item.
|
82
|
+
|
83
|
+
"""
|
84
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
85
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
86
|
+
if 12 <= value <= 254:
|
87
|
+
#: Unassigned
|
88
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
89
|
+
return super()._missing_(value)
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Binding Revocation Acknowledgement Status Codes
|
4
|
+
=====================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.revocation_status_code
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Binding Revocation Acknowledgement Status Codes**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.revocation_status_code.RevocationStatusCode`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['RevocationStatusCode']
|
16
|
+
|
17
|
+
|
18
|
+
class RevocationStatusCode(IntEnum):
|
19
|
+
"""[RevocationStatusCode] Binding Revocation Acknowledgement Status Codes"""
|
20
|
+
|
21
|
+
#: success [:rfc:`5846`]
|
22
|
+
success = 0
|
23
|
+
|
24
|
+
#: partial success [:rfc:`5846`]
|
25
|
+
partial_success = 1
|
26
|
+
|
27
|
+
#: Binding Does NOT Exist [:rfc:`5846`]
|
28
|
+
Binding_Does_NOT_Exist = 128
|
29
|
+
|
30
|
+
#: IPv4 Home Address Option Required [:rfc:`5846`]
|
31
|
+
IPv4_Home_Address_Option_Required = 129
|
32
|
+
|
33
|
+
#: Global Revocation NOT Authorized [:rfc:`5846`]
|
34
|
+
Global_Revocation_NOT_Authorized = 130
|
35
|
+
|
36
|
+
#: Revoked Mobile Nodes Identity Required [:rfc:`5846`]
|
37
|
+
Revoked_Mobile_Nodes_Identity_Required = 131
|
38
|
+
|
39
|
+
#: Revocation Failed - MN is Attached [:rfc:`5846`]
|
40
|
+
Revocation_Failed_MN_is_Attached = 132
|
41
|
+
|
42
|
+
#: Revocation Trigger NOT Supported [:rfc:`5846`]
|
43
|
+
Revocation_Trigger_NOT_Supported = 133
|
44
|
+
|
45
|
+
#: Revocation Function NOT Supported [:rfc:`5846`]
|
46
|
+
Revocation_Function_NOT_Supported = 134
|
47
|
+
|
48
|
+
#: Proxy Binding Revocation NOT Supported [:rfc:`5846`]
|
49
|
+
Proxy_Binding_Revocation_NOT_Supported = 135
|
50
|
+
|
51
|
+
@staticmethod
|
52
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'RevocationStatusCode':
|
53
|
+
"""Backport support for original codes.
|
54
|
+
|
55
|
+
Args:
|
56
|
+
key: Key to get enum item.
|
57
|
+
default: Default value if not found.
|
58
|
+
|
59
|
+
:meta private:
|
60
|
+
"""
|
61
|
+
if isinstance(key, int):
|
62
|
+
return RevocationStatusCode(key)
|
63
|
+
if key not in RevocationStatusCode._member_map_: # pylint: disable=no-member
|
64
|
+
return extend_enum(RevocationStatusCode, key, default)
|
65
|
+
return RevocationStatusCode[key] # type: ignore[misc]
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def _missing_(cls, value: 'int') -> 'RevocationStatusCode':
|
69
|
+
"""Lookup function used when value is not found.
|
70
|
+
|
71
|
+
Args:
|
72
|
+
value: Value to get enum item.
|
73
|
+
|
74
|
+
"""
|
75
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
76
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
77
|
+
if 2 <= value <= 127:
|
78
|
+
#: Unassigned
|
79
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
80
|
+
if 136 <= value <= 255:
|
81
|
+
#: Unassigned
|
82
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
83
|
+
return super()._missing_(value)
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Revocation Trigger Values
|
4
|
+
===============================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.revocation_trigger
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Revocation Trigger Values**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.revocation_trigger.RevocationTrigger`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['RevocationTrigger']
|
16
|
+
|
17
|
+
|
18
|
+
class RevocationTrigger(IntEnum):
|
19
|
+
"""[RevocationTrigger] Revocation Trigger Values"""
|
20
|
+
|
21
|
+
#: Unspecified [:rfc:`5846`]
|
22
|
+
Unspecified = 0
|
23
|
+
|
24
|
+
#: Administrative Reason [:rfc:`5846`]
|
25
|
+
Administrative_Reason = 1
|
26
|
+
|
27
|
+
#: Inter-MAG Handover - same Access Type [:rfc:`5846`]
|
28
|
+
Inter_MAG_Handover_same_Access_Type = 2
|
29
|
+
|
30
|
+
#: Inter-MAG Handover - different Access Type [:rfc:`5846`]
|
31
|
+
Inter_MAG_Handover_different_Access_Type = 3
|
32
|
+
|
33
|
+
#: Inter-MAG Handover - Unknown [:rfc:`5846`]
|
34
|
+
Inter_MAG_Handover_Unknown = 4
|
35
|
+
|
36
|
+
#: User Initiated Session(s) Termination [:rfc:`5846`]
|
37
|
+
User_Initiated_Session_Termination = 5
|
38
|
+
|
39
|
+
#: Access Network Session(s) Termination [:rfc:`5846`]
|
40
|
+
Access_Network_Session_Termination = 6
|
41
|
+
|
42
|
+
#: Possible Out-of Sync BCE State [:rfc:`5846`]
|
43
|
+
Possible_Out_of_Sync_BCE_State = 7
|
44
|
+
|
45
|
+
#: Per-Peer Policy [:rfc:`5846`]
|
46
|
+
Per_Peer_Policy = 128
|
47
|
+
|
48
|
+
#: Revoking Mobility Node Local Policy [:rfc:`5846`]
|
49
|
+
Revoking_Mobility_Node_Local_Policy = 129
|
50
|
+
|
51
|
+
@staticmethod
|
52
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'RevocationTrigger':
|
53
|
+
"""Backport support for original codes.
|
54
|
+
|
55
|
+
Args:
|
56
|
+
key: Key to get enum item.
|
57
|
+
default: Default value if not found.
|
58
|
+
|
59
|
+
:meta private:
|
60
|
+
"""
|
61
|
+
if isinstance(key, int):
|
62
|
+
return RevocationTrigger(key)
|
63
|
+
if key not in RevocationTrigger._member_map_: # pylint: disable=no-member
|
64
|
+
return extend_enum(RevocationTrigger, key, default)
|
65
|
+
return RevocationTrigger[key] # type: ignore[misc]
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def _missing_(cls, value: 'int') -> 'RevocationTrigger':
|
69
|
+
"""Lookup function used when value is not found.
|
70
|
+
|
71
|
+
Args:
|
72
|
+
value: Value to get enum item.
|
73
|
+
|
74
|
+
"""
|
75
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
76
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
77
|
+
if 8 <= value <= 127:
|
78
|
+
#: Unassigned
|
79
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
80
|
+
if 130 <= value <= 249:
|
81
|
+
#: Unassigned
|
82
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
83
|
+
if 250 <= value <= 255:
|
84
|
+
#: Reserved for Testing Purposes Only [:rfc:`5846`]
|
85
|
+
return extend_enum(cls, 'Reserved_for_Testing_Purposes_Only_%d' % value, value)
|
86
|
+
return super()._missing_(value)
|
@@ -0,0 +1,232 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Status Codes
|
4
|
+
==================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.status_code
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Status Codes**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.status_code.StatusCode`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['StatusCode']
|
16
|
+
|
17
|
+
|
18
|
+
class StatusCode(IntEnum):
|
19
|
+
"""[StatusCode] Status Codes"""
|
20
|
+
|
21
|
+
#: Binding Update accepted/Proxy Binding Update accepted
|
22
|
+
#: [:rfc:`6275`][:rfc:`5213`]
|
23
|
+
Binding_Update_accepted_Proxy_Binding_Update_accepted = 0
|
24
|
+
|
25
|
+
#: Accepted but prefix discovery necessary [:rfc:`6275`]
|
26
|
+
Accepted_but_prefix_discovery_necessary = 1
|
27
|
+
|
28
|
+
#: GRE_KEY_OPTION_NOT_REQUIRED [:rfc:`5845`]
|
29
|
+
GRE_KEY_OPTION_NOT_REQUIRED = 2
|
30
|
+
|
31
|
+
#: GRE_TUNNELING_BUT_TLV_HEADER_NOT_SUPPORTED [:rfc:`5845`]
|
32
|
+
GRE_TUNNELING_BUT_TLV_HEADER_NOT_SUPPORTED = 3
|
33
|
+
|
34
|
+
#: MCOA NOTCOMPLETE [:rfc:`5648`]
|
35
|
+
MCOA_NOTCOMPLETE = 4
|
36
|
+
|
37
|
+
#: MCOA RETURNHOME WO/NDP [:rfc:`5648`]
|
38
|
+
MCOA_RETURNHOME_WO_NDP = 5
|
39
|
+
|
40
|
+
#: PBU_ACCEPTED_TB_IGNORED_SETTINGSMISMATCH [:rfc:`6058`]
|
41
|
+
PBU_ACCEPTED_TB_IGNORED_SETTINGSMISMATCH = 6
|
42
|
+
|
43
|
+
#: Reason unspecified [:rfc:`6275`]
|
44
|
+
Reason_unspecified = 128
|
45
|
+
|
46
|
+
#: Administratively prohibited [:rfc:`6275`]
|
47
|
+
Administratively_prohibited = 129
|
48
|
+
|
49
|
+
#: Insufficient resources [:rfc:`6275`]
|
50
|
+
Insufficient_resources = 130
|
51
|
+
|
52
|
+
#: Home registration not supported [:rfc:`6275`]
|
53
|
+
Home_registration_not_supported = 131
|
54
|
+
|
55
|
+
#: Not home subnet [:rfc:`6275`]
|
56
|
+
Not_home_subnet = 132
|
57
|
+
|
58
|
+
#: Not home agent for this mobile node [:rfc:`6275`]
|
59
|
+
Not_home_agent_for_this_mobile_node = 133
|
60
|
+
|
61
|
+
#: Duplicate Address Detection failed [:rfc:`6275`]
|
62
|
+
Duplicate_Address_Detection_failed = 134
|
63
|
+
|
64
|
+
#: Sequence number out of window [:rfc:`6275`]
|
65
|
+
Sequence_number_out_of_window = 135
|
66
|
+
|
67
|
+
#: Expired home nonce index [:rfc:`6275`]
|
68
|
+
Expired_home_nonce_index = 136
|
69
|
+
|
70
|
+
#: Expired care-of nonce index [:rfc:`6275`]
|
71
|
+
Expired_care_of_nonce_index = 137
|
72
|
+
|
73
|
+
#: Expired nonces [:rfc:`6275`]
|
74
|
+
Expired_nonces = 138
|
75
|
+
|
76
|
+
#: Registration type change disallowed [:rfc:`6275`]
|
77
|
+
Registration_type_change_disallowed = 139
|
78
|
+
|
79
|
+
#: Mobile Router Operation not permitted [:rfc:`3963`]
|
80
|
+
Mobile_Router_Operation_not_permitted = 140
|
81
|
+
|
82
|
+
#: Invalid Prefix [:rfc:`3963`]
|
83
|
+
Invalid_Prefix = 141
|
84
|
+
|
85
|
+
#: Not Authorized for Prefix [:rfc:`3963`]
|
86
|
+
Not_Authorized_for_Prefix = 142
|
87
|
+
|
88
|
+
#: Forwarding Setup failed [:rfc:`3963`]
|
89
|
+
Forwarding_Setup_failed = 143
|
90
|
+
|
91
|
+
#: MIPV6-ID-MISMATCH [:rfc:`4285`]
|
92
|
+
MIPV6_ID_MISMATCH = 144
|
93
|
+
|
94
|
+
#: MIPV6-MESG-ID-REQD [:rfc:`4285`]
|
95
|
+
MIPV6_MESG_ID_REQD = 145
|
96
|
+
|
97
|
+
#: MIPV6-AUTH-FAIL [:rfc:`4285`]
|
98
|
+
MIPV6_AUTH_FAIL = 146
|
99
|
+
|
100
|
+
#: Permanent home keygen token unavailable [:rfc:`4866`]
|
101
|
+
Permanent_home_keygen_token_unavailable = 147
|
102
|
+
|
103
|
+
#: CGA and signature verification failed [:rfc:`4866`]
|
104
|
+
CGA_and_signature_verification_failed = 148
|
105
|
+
|
106
|
+
#: Permanent home keygen token exists [:rfc:`4866`]
|
107
|
+
Permanent_home_keygen_token_exists = 149
|
108
|
+
|
109
|
+
#: Non-null home nonce index expected [:rfc:`4866`]
|
110
|
+
Non_null_home_nonce_index_expected = 150
|
111
|
+
|
112
|
+
#: SERVICE_AUTHORIZATION_FAILED [:rfc:`5149`]
|
113
|
+
SERVICE_AUTHORIZATION_FAILED = 151
|
114
|
+
|
115
|
+
#: PROXY_REG_NOT_ENABLED [:rfc:`5213`]
|
116
|
+
PROXY_REG_NOT_ENABLED = 152
|
117
|
+
|
118
|
+
#: NOT_LMA_FOR_THIS_MOBILE_NODE [:rfc:`5213`]
|
119
|
+
NOT_LMA_FOR_THIS_MOBILE_NODE = 153
|
120
|
+
|
121
|
+
#: MAG_NOT_AUTHORIZED_FOR_PROXY_REG [:rfc:`5213`]
|
122
|
+
MAG_NOT_AUTHORIZED_FOR_PROXY_REG = 154
|
123
|
+
|
124
|
+
#: NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX [:rfc:`5213`]
|
125
|
+
NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX = 155
|
126
|
+
|
127
|
+
#: TIMESTAMP_MISMATCH [:rfc:`5213`]
|
128
|
+
TIMESTAMP_MISMATCH = 156
|
129
|
+
|
130
|
+
#: TIMESTAMP_LOWER_THAN_PREV_ACCEPTED [:rfc:`5213`]
|
131
|
+
TIMESTAMP_LOWER_THAN_PREV_ACCEPTED = 157
|
132
|
+
|
133
|
+
#: MISSING_HOME_NETWORK_PREFIX_OPTION [:rfc:`5213`]
|
134
|
+
MISSING_HOME_NETWORK_PREFIX_OPTION = 158
|
135
|
+
|
136
|
+
#: BCE_PBU_PREFIX_SET_DO_NOT_MATCH [:rfc:`5213`]
|
137
|
+
BCE_PBU_PREFIX_SET_DO_NOT_MATCH = 159
|
138
|
+
|
139
|
+
#: MISSING_MN_IDENTIFIER_OPTION [:rfc:`5213`]
|
140
|
+
MISSING_MN_IDENTIFIER_OPTION = 160
|
141
|
+
|
142
|
+
#: MISSING_HANDOFF_INDICATOR_OPTION [:rfc:`5213`]
|
143
|
+
MISSING_HANDOFF_INDICATOR_OPTION = 161
|
144
|
+
|
145
|
+
#: MISSING_ACCESS_TECH_TYPE_OPTION [:rfc:`5213`]
|
146
|
+
MISSING_ACCESS_TECH_TYPE_OPTION = 162
|
147
|
+
|
148
|
+
#: GRE_KEY_OPTION_REQUIRED [:rfc:`5845`]
|
149
|
+
GRE_KEY_OPTION_REQUIRED = 163
|
150
|
+
|
151
|
+
#: MCOA MALFORMED [:rfc:`5648`]
|
152
|
+
MCOA_MALFORMED = 164
|
153
|
+
|
154
|
+
#: MCOA NON-MCOA BINDING EXISTS [:rfc:`5648`]
|
155
|
+
MCOA_NON_MCOA_BINDING_EXISTS = 165
|
156
|
+
|
157
|
+
#: MCOA PROHIBITED [:rfc:`5648`]
|
158
|
+
MCOA_PROHIBITED = 166
|
159
|
+
|
160
|
+
#: MCOA UNKNOWN COA [:rfc:`5648`]
|
161
|
+
MCOA_UNKNOWN_COA = 167
|
162
|
+
|
163
|
+
#: MCOA BULK REGISTRATION PROHIBITED [:rfc:`5648`]
|
164
|
+
MCOA_BULK_REGISTRATION_PROHIBITED = 168
|
165
|
+
|
166
|
+
#: MCOA SIMULTANEOUS HOME AND FOREIGN PROHIBITED [:rfc:`5648`]
|
167
|
+
MCOA_SIMULTANEOUS_HOME_AND_FOREIGN_PROHIBITED = 169
|
168
|
+
|
169
|
+
#: NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE [:rfc:`5844`]
|
170
|
+
NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE = 170
|
171
|
+
|
172
|
+
#: NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS [:rfc:`5844`]
|
173
|
+
NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS = 171
|
174
|
+
|
175
|
+
#: NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE [:rfc:`5844`]
|
176
|
+
NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE = 172
|
177
|
+
|
178
|
+
#: MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED [:rfc:`5844`]
|
179
|
+
MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED = 173
|
180
|
+
|
181
|
+
#: Invalid Care-of Address [:rfc:`6275`]
|
182
|
+
Invalid_Care_of_Address = 174
|
183
|
+
|
184
|
+
#: INVALID_MOBILE_NODE_GROUP_IDENTIFIER [:rfc:`6602`]
|
185
|
+
INVALID_MOBILE_NODE_GROUP_IDENTIFIER = 175
|
186
|
+
|
187
|
+
#: REINIT_SA_WITH_HAC [:rfc:`6618`]
|
188
|
+
REINIT_SA_WITH_HAC = 176
|
189
|
+
|
190
|
+
#: NOT_AUTHORIZED_FOR_DELEGATED_MNP [:rfc:`7148`]
|
191
|
+
NOT_AUTHORIZED_FOR_DELEGATED_MNP = 177
|
192
|
+
|
193
|
+
#: REQUESTED_DMNP_IN_USE [:rfc:`7148`]
|
194
|
+
REQUESTED_DMNP_IN_USE = 178
|
195
|
+
|
196
|
+
#: CANNOT_MEET_QOS_SERVICE_REQUEST [:rfc:`7222`]
|
197
|
+
CANNOT_MEET_QOS_SERVICE_REQUEST = 179
|
198
|
+
|
199
|
+
#: CANNOT_SUPPORT_MULTIPATH_BINDING [:rfc:`8278`]
|
200
|
+
CANNOT_SUPPORT_MULTIPATH_BINDING = 180
|
201
|
+
|
202
|
+
@staticmethod
|
203
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'StatusCode':
|
204
|
+
"""Backport support for original codes.
|
205
|
+
|
206
|
+
Args:
|
207
|
+
key: Key to get enum item.
|
208
|
+
default: Default value if not found.
|
209
|
+
|
210
|
+
:meta private:
|
211
|
+
"""
|
212
|
+
if isinstance(key, int):
|
213
|
+
return StatusCode(key)
|
214
|
+
if key not in StatusCode._member_map_: # pylint: disable=no-member
|
215
|
+
return extend_enum(StatusCode, key, default)
|
216
|
+
return StatusCode[key] # type: ignore[misc]
|
217
|
+
|
218
|
+
@classmethod
|
219
|
+
def _missing_(cls, value: 'int') -> 'StatusCode':
|
220
|
+
"""Lookup function used when value is not found.
|
221
|
+
|
222
|
+
Args:
|
223
|
+
value: Value to get enum item.
|
224
|
+
|
225
|
+
"""
|
226
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
227
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
228
|
+
if 7 <= value <= 127:
|
229
|
+
#: Unassigned
|
230
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
231
|
+
#: Unspecified in the IANA registry
|
232
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Traffic Selector Format
|
4
|
+
=============================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.traffic_selector
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Traffic Selector Format**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.traffic_selector.TrafficSelector`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['TrafficSelector']
|
16
|
+
|
17
|
+
|
18
|
+
class TrafficSelector(IntEnum):
|
19
|
+
"""[TrafficSelector] Traffic Selector Format"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`6089`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: IPv4 Binary Traffic Selector [:rfc:`6088`]
|
25
|
+
IPv4_Binary_Traffic_Selector = 1
|
26
|
+
|
27
|
+
#: IPv6 Binary Traffic Selector [:rfc:`6088`]
|
28
|
+
IPv6_Binary_Traffic_Selector = 2
|
29
|
+
|
30
|
+
@staticmethod
|
31
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'TrafficSelector':
|
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 TrafficSelector(key)
|
42
|
+
if key not in TrafficSelector._member_map_: # pylint: disable=no-member
|
43
|
+
return extend_enum(TrafficSelector, key, default)
|
44
|
+
return TrafficSelector[key] # type: ignore[misc]
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def _missing_(cls, value: 'int') -> 'TrafficSelector':
|
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 <= 255):
|
55
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
56
|
+
if 3 <= value <= 250:
|
57
|
+
#: Unassigned
|
58
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
59
|
+
if 251 <= value <= 255:
|
60
|
+
#: Reserved for Experimental Use [:rfc:`6089`]
|
61
|
+
return extend_enum(cls, 'Reserved_for_Experimental_Use_%d' % value, value)
|
62
|
+
return super()._missing_(value)
|