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,327 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""Foundation Registries
|
3
|
+
===========================
|
4
|
+
|
5
|
+
.. module:: pcapkit.foundation.registry.foundation
|
6
|
+
|
7
|
+
This module provides the foundation registries for :mod:`pcapkit`.
|
8
|
+
|
9
|
+
"""
|
10
|
+
from typing import TYPE_CHECKING, cast, overload
|
11
|
+
|
12
|
+
from pcapkit.corekit.module import ModuleDescriptor
|
13
|
+
from pcapkit.foundation.extraction import Extractor
|
14
|
+
from pcapkit.foundation.reassembly.ipv4 import IPv4 as IPv4_Reassembly
|
15
|
+
from pcapkit.foundation.reassembly.ipv6 import IPv6 as IPv6_Reassembly
|
16
|
+
from pcapkit.foundation.reassembly.tcp import TCP as TCP_Reassembly
|
17
|
+
from pcapkit.foundation.traceflow import TraceFlow
|
18
|
+
from pcapkit.foundation.traceflow.tcp import TCP as TCP_TraceFlow
|
19
|
+
from pcapkit.utilities.logging import logger
|
20
|
+
|
21
|
+
if TYPE_CHECKING:
|
22
|
+
from typing import Type
|
23
|
+
|
24
|
+
from dictdumper import Dumper
|
25
|
+
|
26
|
+
from pcapkit.foundation.engines import Engine
|
27
|
+
from pcapkit.foundation.reassembly.reassembly import CallbackFn as Reasm_CallbackFn
|
28
|
+
from pcapkit.foundation.reassembly.reassembly import Reassembly
|
29
|
+
from pcapkit.foundation.traceflow.traceflow import CallbackFn as Trace_CallbackFn
|
30
|
+
|
31
|
+
__all__ = [
|
32
|
+
'register_extractor_engine',
|
33
|
+
|
34
|
+
'register_dumper',
|
35
|
+
'register_extractor_dumper', 'register_traceflow_dumper',
|
36
|
+
|
37
|
+
'register_reassembly_ipv4_callback', 'register_reassembly_ipv6_callback',
|
38
|
+
'register_reassembly_tcp_callback',
|
39
|
+
'register_traceflow_tcp_callback',
|
40
|
+
|
41
|
+
'register_extractor_reassembly', 'register_extractor_traceflow',
|
42
|
+
]
|
43
|
+
|
44
|
+
NULL = '(null)'
|
45
|
+
|
46
|
+
###############################################################################
|
47
|
+
# Engine Registries
|
48
|
+
###############################################################################
|
49
|
+
|
50
|
+
|
51
|
+
@overload
|
52
|
+
def register_extractor_engine(name: 'str', module: 'ModuleDescriptor[Engine] | Type[Engine]') -> 'None': ...
|
53
|
+
@overload
|
54
|
+
def register_extractor_engine(name: 'str', module: 'str', class_: 'str') -> 'None': ...
|
55
|
+
|
56
|
+
|
57
|
+
# NOTE: pcapkit.foundation.extraction.Extractor.__engine__
|
58
|
+
def register_extractor_engine(name: 'str', module: 'ModuleDescriptor[Engine] | Type[Engine] | str',
|
59
|
+
class_: 'str' = NULL) -> 'None': # pylint: disable=redefined-builtin
|
60
|
+
r"""Registered a new engine class.
|
61
|
+
|
62
|
+
Notes:
|
63
|
+
The full qualified class name of the new engine class
|
64
|
+
should be as ``{module}.{class_}``.
|
65
|
+
|
66
|
+
The function will register the given engine class to the
|
67
|
+
:data:`pcapkit.foundation.extraction.Extractor.__engine__` registry.
|
68
|
+
|
69
|
+
Arguments:
|
70
|
+
engine: engine name
|
71
|
+
module: module name or module descriptor or an
|
72
|
+
:class:`~pcapkit.foundation.engines.engine.Engine` subclass
|
73
|
+
class\_: class name
|
74
|
+
|
75
|
+
"""
|
76
|
+
if isinstance(module, str):
|
77
|
+
module = cast('ModuleDescriptor[Engine]', ModuleDescriptor(module, class_))
|
78
|
+
|
79
|
+
Extractor.register_engine(name, module)
|
80
|
+
logger.info('registered extractor engine: %s', name)
|
81
|
+
|
82
|
+
|
83
|
+
###############################################################################
|
84
|
+
# Dumper Registries
|
85
|
+
###############################################################################
|
86
|
+
|
87
|
+
|
88
|
+
@overload
|
89
|
+
def register_dumper(format: 'str', module: 'ModuleDescriptor[Dumper] | Type[Dumper]', *, ext: 'str') -> 'None': ...
|
90
|
+
@overload
|
91
|
+
def register_dumper(format: 'str', module: 'str', class_: 'str', *, ext: 'str') -> 'None': ...
|
92
|
+
|
93
|
+
|
94
|
+
def register_dumper(format: 'str', module: 'ModuleDescriptor[Dumper] | Type[Dumper] | str',
|
95
|
+
class_: 'str' = NULL, *, ext: 'str') -> 'None': # pylint: disable=redefined-builtin
|
96
|
+
r"""Registered a new dumper class.
|
97
|
+
|
98
|
+
Notes:
|
99
|
+
The full qualified class name of the new dumper class
|
100
|
+
should be as ``{module}.{class_}``.
|
101
|
+
|
102
|
+
The function will register the given dumper class to the
|
103
|
+
:data:`pcapkit.foundation.traceflow.traceflow.TraceFlow.__output__` and
|
104
|
+
:data:`pcapkit.foundation.extraction.Extractor.__output__` registry.
|
105
|
+
|
106
|
+
Arguments:
|
107
|
+
format: format name
|
108
|
+
module: module name or module descriptor or a
|
109
|
+
:class:`~dictdumper.dumper.Dumper` subclass
|
110
|
+
class\_: class name
|
111
|
+
ext: file extension
|
112
|
+
|
113
|
+
See Also:
|
114
|
+
* :func:`pcapkit.foundation.registry.foundation.register_extractor_dumper`
|
115
|
+
* :func:`pcapkit.foundation.registry.foundation.register_traceflow_dumper`
|
116
|
+
|
117
|
+
"""
|
118
|
+
if isinstance(module, str):
|
119
|
+
module = cast('ModuleDescriptor[Dumper]', ModuleDescriptor(module, class_))
|
120
|
+
|
121
|
+
Extractor.register_dumper(format, module, ext)
|
122
|
+
TraceFlow.register_dumper(format, module, ext)
|
123
|
+
logger.info('registered output format: %s', format)
|
124
|
+
|
125
|
+
|
126
|
+
@overload
|
127
|
+
def register_extractor_dumper(format: 'str', module: 'ModuleDescriptor[Dumper] | Type[Dumper]', *, ext: 'str') -> 'None': ...
|
128
|
+
@overload
|
129
|
+
def register_extractor_dumper(format: 'str', module: 'str', class_: 'str', *, ext: 'str') -> 'None': ...
|
130
|
+
|
131
|
+
|
132
|
+
# NOTE: pcapkit.foundation.extraction.Extractor.__output__
|
133
|
+
def register_extractor_dumper(format: 'str', module: 'ModuleDescriptor[Dumper] | Type[Dumper] | str',
|
134
|
+
class_: 'str' = NULL, *, ext: 'str') -> 'None': # pylint: disable=redefined-builtin
|
135
|
+
r"""Registered a new dumper class.
|
136
|
+
|
137
|
+
Notes:
|
138
|
+
The full qualified class name of the new dumper class
|
139
|
+
should be as ``{module}.{class_}``.
|
140
|
+
|
141
|
+
The function will register the given dumper class to the
|
142
|
+
:data:`pcapkit.foundation.extraction.Extractor.__output__` registry.
|
143
|
+
|
144
|
+
Arguments:
|
145
|
+
format: format name
|
146
|
+
module: module name or module descriptor or a
|
147
|
+
:class:`~dictdumper.dumper.Dumper` subclass
|
148
|
+
class\_: class name
|
149
|
+
ext: file extension
|
150
|
+
|
151
|
+
"""
|
152
|
+
if isinstance(module, str):
|
153
|
+
module = cast('ModuleDescriptor[Dumper]', ModuleDescriptor(module, class_))
|
154
|
+
|
155
|
+
Extractor.register_dumper(format, module, ext)
|
156
|
+
logger.info('registered extractor output dumper: %s', format)
|
157
|
+
|
158
|
+
|
159
|
+
@overload
|
160
|
+
def register_traceflow_dumper(format: 'str', module: 'ModuleDescriptor[Dumper] | Type[Dumper]', *, ext: 'str') -> 'None': ...
|
161
|
+
@overload
|
162
|
+
def register_traceflow_dumper(format: 'str', module: 'str', class_: 'str', *, ext: 'str') -> 'None': ...
|
163
|
+
|
164
|
+
|
165
|
+
# NOTE: pcapkit.foundation.traceflow.traceflow.TraceFlow.__output__
|
166
|
+
def register_traceflow_dumper(format: 'str', module: 'ModuleDescriptor[Dumper] | Type[Dumper] | str',
|
167
|
+
class_: 'str' = NULL, *, ext: 'str') -> 'None': # pylint: disable=redefined-builtin
|
168
|
+
r"""Registered a new dumper class.
|
169
|
+
|
170
|
+
Notes:
|
171
|
+
The full qualified class name of the new dumper class
|
172
|
+
should be as ``{module}.{class_}``.
|
173
|
+
|
174
|
+
The function will register the given dumper class to the
|
175
|
+
:data:`pcapkit.foundation.traceflow.traceflow.TraceFlow.__output__` registry.
|
176
|
+
|
177
|
+
Arguments:
|
178
|
+
format: format name
|
179
|
+
module: module name or module descriptor or a
|
180
|
+
:class:`~dictdumper.dumper.Dumper` subclass
|
181
|
+
class\_: class name
|
182
|
+
ext: file extension
|
183
|
+
|
184
|
+
"""
|
185
|
+
if isinstance(module, str):
|
186
|
+
module = cast('ModuleDescriptor[Dumper]', ModuleDescriptor(module, class_))
|
187
|
+
|
188
|
+
TraceFlow.register_dumper(format, module, ext)
|
189
|
+
logger.info('registered traceflow output: %s', format)
|
190
|
+
|
191
|
+
|
192
|
+
###############################################################################
|
193
|
+
# Callback Registries
|
194
|
+
###############################################################################
|
195
|
+
|
196
|
+
|
197
|
+
# NOTE: pcapkit.foundation.reassembly.ipv4.IPv4.__callback_fn__
|
198
|
+
def register_reassembly_ipv4_callback(callback: 'Reasm_CallbackFn') -> 'None':
|
199
|
+
"""Registered a new callback function.
|
200
|
+
|
201
|
+
The function will register the given callback function to the
|
202
|
+
:attr:`IPv4.__callback_fn__ <pcapkit.foundation.reassembly.reassembly.Reassembly.__callback_fn__>`
|
203
|
+
registry.
|
204
|
+
|
205
|
+
Arguments:
|
206
|
+
callback: callback function
|
207
|
+
|
208
|
+
"""
|
209
|
+
IPv4_Reassembly.register(callback)
|
210
|
+
logger.info('registered IPv4 reassembly callback: %r', callback)
|
211
|
+
|
212
|
+
|
213
|
+
# NOTE: pcapkit.foundation.reassembly.ipv6.IPv6.__callback_fn__
|
214
|
+
def register_reassembly_ipv6_callback(callback: 'Reasm_CallbackFn') -> 'None':
|
215
|
+
"""Registered a new callback function.
|
216
|
+
|
217
|
+
The function will register the given callback function to the
|
218
|
+
:attr:`IPv6.__callback_fn__ <pcapkit.foundation.reassembly.reassembly.Reassembly.__callback_fn__>`
|
219
|
+
registry.
|
220
|
+
|
221
|
+
Arguments:
|
222
|
+
callback: callback function
|
223
|
+
|
224
|
+
"""
|
225
|
+
IPv6_Reassembly.register(callback)
|
226
|
+
logger.info('registered IPv6 reassembly callback: %r', callback)
|
227
|
+
|
228
|
+
|
229
|
+
# NOTE: pcapkit.foundation.reassembly.tcp.TCP.__callback_fn__
|
230
|
+
def register_reassembly_tcp_callback(callback: 'Reasm_CallbackFn') -> 'None':
|
231
|
+
"""Registered a new callback function.
|
232
|
+
|
233
|
+
The function will register the given callback function to the
|
234
|
+
:attr:`TCP.__callback_fn__ <pcapkit.foundation.reassembly.reassembly.Reassembly.__callback_fn__>`
|
235
|
+
registry.
|
236
|
+
|
237
|
+
Arguments:
|
238
|
+
callback: callback function
|
239
|
+
|
240
|
+
"""
|
241
|
+
TCP_Reassembly.register(callback)
|
242
|
+
logger.info('registered TCP reassembly callback: %r', callback)
|
243
|
+
|
244
|
+
|
245
|
+
# NOTE: pcapkit.foundation.traceflow.tcp.TCP.__callback_fn__
|
246
|
+
def register_traceflow_tcp_callback(callback: 'Trace_CallbackFn') -> 'None':
|
247
|
+
"""Registered a new callback function.
|
248
|
+
|
249
|
+
The function will register the given callback function to the
|
250
|
+
:attr:`TCP.__callback_fn__ <pcapkit.foundation.traceflow.traceflow.TraceFlow.__callback_fn__>`
|
251
|
+
registry.
|
252
|
+
|
253
|
+
Arguments:
|
254
|
+
callback: callback function
|
255
|
+
|
256
|
+
"""
|
257
|
+
TCP_TraceFlow.register_callback(callback)
|
258
|
+
logger.info('registered TCP flow tracing callback: %r', callback)
|
259
|
+
|
260
|
+
|
261
|
+
###############################################################################
|
262
|
+
# Extractor Registries
|
263
|
+
###############################################################################
|
264
|
+
|
265
|
+
|
266
|
+
@overload
|
267
|
+
def register_extractor_reassembly(protocol: 'str', module: 'ModuleDescriptor[Reassembly] | Type[Reassembly]') -> 'None': ...
|
268
|
+
@overload
|
269
|
+
def register_extractor_reassembly(protocol: 'str', module: 'str', class_: 'str') -> 'None': ...
|
270
|
+
|
271
|
+
|
272
|
+
# NOTE: pcapkit.foundation.extraction.Extractor.__reassembly__
|
273
|
+
def register_extractor_reassembly(protocol: 'str', module: 'str | ModuleDescriptor[Reassembly] | Type[Reassembly]',
|
274
|
+
class_: 'str' = NULL) -> 'None': # pylint: disable=redefined-builtin
|
275
|
+
r"""Registered a new reassembly class.
|
276
|
+
|
277
|
+
Notes:
|
278
|
+
The full qualified class name of the new reassembly class
|
279
|
+
should be as ``{module}.{class_}``.
|
280
|
+
|
281
|
+
The function will register the given reassembly class to the
|
282
|
+
:data:`pcapkit.foundation.extraction.Extractor.__reassembly__` registry.
|
283
|
+
|
284
|
+
Arguments:
|
285
|
+
protocol: protocol name
|
286
|
+
module: module name or module descriptor or a
|
287
|
+
:class:`~pcapkit.foundation.reassembly.reassembly.Reassembly` subclass
|
288
|
+
class\_: class name
|
289
|
+
|
290
|
+
"""
|
291
|
+
if isinstance(module, str):
|
292
|
+
module = cast('ModuleDescriptor[Reassembly]', ModuleDescriptor(module, class_))
|
293
|
+
|
294
|
+
Extractor.register_reassembly(protocol, module)
|
295
|
+
logger.info('registered extractor reassembly: %s', protocol)
|
296
|
+
|
297
|
+
|
298
|
+
@overload
|
299
|
+
def register_extractor_traceflow(protocol: 'str', module: 'ModuleDescriptor[TraceFlow] | Type[TraceFlow]') -> 'None': ...
|
300
|
+
@overload
|
301
|
+
def register_extractor_traceflow(protocol: 'str', module: 'str', class_: 'str') -> 'None': ...
|
302
|
+
|
303
|
+
|
304
|
+
# NOTE: pcapkit.foundation.extraction.Extractor.__traceflow__
|
305
|
+
def register_extractor_traceflow(protocol: 'str', module: 'str | ModuleDescriptor[TraceFlow] | Type[TraceFlow]',
|
306
|
+
class_: 'str' = NULL) -> 'None': # pylint: disable=redefined-builtin
|
307
|
+
r"""Registered a new flow tracing class.
|
308
|
+
|
309
|
+
Notes:
|
310
|
+
The full qualified class name of the new flow tracing class
|
311
|
+
should be as ``{module}.{class_}``.
|
312
|
+
|
313
|
+
The function will register the given flow tracing class to the
|
314
|
+
:data:`pcapkit.foundation.extraction.Extractor.__traceflow__` registry.
|
315
|
+
|
316
|
+
Arguments:
|
317
|
+
protocol: protocol name
|
318
|
+
module: module name or module descriptor or a
|
319
|
+
:class:`~pcapkit.foundation.traceflow.traceflow.TraceFlow` subclass
|
320
|
+
class\_: class name
|
321
|
+
|
322
|
+
"""
|
323
|
+
if isinstance(module, str):
|
324
|
+
module = cast('ModuleDescriptor[TraceFlow]', ModuleDescriptor(module, class_))
|
325
|
+
|
326
|
+
Extractor.register_traceflow(protocol, module)
|
327
|
+
logger.info('registered extractor flow tracing: %s', protocol)
|