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,71 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""IPv4 Home Address Reply Status Codes
|
4
|
+
==========================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.home_address_reply
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **IPv4 Home Address Reply Status Codes**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.home_address_reply.HomeAddressReply`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['HomeAddressReply']
|
16
|
+
|
17
|
+
|
18
|
+
class HomeAddressReply(IntEnum):
|
19
|
+
"""[HomeAddressReply] IPv4 Home Address Reply Status Codes"""
|
20
|
+
|
21
|
+
#: Success [:rfc:`5844`]
|
22
|
+
Success = 0
|
23
|
+
|
24
|
+
#: Failure, Reason Unspecified [:rfc:`5844`]
|
25
|
+
Failure_Reason_Unspecified = 128
|
26
|
+
|
27
|
+
#: Administratively prohibited [:rfc:`5844`]
|
28
|
+
Administratively_prohibited = 129
|
29
|
+
|
30
|
+
#: Incorrect IPv4 home address [:rfc:`5844`]
|
31
|
+
Incorrect_IPv4_home_address = 130
|
32
|
+
|
33
|
+
#: Invalid IPv4 address [:rfc:`5844`]
|
34
|
+
Invalid_IPv4_address = 131
|
35
|
+
|
36
|
+
#: Dynamic IPv4 home address assignment not available [:rfc:`5844`]
|
37
|
+
Dynamic_IPv4_home_address_assignment_not_available = 132
|
38
|
+
|
39
|
+
@staticmethod
|
40
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'HomeAddressReply':
|
41
|
+
"""Backport support for original codes.
|
42
|
+
|
43
|
+
Args:
|
44
|
+
key: Key to get enum item.
|
45
|
+
default: Default value if not found.
|
46
|
+
|
47
|
+
:meta private:
|
48
|
+
"""
|
49
|
+
if isinstance(key, int):
|
50
|
+
return HomeAddressReply(key)
|
51
|
+
if key not in HomeAddressReply._member_map_: # pylint: disable=no-member
|
52
|
+
return extend_enum(HomeAddressReply, key, default)
|
53
|
+
return HomeAddressReply[key] # type: ignore[misc]
|
54
|
+
|
55
|
+
@classmethod
|
56
|
+
def _missing_(cls, value: 'int') -> 'HomeAddressReply':
|
57
|
+
"""Lookup function used when value is not found.
|
58
|
+
|
59
|
+
Args:
|
60
|
+
value: Value to get enum item.
|
61
|
+
|
62
|
+
"""
|
63
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
64
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
65
|
+
if 1 <= value <= 127:
|
66
|
+
#: Unassigned
|
67
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
68
|
+
if 133 <= value <= 255:
|
69
|
+
#: Unassigned
|
70
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
71
|
+
return super()._missing_(value)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Link-Layer Address (LLA) Option Code
|
4
|
+
==========================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.lla_code
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Link-Layer Address (LLA) Option Code**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.lla_code.LLACode`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['LLACode']
|
16
|
+
|
17
|
+
|
18
|
+
class LLACode(IntEnum):
|
19
|
+
"""[LLACode] Link-Layer Address (LLA) Option Code"""
|
20
|
+
|
21
|
+
Wilcard = 0
|
22
|
+
|
23
|
+
New_Access_Point = 1
|
24
|
+
|
25
|
+
MH = 2
|
26
|
+
|
27
|
+
NAR = 3
|
28
|
+
|
29
|
+
RtSolPr_or_PrRtAdv = 4
|
30
|
+
|
31
|
+
access_point = 5
|
32
|
+
|
33
|
+
no_prefix_information = 6
|
34
|
+
|
35
|
+
no_fast_handover_support = 7
|
36
|
+
|
37
|
+
@staticmethod
|
38
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'LLACode':
|
39
|
+
"""Backport support for original codes.
|
40
|
+
|
41
|
+
Args:
|
42
|
+
key: Key to get enum item.
|
43
|
+
default: Default value if not found.
|
44
|
+
|
45
|
+
:meta private:
|
46
|
+
"""
|
47
|
+
if isinstance(key, int):
|
48
|
+
return LLACode(key)
|
49
|
+
if key not in LLACode._member_map_: # pylint: disable=no-member
|
50
|
+
return extend_enum(LLACode, key, default)
|
51
|
+
return LLACode[key] # type: ignore[misc]
|
52
|
+
|
53
|
+
@classmethod
|
54
|
+
def _missing_(cls, value: 'int') -> 'LLACode':
|
55
|
+
"""Lookup function used when value is not found.
|
56
|
+
|
57
|
+
Args:
|
58
|
+
value: Value to get enum item.
|
59
|
+
|
60
|
+
"""
|
61
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
62
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
63
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""LMA-Controlled MAG Parameters Sub-Option Type Values
|
4
|
+
==========================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.lma_mag_suboption
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **LMA-Controlled MAG Parameters Sub-Option Type Values**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.lma_mag_suboption.LMAControlledMAGSuboption`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['LMAControlledMAGSuboption']
|
16
|
+
|
17
|
+
|
18
|
+
class LMAControlledMAGSuboption(IntEnum):
|
19
|
+
"""[LMAControlledMAGSuboption] LMA-Controlled MAG Parameters Sub-Option Type Values"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`8127`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: Binding Re-registration Control Sub-Option [:rfc:`8127`]
|
25
|
+
Binding_Re_registration_Control = 1
|
26
|
+
|
27
|
+
#: Heartbeat Control Sub-Option [:rfc:`8127`]
|
28
|
+
Heartbeat_Control = 2
|
29
|
+
|
30
|
+
@staticmethod
|
31
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'LMAControlledMAGSuboption':
|
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 LMAControlledMAGSuboption(key)
|
42
|
+
if key not in LMAControlledMAGSuboption._member_map_: # pylint: disable=no-member
|
43
|
+
return extend_enum(LMAControlledMAGSuboption, key, default)
|
44
|
+
return LMAControlledMAGSuboption[key] # type: ignore[misc]
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def _missing_(cls, value: 'int') -> 'LMAControlledMAGSuboption':
|
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 <= 255:
|
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
|
+
"""Mobile Node Group Identifier Type Registry
|
4
|
+
================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.mn_group_id
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Mobile Node Group Identifier Type Registry**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.mn_group_id.MNGroupID`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['MNGroupID']
|
16
|
+
|
17
|
+
|
18
|
+
class MNGroupID(IntEnum):
|
19
|
+
"""[MNGroupID] Mobile Node Group Identifier Type Registry"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`6602`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: Bulk Binding Update Group [:rfc:`6602`]
|
25
|
+
Bulk_Binding_Update_Group = 1
|
26
|
+
|
27
|
+
#: Reserved [:rfc:`6602`]
|
28
|
+
Reserved_255 = 255
|
29
|
+
|
30
|
+
@staticmethod
|
31
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'MNGroupID':
|
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 MNGroupID(key)
|
42
|
+
if key not in MNGroupID._member_map_: # pylint: disable=no-member
|
43
|
+
return extend_enum(MNGroupID, key, default)
|
44
|
+
return MNGroupID[key] # type: ignore[misc]
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def _missing_(cls, value: 'int') -> 'MNGroupID':
|
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 2 <= value <= 254:
|
57
|
+
#: Unassigned
|
58
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
59
|
+
return super()._missing_(value)
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Mobile Node Identifier Option Subtypes
|
4
|
+
============================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.mn_id_subtype
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Mobile Node Identifier Option Subtypes**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.mn_id_subtype.MNIDSubtype`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['MNIDSubtype']
|
16
|
+
|
17
|
+
|
18
|
+
class MNIDSubtype(IntEnum):
|
19
|
+
"""[MNIDSubtype] Mobile Node Identifier Option Subtypes"""
|
20
|
+
|
21
|
+
#: NAI [:rfc:`4283`]
|
22
|
+
NAI = 1
|
23
|
+
|
24
|
+
#: IPv6 Address [:rfc:`8371`]
|
25
|
+
IPv6_Address = 2
|
26
|
+
|
27
|
+
#: IMSI [:rfc:`8371`]
|
28
|
+
IMSI = 3
|
29
|
+
|
30
|
+
#: P-TMSI [:rfc:`8371`]
|
31
|
+
P_TMSI = 4
|
32
|
+
|
33
|
+
#: EUI-48 address [:rfc:`8371`]
|
34
|
+
EUI_48_address = 5
|
35
|
+
|
36
|
+
#: EUI-64 address [:rfc:`8371`]
|
37
|
+
EUI_64_address = 6
|
38
|
+
|
39
|
+
#: GUTI [:rfc:`8371`]
|
40
|
+
GUTI = 7
|
41
|
+
|
42
|
+
#: DUID [:rfc:`8371`]
|
43
|
+
DUID = 8
|
44
|
+
|
45
|
+
@staticmethod
|
46
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'MNIDSubtype':
|
47
|
+
"""Backport support for original codes.
|
48
|
+
|
49
|
+
Args:
|
50
|
+
key: Key to get enum item.
|
51
|
+
default: Default value if not found.
|
52
|
+
|
53
|
+
:meta private:
|
54
|
+
"""
|
55
|
+
if isinstance(key, int):
|
56
|
+
return MNIDSubtype(key)
|
57
|
+
if key not in MNIDSubtype._member_map_: # pylint: disable=no-member
|
58
|
+
return extend_enum(MNIDSubtype, key, default)
|
59
|
+
return MNIDSubtype[key] # type: ignore[misc]
|
60
|
+
|
61
|
+
@classmethod
|
62
|
+
def _missing_(cls, value: 'int') -> 'MNIDSubtype':
|
63
|
+
"""Lookup function used when value is not found.
|
64
|
+
|
65
|
+
Args:
|
66
|
+
value: Value to get enum item.
|
67
|
+
|
68
|
+
"""
|
69
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
70
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
71
|
+
if 9 <= value <= 15:
|
72
|
+
#: Reserved [:rfc:`8371`]
|
73
|
+
return extend_enum(cls, 'Reserved_%d' % value, value)
|
74
|
+
if 16 <= value <= 255:
|
75
|
+
#: Unassigned
|
76
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
77
|
+
return super()._missing_(value)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Operator-Identifier Type Registry
|
4
|
+
=======================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.operator_id
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Operator-Identifier Type Registry**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.operator_id.OperatorID`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['OperatorID']
|
16
|
+
|
17
|
+
|
18
|
+
class OperatorID(IntEnum):
|
19
|
+
"""[OperatorID] Operator-Identifier Type Registry"""
|
20
|
+
|
21
|
+
#: Reserved [:rfc:`6757`]
|
22
|
+
Reserved_0 = 0
|
23
|
+
|
24
|
+
#: Operator-Identifier as a variable-length Private Enterprise Number (PEN)
|
25
|
+
#: [:rfc:`6757`]
|
26
|
+
Operator_Identifier_as_a_variable_length_Private_Enterprise_Number = 1
|
27
|
+
|
28
|
+
#: Realm of the Operator [:rfc:`6757`]
|
29
|
+
Realm_of_the_Operator = 2
|
30
|
+
|
31
|
+
#: Reserved [:rfc:`6757`]
|
32
|
+
Reserved_255 = 255
|
33
|
+
|
34
|
+
@staticmethod
|
35
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'OperatorID':
|
36
|
+
"""Backport support for original codes.
|
37
|
+
|
38
|
+
Args:
|
39
|
+
key: Key to get enum item.
|
40
|
+
default: Default value if not found.
|
41
|
+
|
42
|
+
:meta private:
|
43
|
+
"""
|
44
|
+
if isinstance(key, int):
|
45
|
+
return OperatorID(key)
|
46
|
+
if key not in OperatorID._member_map_: # pylint: disable=no-member
|
47
|
+
return extend_enum(OperatorID, key, default)
|
48
|
+
return OperatorID[key] # type: ignore[misc]
|
49
|
+
|
50
|
+
@classmethod
|
51
|
+
def _missing_(cls, value: 'int') -> 'OperatorID':
|
52
|
+
"""Lookup function used when value is not found.
|
53
|
+
|
54
|
+
Args:
|
55
|
+
value: Value to get enum item.
|
56
|
+
|
57
|
+
"""
|
58
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
59
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
60
|
+
if 3 <= value <= 254:
|
61
|
+
#: Unassigned
|
62
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
63
|
+
return super()._missing_(value)
|
@@ -0,0 +1,260 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Mobility Options
|
4
|
+
======================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.mh.option
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Mobility Options**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.mh.option.Option`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Option']
|
16
|
+
|
17
|
+
|
18
|
+
class Option(IntEnum):
|
19
|
+
"""[Option] Mobility Options"""
|
20
|
+
|
21
|
+
#: Pad1 [:rfc:`6275`]
|
22
|
+
Pad1 = 0
|
23
|
+
|
24
|
+
#: PadN [:rfc:`6275`]
|
25
|
+
PadN = 1
|
26
|
+
|
27
|
+
#: Binding Refresh Advice [:rfc:`6275`]
|
28
|
+
Binding_Refresh_Advice = 2
|
29
|
+
|
30
|
+
#: Alternate Care-of Address [:rfc:`6275`]
|
31
|
+
Alternate_Care_of_Address = 3
|
32
|
+
|
33
|
+
#: Nonce Indices [:rfc:`6275`]
|
34
|
+
Nonce_Indices = 4
|
35
|
+
|
36
|
+
#: Authorization Data [:rfc:`6275`]
|
37
|
+
Authorization_Data = 5
|
38
|
+
|
39
|
+
#: Mobile Network Prefix Option [:rfc:`3963`]
|
40
|
+
Mobile_Network_Prefix_Option = 6
|
41
|
+
|
42
|
+
#: Mobility Header Link-Layer Address option [:rfc:`5568`]
|
43
|
+
Mobility_Header_Link_Layer_Address_option = 7
|
44
|
+
|
45
|
+
#: MN-ID-OPTION-TYPE [:rfc:`4283`]
|
46
|
+
MN_ID_OPTION_TYPE = 8
|
47
|
+
|
48
|
+
#: AUTH-OPTION-TYPE [:rfc:`4285`]
|
49
|
+
AUTH_OPTION_TYPE = 9
|
50
|
+
|
51
|
+
#: MESG-ID-OPTION-TYPE [:rfc:`4285`]
|
52
|
+
MESG_ID_OPTION_TYPE = 10
|
53
|
+
|
54
|
+
#: CGA Parameters Request [:rfc:`4866`]
|
55
|
+
CGA_Parameters_Request = 11
|
56
|
+
|
57
|
+
#: CGA Parameters [:rfc:`4866`]
|
58
|
+
CGA_Parameters = 12
|
59
|
+
|
60
|
+
#: Signature [:rfc:`4866`]
|
61
|
+
Signature = 13
|
62
|
+
|
63
|
+
#: Permanent Home Keygen Token [:rfc:`4866`]
|
64
|
+
Permanent_Home_Keygen_Token = 14
|
65
|
+
|
66
|
+
#: Care-of Test Init [:rfc:`4866`]
|
67
|
+
Care_of_Test_Init = 15
|
68
|
+
|
69
|
+
#: Care-of Test [:rfc:`4866`]
|
70
|
+
Care_of_Test = 16
|
71
|
+
|
72
|
+
#: DNS-UPDATE-TYPE [:rfc:`5026`]
|
73
|
+
DNS_UPDATE_TYPE = 17
|
74
|
+
|
75
|
+
#: Experimental Mobility Option [:rfc:`5096`]
|
76
|
+
Experimental_Mobility_Option = 18
|
77
|
+
|
78
|
+
#: Vendor Specific Mobility Option [:rfc:`5094`]
|
79
|
+
Vendor_Specific_Mobility_Option = 19
|
80
|
+
|
81
|
+
#: Service Selection Mobility Option [:rfc:`5149`]
|
82
|
+
Service_Selection_Mobility_Option = 20
|
83
|
+
|
84
|
+
#: Binding Authorization Data for FMIPv6 (BADF) [:rfc:`5568`]
|
85
|
+
Binding_Authorization_Data_for_FMIPv6 = 21
|
86
|
+
|
87
|
+
#: Home Network Prefix Option [:rfc:`5213`]
|
88
|
+
Home_Network_Prefix_Option = 22
|
89
|
+
|
90
|
+
#: Handoff Indicator Option [:rfc:`5213`]
|
91
|
+
Handoff_Indicator_Option = 23
|
92
|
+
|
93
|
+
#: Access Technology Type Option [:rfc:`5213`]
|
94
|
+
Access_Technology_Type_Option = 24
|
95
|
+
|
96
|
+
#: Mobile Node Link-layer Identifier Option [:rfc:`5213`]
|
97
|
+
Mobile_Node_Link_layer_Identifier_Option = 25
|
98
|
+
|
99
|
+
#: Link-local Address Option [:rfc:`5213`]
|
100
|
+
Link_local_Address_Option = 26
|
101
|
+
|
102
|
+
#: Timestamp Option [:rfc:`5213`]
|
103
|
+
Timestamp_Option = 27
|
104
|
+
|
105
|
+
#: Restart Counter [:rfc:`5847`]
|
106
|
+
Restart_Counter = 28
|
107
|
+
|
108
|
+
#: IPv4 Home Address [:rfc:`5555`]
|
109
|
+
IPv4_Home_Address = 29
|
110
|
+
|
111
|
+
#: IPv4 Address Acknowledgement [:rfc:`5555`]
|
112
|
+
IPv4_Address_Acknowledgement = 30
|
113
|
+
|
114
|
+
#: NAT Detection [:rfc:`5555`]
|
115
|
+
NAT_Detection = 31
|
116
|
+
|
117
|
+
#: IPv4 Care-of Address [:rfc:`5555`]
|
118
|
+
IPv4_Care_of_Address = 32
|
119
|
+
|
120
|
+
#: GRE Key Option [:rfc:`5845`]
|
121
|
+
GRE_Key_Option = 33
|
122
|
+
|
123
|
+
#: Mobility Header IPv6 Address/Prefix [:rfc:`5568`]
|
124
|
+
Mobility_Header_IPv6_Address_Prefix = 34
|
125
|
+
|
126
|
+
#: Binding Identifier [:rfc:`5648`]
|
127
|
+
Binding_Identifier = 35
|
128
|
+
|
129
|
+
#: IPv4 Home Address Request [:rfc:`5844`]
|
130
|
+
IPv4_Home_Address_Request = 36
|
131
|
+
|
132
|
+
#: IPv4 Home Address Reply [:rfc:`5844`]
|
133
|
+
IPv4_Home_Address_Reply = 37
|
134
|
+
|
135
|
+
#: IPv4 Default-Router Address [:rfc:`5844`]
|
136
|
+
IPv4_Default_Router_Address = 38
|
137
|
+
|
138
|
+
#: IPv4 DHCP Support Mode [:rfc:`5844`]
|
139
|
+
IPv4_DHCP_Support_Mode = 39
|
140
|
+
|
141
|
+
#: Context Request Option [:rfc:`5949`]
|
142
|
+
Context_Request_Option = 40
|
143
|
+
|
144
|
+
#: Local Mobility Anchor Address Option [:rfc:`5949`]
|
145
|
+
Local_Mobility_Anchor_Address_Option = 41
|
146
|
+
|
147
|
+
#: Mobile Node Link-local Address Interface Identifier Option [:rfc:`5949`]
|
148
|
+
Mobile_Node_Link_local_Address_Interface_Identifier_Option = 42
|
149
|
+
|
150
|
+
#: Transient Binding [:rfc:`6058`]
|
151
|
+
Transient_Binding = 43
|
152
|
+
|
153
|
+
#: Flow Summary Mobility Option [:rfc:`6089`]
|
154
|
+
Flow_Summary_Mobility_Option = 44
|
155
|
+
|
156
|
+
#: Flow Identification Mobility Option [:rfc:`6089`]
|
157
|
+
Flow_Identification_Mobility_Option = 45
|
158
|
+
|
159
|
+
#: Redirect-Capability Mobility Option [:rfc:`6463`]
|
160
|
+
Redirect_Capability_Mobility_Option = 46
|
161
|
+
|
162
|
+
#: Redirect Mobility Option [:rfc:`6463`]
|
163
|
+
Redirect_Mobility_Option = 47
|
164
|
+
|
165
|
+
#: Load Information Mobility Option [:rfc:`6463`]
|
166
|
+
Load_Information_Mobility_Option = 48
|
167
|
+
|
168
|
+
#: Alternate IPv4 Care-of Address [:rfc:`6463`]
|
169
|
+
Alternate_IPv4_Care_of_Address = 49
|
170
|
+
|
171
|
+
#: Mobile Node Group Identifier [:rfc:`6602`]
|
172
|
+
Mobile_Node_Group_Identifier = 50
|
173
|
+
|
174
|
+
#: MAG IPv6 Address [:rfc:`6705`]
|
175
|
+
MAG_IPv6_Address = 51
|
176
|
+
|
177
|
+
#: Access Network Identifier [:rfc:`6757`]
|
178
|
+
Access_Network_Identifier = 52
|
179
|
+
|
180
|
+
#: IPv4 Traffic Offload Selector [:rfc:`6909`]
|
181
|
+
IPv4_Traffic_Offload_Selector = 53
|
182
|
+
|
183
|
+
#: Dynamic IP Multicast Selector [:rfc:`7028`]
|
184
|
+
Dynamic_IP_Multicast_Selector = 54
|
185
|
+
|
186
|
+
#: Delegated Mobile Network Prefix [:rfc:`7148`]
|
187
|
+
Delegated_Mobile_Network_Prefix = 55
|
188
|
+
|
189
|
+
#: Active Multicast Subscription IPv4 [:rfc:`7161`]
|
190
|
+
Active_Multicast_Subscription_IPv4 = 56
|
191
|
+
|
192
|
+
#: Active Multicast Subscription IPv6 [:rfc:`7161`]
|
193
|
+
Active_Multicast_Subscription_IPv6 = 57
|
194
|
+
|
195
|
+
#: Quality-of-Service [:rfc:`7222`]
|
196
|
+
Quality_of_Service = 58
|
197
|
+
|
198
|
+
#: LMA User-Plane Address [:rfc:`7389`]
|
199
|
+
LMA_User_Plane_Address = 59
|
200
|
+
|
201
|
+
#: Multicast Mobility Option [:rfc:`7411`]
|
202
|
+
Multicast_Mobility_Option = 60
|
203
|
+
|
204
|
+
#: Multicast Acknowledgement Option [:rfc:`7411`]
|
205
|
+
Multicast_Acknowledgement_Option = 61
|
206
|
+
|
207
|
+
#: LMA-Controlled MAG Parameters [:rfc:`8127`]
|
208
|
+
LMA_Controlled_MAG_Parameters = 62
|
209
|
+
|
210
|
+
#: MAG Multipath-Binding [:rfc:`8278`]
|
211
|
+
MAG_Multipath_Binding = 63
|
212
|
+
|
213
|
+
#: MAG Identifier [:rfc:`8278`]
|
214
|
+
MAG_Identifier = 64
|
215
|
+
|
216
|
+
#: Anchored Prefix [:rfc:`8885`]
|
217
|
+
Anchored_Prefix = 65
|
218
|
+
|
219
|
+
#: Local Prefix [:rfc:`8885`]
|
220
|
+
Local_Prefix = 66
|
221
|
+
|
222
|
+
#: Previous MAAR [:rfc:`8885`]
|
223
|
+
Previous_MAAR = 67
|
224
|
+
|
225
|
+
#: Serving MAAR [:rfc:`8885`]
|
226
|
+
Serving_MAAR = 68
|
227
|
+
|
228
|
+
#: DLIF Link-Local Address [:rfc:`8885`]
|
229
|
+
DLIF_Link_Local_Address = 69
|
230
|
+
|
231
|
+
#: DLIF Link-Layer Address [:rfc:`8885`]
|
232
|
+
DLIF_Link_Layer_Address = 70
|
233
|
+
|
234
|
+
@staticmethod
|
235
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Option':
|
236
|
+
"""Backport support for original codes.
|
237
|
+
|
238
|
+
Args:
|
239
|
+
key: Key to get enum item.
|
240
|
+
default: Default value if not found.
|
241
|
+
|
242
|
+
:meta private:
|
243
|
+
"""
|
244
|
+
if isinstance(key, int):
|
245
|
+
return Option(key)
|
246
|
+
if key not in Option._member_map_: # pylint: disable=no-member
|
247
|
+
return extend_enum(Option, key, default)
|
248
|
+
return Option[key] # type: ignore[misc]
|
249
|
+
|
250
|
+
@classmethod
|
251
|
+
def _missing_(cls, value: 'int') -> 'Option':
|
252
|
+
"""Lookup function used when value is not found.
|
253
|
+
|
254
|
+
Args:
|
255
|
+
value: Value to get enum item.
|
256
|
+
|
257
|
+
"""
|
258
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
259
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
260
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|