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,80 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""IPv6 Routing Types
|
4
|
+
========================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipv6.routing
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **IPv6 Routing Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.ipv6.routing.Routing`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Routing']
|
16
|
+
|
17
|
+
|
18
|
+
class Routing(IntEnum):
|
19
|
+
"""[Routing] IPv6 Routing Types"""
|
20
|
+
|
21
|
+
#: Source Route (DEPRECATED) [:rfc:`2460`][:rfc:`5095`]
|
22
|
+
Source_Route = 0
|
23
|
+
|
24
|
+
#: Nimrod (DEPRECATED 2009-05-06)
|
25
|
+
Nimrod = 1
|
26
|
+
|
27
|
+
#: Type 2 Routing Header [:rfc:`6275`]
|
28
|
+
Type_2_Routing_Header = 2
|
29
|
+
|
30
|
+
#: RPL Source Route Header [:rfc:`6554`]
|
31
|
+
RPL_Source_Route_Header = 3
|
32
|
+
|
33
|
+
#: Segment Routing Header (SRH) [:rfc:`8754`]
|
34
|
+
Segment_Routing_Header = 4
|
35
|
+
|
36
|
+
#: CRH-16 [:rfc:`9631`]
|
37
|
+
CRH_16 = 5
|
38
|
+
|
39
|
+
#: CRH-32 [:rfc:`9631`]
|
40
|
+
CRH_32 = 6
|
41
|
+
|
42
|
+
#: RFC3692-style Experiment 1 [:rfc:`4727`]
|
43
|
+
RFC3692_style_Experiment_1 = 253
|
44
|
+
|
45
|
+
#: RFC3692-style Experiment 2 [:rfc:`4727`]
|
46
|
+
RFC3692_style_Experiment_2 = 254
|
47
|
+
|
48
|
+
#: Reserved
|
49
|
+
Reserved_255 = 255
|
50
|
+
|
51
|
+
@staticmethod
|
52
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Routing':
|
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 Routing(key)
|
63
|
+
if key not in Routing._member_map_: # pylint: disable=no-member
|
64
|
+
return extend_enum(Routing, key, default)
|
65
|
+
return Routing[key] # type: ignore[misc]
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def _missing_(cls, value: 'int') -> 'Routing':
|
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 7 <= value <= 252:
|
78
|
+
#: Unassigned
|
79
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
80
|
+
return super()._missing_(value)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Seed-ID Types
|
4
|
+
===================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipv6.seed_id
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Seed-ID Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.ipv6.seed_id.SeedID`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['SeedID']
|
16
|
+
|
17
|
+
|
18
|
+
class SeedID(IntEnum):
|
19
|
+
"""[SeedID] Seed-ID Types"""
|
20
|
+
|
21
|
+
IPV6_SOURCE_ADDRESS = 0b00
|
22
|
+
|
23
|
+
SEEDID_16_BIT_UNSIGNED_INTEGER = 0b01
|
24
|
+
|
25
|
+
SEEDID_64_BIT_UNSIGNED_INTEGER = 0b10
|
26
|
+
|
27
|
+
SEEDID_128_BIT_UNSIGNED_INTEGER = 0b11
|
28
|
+
|
29
|
+
@staticmethod
|
30
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'SeedID':
|
31
|
+
"""Backport support for original codes.
|
32
|
+
|
33
|
+
Args:
|
34
|
+
key: Key to get enum item.
|
35
|
+
default: Default value if not found.
|
36
|
+
|
37
|
+
:meta private:
|
38
|
+
"""
|
39
|
+
if isinstance(key, int):
|
40
|
+
return SeedID(key)
|
41
|
+
if key not in SeedID._member_map_: # pylint: disable=no-member
|
42
|
+
return extend_enum(SeedID, key, default)
|
43
|
+
return SeedID[key] # type: ignore[misc]
|
44
|
+
|
45
|
+
@classmethod
|
46
|
+
def _missing_(cls, value: 'int') -> 'SeedID':
|
47
|
+
"""Lookup function used when value is not found.
|
48
|
+
|
49
|
+
Args:
|
50
|
+
value: Value to get enum item.
|
51
|
+
|
52
|
+
"""
|
53
|
+
if not (isinstance(value, int) and 0b00 <= value <= 0b11):
|
54
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
55
|
+
return extend_enum(cls, 'Unassigned_0b%s' % bin(value)[2:].zfill(2), value)
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Simplified Multicast Forwarding Duplicate Packet Detection (``SMF_DPD``) Options
|
4
|
+
======================================================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipv6.smf_dpd_mode
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Simplified Multicast Forwarding Duplicate Packet Detection (``SMF_DPD``) Options**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.ipv6.smf_dpd_mode.SMFDPDMode`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['SMFDPDMode']
|
16
|
+
|
17
|
+
|
18
|
+
class SMFDPDMode(IntEnum):
|
19
|
+
"""[SMFDPDMode] Simplified Multicast Forwarding Duplicate Packet Detection (``SMF_DPD``) Options"""
|
20
|
+
|
21
|
+
I_DPD = 0
|
22
|
+
|
23
|
+
H_DPD = 1
|
24
|
+
|
25
|
+
@staticmethod
|
26
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'SMFDPDMode':
|
27
|
+
"""Backport support for original codes.
|
28
|
+
|
29
|
+
Args:
|
30
|
+
key: Key to get enum item.
|
31
|
+
default: Default value if not found.
|
32
|
+
|
33
|
+
:meta private:
|
34
|
+
"""
|
35
|
+
if isinstance(key, int):
|
36
|
+
return SMFDPDMode(key)
|
37
|
+
if key not in SMFDPDMode._member_map_: # pylint: disable=no-member
|
38
|
+
return extend_enum(SMFDPDMode, key, default)
|
39
|
+
return SMFDPDMode[key] # type: ignore[misc]
|
40
|
+
|
41
|
+
@classmethod
|
42
|
+
def _missing_(cls, value: 'int') -> 'SMFDPDMode':
|
43
|
+
"""Lookup function used when value is not found.
|
44
|
+
|
45
|
+
Args:
|
46
|
+
value: Value to get enum item.
|
47
|
+
|
48
|
+
"""
|
49
|
+
if not (isinstance(value, int) and 0 <= value <= 1):
|
50
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
51
|
+
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
|
+
"""TaggerID Types
|
4
|
+
====================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipv6.tagger_id
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **TaggerID Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.ipv6.tagger_id.TaggerID`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['TaggerID']
|
16
|
+
|
17
|
+
|
18
|
+
class TaggerID(IntEnum):
|
19
|
+
"""[TaggerID] TaggerID Types"""
|
20
|
+
|
21
|
+
#: NULL [:rfc:`6621`]
|
22
|
+
NULL = 0
|
23
|
+
|
24
|
+
#: DEFAULT [:rfc:`6621`]
|
25
|
+
DEFAULT = 1
|
26
|
+
|
27
|
+
#: IPv4 [:rfc:`6621`]
|
28
|
+
IPv4 = 2
|
29
|
+
|
30
|
+
#: IPv6 [:rfc:`6621`]
|
31
|
+
IPv6 = 3
|
32
|
+
|
33
|
+
@staticmethod
|
34
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'TaggerID':
|
35
|
+
"""Backport support for original codes.
|
36
|
+
|
37
|
+
Args:
|
38
|
+
key: Key to get enum item.
|
39
|
+
default: Default value if not found.
|
40
|
+
|
41
|
+
:meta private:
|
42
|
+
"""
|
43
|
+
if isinstance(key, int):
|
44
|
+
return TaggerID(key)
|
45
|
+
if key not in TaggerID._member_map_: # pylint: disable=no-member
|
46
|
+
return extend_enum(TaggerID, key, default)
|
47
|
+
return TaggerID[key] # type: ignore[misc]
|
48
|
+
|
49
|
+
@classmethod
|
50
|
+
def _missing_(cls, value: 'int') -> 'TaggerID':
|
51
|
+
"""Lookup function used when value is not found.
|
52
|
+
|
53
|
+
Args:
|
54
|
+
value: Value to get enum item.
|
55
|
+
|
56
|
+
"""
|
57
|
+
if not (isinstance(value, int) and 0 <= value <= 7):
|
58
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
59
|
+
if 4 <= value <= 7:
|
60
|
+
#: Unassigned
|
61
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
62
|
+
return super()._missing_(value)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=unused-import
|
3
|
+
""":class:`~pcapkit.protocols.internet.ipx.IPX` Constant Enumerations
|
4
|
+
========================================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipx
|
7
|
+
|
8
|
+
This module contains all constant enumerations of
|
9
|
+
:class:`~pcapkit.protocols.internet.ipx.IPX` implementations. Available
|
10
|
+
enumerations include:
|
11
|
+
|
12
|
+
.. list-table::
|
13
|
+
|
14
|
+
* - :class:`IPX_Packet <pcapkit.const.ipx.packet.Packet>`
|
15
|
+
- IPX Packet Types [*]_
|
16
|
+
* - :class:`IPX_Socket <pcapkit.const.ipx.socket.Socket>`
|
17
|
+
- IPX Socket Types [*]_
|
18
|
+
|
19
|
+
.. [*] https://en.wikipedia.org/wiki/Internetwork_Packet_Exchange#IPX_packet_structure
|
20
|
+
.. [*] https://en.wikipedia.org/wiki/Internetwork_Packet_Exchange#Socket_number
|
21
|
+
|
22
|
+
"""
|
23
|
+
|
24
|
+
from pcapkit.const.ipx.packet import Packet as IPX_Packet
|
25
|
+
from pcapkit.const.ipx.socket import Socket as IPX_Socket
|
26
|
+
|
27
|
+
__all__ = ['IPX_Packet', 'IPX_Socket']
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""IPX Packet Types
|
4
|
+
======================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipx.packet
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **IPX Packet Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.ipx.packet.Packet`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Packet']
|
16
|
+
|
17
|
+
|
18
|
+
class Packet(IntEnum):
|
19
|
+
"""[Packet] IPX Packet Types"""
|
20
|
+
|
21
|
+
#: Unknown
|
22
|
+
Unknown = 0
|
23
|
+
|
24
|
+
#: ``RIP``, Routing Information Protocol ([:rfc:`1582`], [:rfc:`2091`])
|
25
|
+
RIP = 1
|
26
|
+
|
27
|
+
#: Echo Packet
|
28
|
+
Echo_Packet = 2
|
29
|
+
|
30
|
+
#: Error Packet
|
31
|
+
Error_Packet = 3
|
32
|
+
|
33
|
+
#: ``PEP``, Packet Exchange Protocol, used for SAP (Service Advertising
|
34
|
+
#: Protocol)
|
35
|
+
PEP = 4
|
36
|
+
|
37
|
+
#: ``SPX``, Sequenced Packet Exchange
|
38
|
+
SPX = 5
|
39
|
+
|
40
|
+
#: ``NCP``, NetWare Core Protocol
|
41
|
+
NCP = 17
|
42
|
+
|
43
|
+
#: Broadcast[4]
|
44
|
+
Broadcast_4 = 20
|
45
|
+
|
46
|
+
@staticmethod
|
47
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Packet':
|
48
|
+
"""Backport support for original codes.
|
49
|
+
|
50
|
+
Args:
|
51
|
+
key: Key to get enum item.
|
52
|
+
default: Default value if not found.
|
53
|
+
|
54
|
+
:meta private:
|
55
|
+
"""
|
56
|
+
if isinstance(key, int):
|
57
|
+
return Packet(key)
|
58
|
+
if key not in Packet._member_map_: # pylint: disable=no-member
|
59
|
+
return extend_enum(Packet, key, default)
|
60
|
+
return Packet[key] # type: ignore[misc]
|
61
|
+
|
62
|
+
@classmethod
|
63
|
+
def _missing_(cls, value: 'int') -> 'Packet':
|
64
|
+
"""Lookup function used when value is not found.
|
65
|
+
|
66
|
+
Args:
|
67
|
+
value: Value to get enum item.
|
68
|
+
|
69
|
+
"""
|
70
|
+
if not (isinstance(value, int) and 0 <= value <= 255):
|
71
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
72
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""Socket Types
|
4
|
+
==================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.ipx.socket
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **Socket Types**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.ipx.socket.Socket`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Socket']
|
16
|
+
|
17
|
+
|
18
|
+
class Socket(IntEnum):
|
19
|
+
"""[Socket] Socket Types"""
|
20
|
+
|
21
|
+
#: Routing Information Packet
|
22
|
+
Routing_Information_Packet = 0x0001
|
23
|
+
|
24
|
+
#: Echo Protocol Packet
|
25
|
+
Echo_Protocol_Packet = 0x0002
|
26
|
+
|
27
|
+
#: Error Handling Packet
|
28
|
+
Error_Handling_Packet = 0x0003
|
29
|
+
|
30
|
+
#: NetWare Core Protocol, NCP – used by Novell NetWare servers
|
31
|
+
NetWare_Core_Protocol = 0x0451
|
32
|
+
|
33
|
+
#: Service Advertising Protocol, SAP
|
34
|
+
Service_Advertising_Protocol = 0x0452
|
35
|
+
|
36
|
+
#: Routing Information Protocol, RIP
|
37
|
+
Routing_Information_Protocol = 0x0453
|
38
|
+
|
39
|
+
#: NetBIOS
|
40
|
+
NetBIOS = 0x0455
|
41
|
+
|
42
|
+
#: Diagnostic Packet
|
43
|
+
Diagnostic_Packet = 0x0456
|
44
|
+
|
45
|
+
#: Serialization Packet, used for NCP as well
|
46
|
+
Serialization_Packet = 0x0457
|
47
|
+
|
48
|
+
#: Used by Novell NetWare Client
|
49
|
+
Used_by_Novell_NetWare_Client = 0x4003
|
50
|
+
|
51
|
+
#: LLC [ 4 ]
|
52
|
+
LLC_4 = 0x8060
|
53
|
+
|
54
|
+
#: TCP over IPXF
|
55
|
+
TCP_over_IPXF = 0x9091
|
56
|
+
|
57
|
+
#: UDP over IPXF
|
58
|
+
UDP_over_IPXF = 0x9092
|
59
|
+
|
60
|
+
#: IPXF, IPX Fragmentation Protocol
|
61
|
+
IPXF = 0x9093
|
62
|
+
|
63
|
+
@staticmethod
|
64
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Socket':
|
65
|
+
"""Backport support for original codes.
|
66
|
+
|
67
|
+
Args:
|
68
|
+
key: Key to get enum item.
|
69
|
+
default: Default value if not found.
|
70
|
+
|
71
|
+
:meta private:
|
72
|
+
"""
|
73
|
+
if isinstance(key, int):
|
74
|
+
return Socket(key)
|
75
|
+
if key not in Socket._member_map_: # pylint: disable=no-member
|
76
|
+
return extend_enum(Socket, key, default)
|
77
|
+
return Socket[key] # type: ignore[misc]
|
78
|
+
|
79
|
+
@classmethod
|
80
|
+
def _missing_(cls, value: 'int') -> 'Socket':
|
81
|
+
"""Lookup function used when value is not found.
|
82
|
+
|
83
|
+
Args:
|
84
|
+
value: Value to get enum item.
|
85
|
+
|
86
|
+
"""
|
87
|
+
if not (isinstance(value, int) and 0x0000 <= value <= 0xFFFF):
|
88
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
89
|
+
if 0x0001 <= value <= 0x0BB8:
|
90
|
+
#: Registered by Xerox
|
91
|
+
return extend_enum(cls, 'Registered by Xerox_0x%s' % hex(value)[2:].upper().zfill(4), value)
|
92
|
+
if 0x0020 <= value <= 0x003F:
|
93
|
+
#: Experimental
|
94
|
+
return extend_enum(cls, 'Experimental_0x%s' % hex(value)[2:].upper().zfill(4), value)
|
95
|
+
if 0x0BB9 <= value <= 0xFFFF:
|
96
|
+
#: Dynamically Assigned
|
97
|
+
return extend_enum(cls, 'Dynamically Assigned_0x%s' % hex(value)[2:].upper().zfill(4), value)
|
98
|
+
if 0x4000 <= value <= 0x4FFF:
|
99
|
+
#: Dynamically Assigned Socket Numbers
|
100
|
+
return extend_enum(cls, 'Dynamically Assigned Socket Numbers_0x%s' % hex(value)[2:].upper().zfill(4), value)
|
101
|
+
if 0x8000 <= value <= 0xFFFF:
|
102
|
+
#: Statically Assigned Socket Numbers
|
103
|
+
return extend_enum(cls, 'Statically Assigned Socket Numbers_0x%s' % hex(value)[2:].upper().zfill(4), value)
|
104
|
+
return super()._missing_(value)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=unused-import
|
3
|
+
""":class:`~pcapkit.protocols.link.l2tp.L2TP` Constant Enumerations
|
4
|
+
======================================================================
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.l2tp
|
7
|
+
|
8
|
+
This module contains all constant enumerations of
|
9
|
+
:class:`~pcapkit.protocols.link.l2tp.L2TP` implementations. Available
|
10
|
+
enumerations include:
|
11
|
+
|
12
|
+
.. list-table::
|
13
|
+
|
14
|
+
* - :class:`L2TP_Type <pcapkit.const.l2tp.type.Type>`
|
15
|
+
- L2TP Types
|
16
|
+
|
17
|
+
"""
|
18
|
+
|
19
|
+
from pcapkit.const.l2tp.type import Type as L2TP_Type
|
20
|
+
|
21
|
+
__all__ = ['L2TP_Type']
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# pylint: disable=line-too-long,consider-using-f-string
|
3
|
+
"""L2TP Type
|
4
|
+
===============
|
5
|
+
|
6
|
+
.. module:: pcapkit.const.l2tp.type
|
7
|
+
|
8
|
+
This module contains the constant enumeration for **L2TP Type**,
|
9
|
+
which is automatically generated from :class:`pcapkit.vendor.l2tp.type.Type`.
|
10
|
+
|
11
|
+
"""
|
12
|
+
|
13
|
+
from aenum import IntEnum, extend_enum
|
14
|
+
|
15
|
+
__all__ = ['Type']
|
16
|
+
|
17
|
+
|
18
|
+
class Type(IntEnum):
|
19
|
+
"""[Type] L2TP Type"""
|
20
|
+
|
21
|
+
Control = 0
|
22
|
+
|
23
|
+
Data = 1
|
24
|
+
|
25
|
+
@staticmethod
|
26
|
+
def get(key: 'int | str', default: 'int' = -1) -> 'Type':
|
27
|
+
"""Backport support for original codes.
|
28
|
+
|
29
|
+
Args:
|
30
|
+
key: Key to get enum item.
|
31
|
+
default: Default value if not found.
|
32
|
+
|
33
|
+
:meta private:
|
34
|
+
"""
|
35
|
+
if isinstance(key, int):
|
36
|
+
return Type(key)
|
37
|
+
if key not in Type._member_map_: # pylint: disable=no-member
|
38
|
+
return extend_enum(Type, key, default)
|
39
|
+
return Type[key] # type: ignore[misc]
|
40
|
+
|
41
|
+
@classmethod
|
42
|
+
def _missing_(cls, value: 'int') -> 'Type':
|
43
|
+
"""Lookup function used when value is not found.
|
44
|
+
|
45
|
+
Args:
|
46
|
+
value: Value to get enum item.
|
47
|
+
|
48
|
+
"""
|
49
|
+
if not (isinstance(value, int) and 0 <= value <= 1):
|
50
|
+
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
|
51
|
+
return extend_enum(cls, 'Unassigned_%d' % value, value)
|