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,25 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""data models for raw protocol data"""
|
3
|
+
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
from pcapkit.corekit.infoclass import info_final
|
7
|
+
from pcapkit.protocols.data.protocol import Protocol
|
8
|
+
|
9
|
+
if TYPE_CHECKING:
|
10
|
+
from typing import Optional
|
11
|
+
|
12
|
+
__all__ = ['Raw']
|
13
|
+
|
14
|
+
|
15
|
+
@info_final
|
16
|
+
class Raw(Protocol):
|
17
|
+
"""Raw packet is an unknown protocol."""
|
18
|
+
|
19
|
+
#: Original enumeration of this protocol.
|
20
|
+
protocol: 'Optional[int]'
|
21
|
+
#: error instance when parsing packet data
|
22
|
+
error: 'Optional[Exception]'
|
23
|
+
|
24
|
+
if TYPE_CHECKING:
|
25
|
+
def __init__(self, protocol: 'Optional[int]', error: 'Optional[Exception]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""data models for root protocol"""
|
3
|
+
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
from pcapkit.corekit.infoclass import info_final
|
7
|
+
from pcapkit.protocols.data.data import Data
|
8
|
+
|
9
|
+
__all__ = [
|
10
|
+
'Packet',
|
11
|
+
]
|
12
|
+
|
13
|
+
|
14
|
+
class Protocol(Data):
|
15
|
+
"""Root protocol."""
|
16
|
+
|
17
|
+
if TYPE_CHECKING:
|
18
|
+
#: Packet payload.
|
19
|
+
packet: 'bytes'
|
20
|
+
|
21
|
+
|
22
|
+
@info_final
|
23
|
+
class Packet(Data):
|
24
|
+
"""Header and payload data."""
|
25
|
+
|
26
|
+
#: packet header
|
27
|
+
header: 'bytes'
|
28
|
+
#: packet payload
|
29
|
+
payload: 'bytes'
|
30
|
+
|
31
|
+
if TYPE_CHECKING:
|
32
|
+
def __init__(self, header: 'bytes', payload: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""data models for transport layer protocols"""
|
3
|
+
|
4
|
+
# Transmission Control Protocol
|
5
|
+
from pcapkit.protocols.data.transport.tcp import CC as TCP_CC
|
6
|
+
from pcapkit.protocols.data.transport.tcp import MPTCP as TCP_MPTCP
|
7
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPDSS as TCP_MPTCPDSS
|
8
|
+
from pcapkit.protocols.data.transport.tcp import SACK as TCP_SACK
|
9
|
+
from pcapkit.protocols.data.transport.tcp import TCP
|
10
|
+
from pcapkit.protocols.data.transport.tcp import AlternateChecksumData as TCP_AlternateChecksumData
|
11
|
+
from pcapkit.protocols.data.transport.tcp import \
|
12
|
+
AlternateChecksumRequest as TCP_AlternateChecksumRequest
|
13
|
+
from pcapkit.protocols.data.transport.tcp import Authentication as TCP_Authentication
|
14
|
+
from pcapkit.protocols.data.transport.tcp import CCEcho as TCP_CCEcho
|
15
|
+
from pcapkit.protocols.data.transport.tcp import CCNew as TCP_CCNew
|
16
|
+
from pcapkit.protocols.data.transport.tcp import Echo as TCP_Echo
|
17
|
+
from pcapkit.protocols.data.transport.tcp import EchoReply as TCP_EchoReply
|
18
|
+
from pcapkit.protocols.data.transport.tcp import EndOfOptionList as TCP_EndOfOptionList
|
19
|
+
from pcapkit.protocols.data.transport.tcp import FastOpenCookie as TCP_FastOpenCookie
|
20
|
+
from pcapkit.protocols.data.transport.tcp import Flags as TCP_Flags
|
21
|
+
from pcapkit.protocols.data.transport.tcp import MaximumSegmentSize as TCP_MaximumSegmentSize
|
22
|
+
from pcapkit.protocols.data.transport.tcp import MD5Signature as TCP_MD5Signature
|
23
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPAddAddress as TCP_MPTCPAddAddress
|
24
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPCapable as TCP_MPTCPCapable
|
25
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPCapableFlag as TCP_MPTCPCapableFlag
|
26
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPFallback as TCP_MPTCPFallback
|
27
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPFastclose as TCP_MPTCPFastclose
|
28
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPJoin as TCP_MPTCPJoin
|
29
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPJoinACK as TCP_MPTCPJoinACK
|
30
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPJoinSYN as TCP_MPTCPJoinSYN
|
31
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPJoinSYNACK as TCP_MPTCPJoinSYNACK
|
32
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPPriority as TCP_MPTCPPriority
|
33
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPRemoveAddress as TCP_MPTCPRemoveAddress
|
34
|
+
from pcapkit.protocols.data.transport.tcp import MPTCPUnknown as TCP_MPTCPUnknown
|
35
|
+
from pcapkit.protocols.data.transport.tcp import NoOperation as TCP_NoOperation
|
36
|
+
from pcapkit.protocols.data.transport.tcp import Option as TCP_Option
|
37
|
+
from pcapkit.protocols.data.transport.tcp import \
|
38
|
+
PartialOrderConnectionPermitted as TCP_PartialOrderConnectionPermitted
|
39
|
+
from pcapkit.protocols.data.transport.tcp import \
|
40
|
+
PartialOrderServiceProfile as TCP_PartialOrderServiceProfile
|
41
|
+
from pcapkit.protocols.data.transport.tcp import QuickStartResponse as TCP_QuickStartResponse
|
42
|
+
from pcapkit.protocols.data.transport.tcp import SACKBlock as TCP_SACKBlock
|
43
|
+
from pcapkit.protocols.data.transport.tcp import SACKPermitted as TCP_SACKPermitted
|
44
|
+
from pcapkit.protocols.data.transport.tcp import Timestamps as TCP_Timestamps
|
45
|
+
from pcapkit.protocols.data.transport.tcp import UnassignedOption as TCP_UnassignedOption
|
46
|
+
from pcapkit.protocols.data.transport.tcp import UserTimeout as TCP_UserTimeout
|
47
|
+
from pcapkit.protocols.data.transport.tcp import WindowScale as TCP_WindowScale
|
48
|
+
|
49
|
+
# User Datagram Protocol
|
50
|
+
from pcapkit.protocols.data.transport.udp import UDP
|
51
|
+
|
52
|
+
__all__ = [
|
53
|
+
# Transmission Control Protocol
|
54
|
+
'TCP',
|
55
|
+
'TCP_Flags', 'TCP_SACKBlock',
|
56
|
+
'TCP_Option',
|
57
|
+
'TCP_UnassignedOption', 'TCP_EndOfOptionList', 'TCP_NoOperation', 'TCP_MaximumSegmentSize', 'TCP_WindowScale',
|
58
|
+
'TCP_SACKPermitted', 'TCP_SACK', 'TCP_Echo', 'TCP_EchoReply', 'TCP_Timestamps', 'TCP_PartialOrderConnectionPermitted', # pylint: disable=line-too-long
|
59
|
+
'TCP_PartialOrderServiceProfile', 'TCP_CC', 'TCP_CCNew', 'TCP_CCEcho', 'TCP_AlternateChecksumRequest',
|
60
|
+
'TCP_AlternateChecksumData', 'TCP_MD5Signature', 'TCP_QuickStartResponse', 'TCP_UserTimeout',
|
61
|
+
'TCP_Authentication', 'TCP_FastOpenCookie',
|
62
|
+
'TCP_MPTCPCapableFlag',
|
63
|
+
'TCP_MPTCP',
|
64
|
+
'TCP_MPTCPUnknown', 'TCP_MPTCPCapable', 'TCP_MPTCPDSS', 'TCP_MPTCPAddAddress', 'TCP_MPTCPRemoveAddress',
|
65
|
+
'TCP_MPTCPPriority', 'TCP_MPTCPFallback', 'TCP_MPTCPFastclose',
|
66
|
+
'TCP_MPTCPJoin',
|
67
|
+
'TCP_MPTCPJoinSYN', 'TCP_MPTCPJoinSYNACK', 'TCP_MPTCPJoinACK',
|
68
|
+
|
69
|
+
# User Datagram Protocol
|
70
|
+
'UDP',
|
71
|
+
]
|
@@ -0,0 +1,555 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""data model for TCP protocol"""
|
3
|
+
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
from pcapkit.corekit.infoclass import info_final
|
7
|
+
from pcapkit.protocols.data.data import Data
|
8
|
+
from pcapkit.protocols.data.protocol import Protocol
|
9
|
+
|
10
|
+
if TYPE_CHECKING:
|
11
|
+
from datetime import timedelta
|
12
|
+
from ipaddress import IPv4Address, IPv6Address
|
13
|
+
from typing import Optional, Union
|
14
|
+
|
15
|
+
from pcapkit.const.reg.apptype import AppType
|
16
|
+
from pcapkit.const.tcp.checksum import Checksum
|
17
|
+
from pcapkit.const.tcp.flags import Flags as TCP_Flags
|
18
|
+
from pcapkit.const.tcp.mp_tcp_option import MPTCPOption
|
19
|
+
from pcapkit.const.tcp.option import Option as OptionNumber
|
20
|
+
from pcapkit.corekit.multidict import OrderedMultiDict
|
21
|
+
|
22
|
+
IPAddress = Union[IPv4Address, IPv6Address]
|
23
|
+
|
24
|
+
__all__ = [
|
25
|
+
'TCP',
|
26
|
+
|
27
|
+
'Flags', 'SACKBlock',
|
28
|
+
|
29
|
+
'Option',
|
30
|
+
'UnassignedOption', 'EndOfOptionList', 'NoOperation', 'MaximumSegmentSize', 'WindowScale',
|
31
|
+
'SACKPermitted', 'SACK', 'Echo', 'EchoReply', 'Timestamps', 'PartialOrderConnectionPermitted',
|
32
|
+
'PartialOrderServiceProfile', 'CC', 'CCNew', 'CCEcho', 'AlternateChecksumRequest',
|
33
|
+
'AlternateChecksumData', 'MD5Signature', 'QuickStartResponse', 'UserTimeout',
|
34
|
+
'Authentication', 'FastOpenCookie',
|
35
|
+
|
36
|
+
'MPTCPCapableFlag',
|
37
|
+
|
38
|
+
'MPTCP',
|
39
|
+
'MPTCPUnknown', 'MPTCPCapable', 'MPTCPDSS', 'MPTCPAddAddress', 'MPTCPRemoveAddress',
|
40
|
+
'MPTCPPriority', 'MPTCPFallback', 'MPTCPFastclose',
|
41
|
+
|
42
|
+
'MPTCPJoin',
|
43
|
+
'MPTCPJoinSYN', 'MPTCPJoinSYNACK', 'MPTCPJoinACK',
|
44
|
+
]
|
45
|
+
|
46
|
+
|
47
|
+
@info_final
|
48
|
+
class Flags(Data):
|
49
|
+
"""Data model for TCP flags."""
|
50
|
+
|
51
|
+
#: ECN-nonce concealment protection.
|
52
|
+
#ns: 'bool'
|
53
|
+
#: Congestion window reduced.
|
54
|
+
cwr: 'bool'
|
55
|
+
#: ECN-Echo.
|
56
|
+
ece: 'bool'
|
57
|
+
#: Urgent.
|
58
|
+
urg: 'bool'
|
59
|
+
#: Acknowledgment.
|
60
|
+
ack: 'bool'
|
61
|
+
#: Push function.
|
62
|
+
psh: 'bool'
|
63
|
+
#: Reset connection.
|
64
|
+
rst: 'bool'
|
65
|
+
#: Synchronize sequence numbers.
|
66
|
+
syn: 'bool'
|
67
|
+
#: Last packet from sender.
|
68
|
+
fin: 'bool'
|
69
|
+
|
70
|
+
if TYPE_CHECKING:
|
71
|
+
def __init__(self, cwr: 'bool', ece: 'bool', urg: 'bool', ack: 'bool',
|
72
|
+
psh: 'bool', rst: 'bool', syn: 'bool', fin: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
73
|
+
|
74
|
+
|
75
|
+
@info_final
|
76
|
+
class TCP(Protocol):
|
77
|
+
"""Data model for TCP packet."""
|
78
|
+
|
79
|
+
#: Source port.
|
80
|
+
srcport: 'AppType'
|
81
|
+
#: Destination port.
|
82
|
+
dstport: 'AppType'
|
83
|
+
#: Sequence number.
|
84
|
+
seq: 'int'
|
85
|
+
#: Acknowledgment number.
|
86
|
+
ack: 'int'
|
87
|
+
#: Data offset.
|
88
|
+
hdr_len: 'int'
|
89
|
+
#: Flags.
|
90
|
+
flags: 'Flags'
|
91
|
+
#: Window size.
|
92
|
+
window_size: 'int'
|
93
|
+
#: Checksum.
|
94
|
+
checksum: 'bytes'
|
95
|
+
#: Urgent pointer.
|
96
|
+
urgent_pointer: 'int'
|
97
|
+
|
98
|
+
if TYPE_CHECKING:
|
99
|
+
#: TCP options.
|
100
|
+
options: 'OrderedMultiDict[OptionNumber, Option]'
|
101
|
+
#: Connection control flags.
|
102
|
+
connection: 'TCP_Flags'
|
103
|
+
|
104
|
+
def __init__(self, srcport: 'AppType', dstport: 'AppType', seq: 'int', ack: 'int', hdr_len: 'int',
|
105
|
+
flags: 'Flags', window_size: 'int', checksum: 'bytes', urgent_pointer: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
106
|
+
|
107
|
+
|
108
|
+
class Option(Data):
|
109
|
+
"""Data model for TCP options."""
|
110
|
+
|
111
|
+
#: Option kind.
|
112
|
+
kind: 'OptionNumber'
|
113
|
+
#: Option length.
|
114
|
+
length: 'int'
|
115
|
+
|
116
|
+
|
117
|
+
@info_final
|
118
|
+
class UnassignedOption(Option):
|
119
|
+
"""Data model for unassigned TCP option."""
|
120
|
+
|
121
|
+
#: Option data.
|
122
|
+
data: 'bytes'
|
123
|
+
|
124
|
+
if TYPE_CHECKING:
|
125
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
126
|
+
|
127
|
+
|
128
|
+
@info_final
|
129
|
+
class EndOfOptionList(Option):
|
130
|
+
"""Data model for TCP end of option list option."""
|
131
|
+
|
132
|
+
if TYPE_CHECKING:
|
133
|
+
def __init__(self, kind: 'OptionNumber', length: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
134
|
+
|
135
|
+
|
136
|
+
@info_final
|
137
|
+
class NoOperation(Option):
|
138
|
+
"""Data model for TCP no operation option."""
|
139
|
+
|
140
|
+
if TYPE_CHECKING:
|
141
|
+
def __init__(self, kind: 'OptionNumber', length: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
142
|
+
|
143
|
+
|
144
|
+
@info_final
|
145
|
+
class MaximumSegmentSize(Option):
|
146
|
+
"""Data model for TCP maximum segment size option."""
|
147
|
+
|
148
|
+
#: Maximum segment size.
|
149
|
+
mss: 'int'
|
150
|
+
|
151
|
+
if TYPE_CHECKING:
|
152
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', mss: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
153
|
+
|
154
|
+
|
155
|
+
@info_final
|
156
|
+
class WindowScale(Option):
|
157
|
+
"""Data model for TCP window scale option."""
|
158
|
+
|
159
|
+
#: Window scale.
|
160
|
+
shift: 'int'
|
161
|
+
|
162
|
+
if TYPE_CHECKING:
|
163
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', shift: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
164
|
+
|
165
|
+
|
166
|
+
@info_final
|
167
|
+
class SACKPermitted(Option):
|
168
|
+
"""Data model for TCP SACK permitted option."""
|
169
|
+
|
170
|
+
if TYPE_CHECKING:
|
171
|
+
def __init__(self, kind: 'OptionNumber', length: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
172
|
+
|
173
|
+
|
174
|
+
@info_final
|
175
|
+
class SACKBlock(Data):
|
176
|
+
"""Data model for TCP SACK block."""
|
177
|
+
|
178
|
+
#: Left edge.
|
179
|
+
left: 'int'
|
180
|
+
#: Right edge.
|
181
|
+
right: 'int'
|
182
|
+
|
183
|
+
if TYPE_CHECKING:
|
184
|
+
def __init__(self, left: 'int', right: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
185
|
+
|
186
|
+
|
187
|
+
@info_final
|
188
|
+
class SACK(Option):
|
189
|
+
"""Data model for TCP SACK option."""
|
190
|
+
|
191
|
+
#: SACK blocks.
|
192
|
+
sack: 'tuple[SACKBlock, ...]'
|
193
|
+
|
194
|
+
if TYPE_CHECKING:
|
195
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', sack: 'tuple[SACKBlock, ...]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
196
|
+
|
197
|
+
|
198
|
+
@info_final
|
199
|
+
class Echo(Option):
|
200
|
+
"""Data model for TCP echo option."""
|
201
|
+
|
202
|
+
#: Echo data.
|
203
|
+
data: 'bytes'
|
204
|
+
|
205
|
+
if TYPE_CHECKING:
|
206
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
207
|
+
|
208
|
+
|
209
|
+
@info_final
|
210
|
+
class EchoReply(Option):
|
211
|
+
"""Data model for TCP echo reply option."""
|
212
|
+
|
213
|
+
#: Echo data.
|
214
|
+
data: 'bytes'
|
215
|
+
|
216
|
+
if TYPE_CHECKING:
|
217
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
218
|
+
|
219
|
+
|
220
|
+
@info_final
|
221
|
+
class Timestamps(Option):
|
222
|
+
"""Data model for TCP timestamp option."""
|
223
|
+
|
224
|
+
#: Timestamp .
|
225
|
+
timestamp: 'int'
|
226
|
+
#: Echo data.
|
227
|
+
echo: 'int'
|
228
|
+
|
229
|
+
if TYPE_CHECKING:
|
230
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', timestamp: 'int', echo: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
231
|
+
|
232
|
+
|
233
|
+
@info_final
|
234
|
+
class PartialOrderConnectionPermitted(Option):
|
235
|
+
"""Data model for TCP partial order connection permitted option."""
|
236
|
+
|
237
|
+
if TYPE_CHECKING:
|
238
|
+
def __init__(self, kind: 'OptionNumber', length: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
239
|
+
|
240
|
+
|
241
|
+
@info_final
|
242
|
+
class PartialOrderServiceProfile(Option):
|
243
|
+
"""Data model for TCP partial order connection profile option."""
|
244
|
+
|
245
|
+
#: Start flag.
|
246
|
+
start: 'bool'
|
247
|
+
#: End flag.
|
248
|
+
end: 'bool'
|
249
|
+
|
250
|
+
if TYPE_CHECKING:
|
251
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', start: 'bool', end: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
252
|
+
|
253
|
+
|
254
|
+
@info_final
|
255
|
+
class CC(Option):
|
256
|
+
"""Data model for TCP CC option."""
|
257
|
+
|
258
|
+
#: Connection count.
|
259
|
+
cc: 'int'
|
260
|
+
|
261
|
+
if TYPE_CHECKING:
|
262
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', cc: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
263
|
+
|
264
|
+
|
265
|
+
@info_final
|
266
|
+
class CCNew(Option):
|
267
|
+
"""Data model for TCP CC.NEW option."""
|
268
|
+
|
269
|
+
#: Connection count.
|
270
|
+
cc: 'int'
|
271
|
+
|
272
|
+
if TYPE_CHECKING:
|
273
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', cc: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
274
|
+
|
275
|
+
|
276
|
+
@info_final
|
277
|
+
class CCEcho(Option):
|
278
|
+
"""Data model for TCP CC.ECHO option."""
|
279
|
+
|
280
|
+
#: Connection count.
|
281
|
+
cc: 'int'
|
282
|
+
|
283
|
+
if TYPE_CHECKING:
|
284
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', cc: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
285
|
+
|
286
|
+
|
287
|
+
@info_final
|
288
|
+
class AlternateChecksumRequest(Option):
|
289
|
+
"""Data model for TCP alternate checksum request option."""
|
290
|
+
|
291
|
+
#: Checksum algorithm.
|
292
|
+
chksum: 'Checksum'
|
293
|
+
|
294
|
+
if TYPE_CHECKING:
|
295
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', chksum: 'Checksum') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
296
|
+
|
297
|
+
|
298
|
+
@info_final
|
299
|
+
class AlternateChecksumData(Option):
|
300
|
+
"""Data model for TCP alternate checksum data option."""
|
301
|
+
|
302
|
+
#: Checksum data.
|
303
|
+
data: 'bytes'
|
304
|
+
|
305
|
+
if TYPE_CHECKING:
|
306
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
307
|
+
|
308
|
+
|
309
|
+
@info_final
|
310
|
+
class MD5Signature(Option):
|
311
|
+
"""Data model for TCP MD5 signature option."""
|
312
|
+
|
313
|
+
#: MD5 signature.
|
314
|
+
digest: 'bytes'
|
315
|
+
|
316
|
+
if TYPE_CHECKING:
|
317
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', digest: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
318
|
+
|
319
|
+
|
320
|
+
@info_final
|
321
|
+
class QuickStartResponse(Option):
|
322
|
+
"""Data model for TCP quick start response option."""
|
323
|
+
|
324
|
+
#: Rate request.
|
325
|
+
req_rate: 'int'
|
326
|
+
#: TTL difference.
|
327
|
+
ttl_diff: 'int'
|
328
|
+
#: QS nonce.
|
329
|
+
nonce: 'int'
|
330
|
+
|
331
|
+
if TYPE_CHECKING:
|
332
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', req_rate: 'int', ttl_diff: 'int', nonce: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
333
|
+
|
334
|
+
|
335
|
+
@info_final
|
336
|
+
class UserTimeout(Option):
|
337
|
+
"""Data model for TCP user timeout option."""
|
338
|
+
|
339
|
+
#: User timeout.
|
340
|
+
timeout: 'timedelta'
|
341
|
+
|
342
|
+
if TYPE_CHECKING:
|
343
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', timeout: 'timedelta') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
344
|
+
|
345
|
+
|
346
|
+
@info_final
|
347
|
+
class Authentication(Option):
|
348
|
+
"""Data model for TCP authentication option."""
|
349
|
+
|
350
|
+
#: Key ID.
|
351
|
+
key_id: 'int'
|
352
|
+
#: Receive next key ID.
|
353
|
+
next_key_id: 'int'
|
354
|
+
#: MAC.
|
355
|
+
mac: 'bytes'
|
356
|
+
|
357
|
+
if TYPE_CHECKING:
|
358
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', key_id: 'int', next_key_id: 'int', mac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
359
|
+
|
360
|
+
|
361
|
+
@info_final
|
362
|
+
class FastOpenCookie(Option):
|
363
|
+
"""Data model for TCP fast open cookie option."""
|
364
|
+
|
365
|
+
#: Cookie.
|
366
|
+
cookie: 'bytes'
|
367
|
+
|
368
|
+
if TYPE_CHECKING:
|
369
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', cookie: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
370
|
+
|
371
|
+
|
372
|
+
class MPTCP(Option):
|
373
|
+
"""Data model for TCP MPTCP option."""
|
374
|
+
|
375
|
+
#: Subtype.
|
376
|
+
subtype: 'MPTCPOption'
|
377
|
+
|
378
|
+
|
379
|
+
@info_final
|
380
|
+
class MPTCPUnknown(MPTCP):
|
381
|
+
"""Data model for TCP unknown MPTCP option."""
|
382
|
+
|
383
|
+
#: Data.
|
384
|
+
data: 'bytes'
|
385
|
+
|
386
|
+
if TYPE_CHECKING:
|
387
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
388
|
+
|
389
|
+
|
390
|
+
@info_final
|
391
|
+
class MPTCPCapableFlag(Data):
|
392
|
+
"""Data model for TCP MPTCP capable option flags."""
|
393
|
+
|
394
|
+
#: Checksum require flag.
|
395
|
+
req: 'bool'
|
396
|
+
#: Extensibility flag.
|
397
|
+
ext: 'bool'
|
398
|
+
#: HMAC-SHA1 flag.
|
399
|
+
hsa: 'bool'
|
400
|
+
|
401
|
+
if TYPE_CHECKING:
|
402
|
+
def __init__(self, req: 'bool', ext: 'bool', hsa: 'bool') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
403
|
+
|
404
|
+
|
405
|
+
@info_final
|
406
|
+
class MPTCPCapable(MPTCP):
|
407
|
+
"""Data model for TCP ``MP_CAPABLE`` option."""
|
408
|
+
|
409
|
+
#: Version.
|
410
|
+
version: 'int'
|
411
|
+
#: Flags.
|
412
|
+
flags: 'MPTCPCapableFlag'
|
413
|
+
#: Option sender's key.
|
414
|
+
skey: 'int'
|
415
|
+
#: Option receiver's key.
|
416
|
+
rkey: 'Optional[int]'
|
417
|
+
|
418
|
+
if TYPE_CHECKING:
|
419
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', version: 'int', flags: 'MPTCPCapableFlag', skey: 'int', rkey: 'Optional[int]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
420
|
+
|
421
|
+
|
422
|
+
class MPTCPJoin(MPTCP):
|
423
|
+
"""Data model for TCP ``MP_JOIN`` option."""
|
424
|
+
|
425
|
+
#: Connection type.
|
426
|
+
connection: 'TCP_Flags'
|
427
|
+
|
428
|
+
|
429
|
+
@info_final
|
430
|
+
class MPTCPJoinSYN(MPTCPJoin):
|
431
|
+
"""Data model for TCP ``MP_JOIN-SYN`` option."""
|
432
|
+
|
433
|
+
#: Backup path flag.
|
434
|
+
backup: 'bool'
|
435
|
+
#: Address ID.
|
436
|
+
addr_id: 'int'
|
437
|
+
#: Receiver's token.
|
438
|
+
token: 'int'
|
439
|
+
#: Sendder's random number.
|
440
|
+
nonce: 'int'
|
441
|
+
|
442
|
+
if TYPE_CHECKING:
|
443
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', connection: 'TCP_Flags', backup: 'bool', addr_id: 'int', token: 'int', nonce: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
444
|
+
|
445
|
+
|
446
|
+
@info_final
|
447
|
+
class MPTCPJoinSYNACK(MPTCPJoin):
|
448
|
+
"""Data model for TCP ``MP_JOIN-SYNACK`` option."""
|
449
|
+
|
450
|
+
#: Backup path flag.
|
451
|
+
backup: 'bool'
|
452
|
+
#: Address ID.
|
453
|
+
addr_id: 'int'
|
454
|
+
#: Sender's truncated HMAC.
|
455
|
+
hmac: 'bytes'
|
456
|
+
#: Sendder's random number.
|
457
|
+
nonce: 'int'
|
458
|
+
|
459
|
+
if TYPE_CHECKING:
|
460
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', connection: 'TCP_Flags', backup: 'bool', addr_id: 'int', hmac: 'bytes', nonce: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
461
|
+
|
462
|
+
|
463
|
+
@info_final
|
464
|
+
class MPTCPJoinACK(MPTCPJoin):
|
465
|
+
"""Data model for TCP ``MP_JOIN-ACK`` option."""
|
466
|
+
|
467
|
+
#: HMAC value.
|
468
|
+
hmac: 'bytes'
|
469
|
+
|
470
|
+
if TYPE_CHECKING:
|
471
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', connection: 'TCP_Flags', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
472
|
+
|
473
|
+
|
474
|
+
@info_final
|
475
|
+
class MPTCPDSS(MPTCP):
|
476
|
+
"""Data model for TCP ``DSS`` option."""
|
477
|
+
|
478
|
+
#: ``DATA_FIN`` flag.
|
479
|
+
data_fin: 'bool'
|
480
|
+
#: Data ACK.
|
481
|
+
ack: 'Optional[int]'
|
482
|
+
#: Data sequence number.
|
483
|
+
dsn: 'Optional[int]'
|
484
|
+
#: Subflow sequence number.
|
485
|
+
ssn: 'Optional[int]'
|
486
|
+
#: Data-level length.
|
487
|
+
dl_len: 'Optional[int]'
|
488
|
+
#: Checksum.
|
489
|
+
checksum: 'Optional[bytes]'
|
490
|
+
|
491
|
+
if TYPE_CHECKING:
|
492
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', data_fin: 'bool', ack: 'Optional[int]', dsn: 'Optional[int]', ssn: 'Optional[int]', dl_len: 'Optional[int]', checksum: 'Optional[bytes]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
493
|
+
|
494
|
+
|
495
|
+
@info_final
|
496
|
+
class MPTCPAddAddress(MPTCP):
|
497
|
+
"""Data model for TCP ``ADD_ADDR`` option."""
|
498
|
+
|
499
|
+
#: IP version.
|
500
|
+
version: 'int'
|
501
|
+
#: Address ID.
|
502
|
+
addr_id: 'int'
|
503
|
+
#: Address.
|
504
|
+
addr: 'IPAddress'
|
505
|
+
#: Port number.
|
506
|
+
port: 'Optional[int]'
|
507
|
+
|
508
|
+
if TYPE_CHECKING:
|
509
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', version: 'int', addr_id: 'int', addr: 'IPAddress', port: 'Optional[int]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
510
|
+
|
511
|
+
|
512
|
+
@info_final
|
513
|
+
class MPTCPRemoveAddress(MPTCP):
|
514
|
+
"""Data model for TCP ``REMOVE_ADDR`` option."""
|
515
|
+
|
516
|
+
#: Address ID.
|
517
|
+
addr_id: 'tuple[int, ...]'
|
518
|
+
|
519
|
+
if TYPE_CHECKING:
|
520
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', addr_id: 'tuple[int, ...]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
521
|
+
|
522
|
+
|
523
|
+
@info_final
|
524
|
+
class MPTCPPriority(MPTCP):
|
525
|
+
"""Data model for TCP ``MP_PRIO`` option."""
|
526
|
+
|
527
|
+
#: Backup path flag.
|
528
|
+
backup: 'bool'
|
529
|
+
#: Address ID.
|
530
|
+
addr_id: 'Optional[int]'
|
531
|
+
|
532
|
+
if TYPE_CHECKING:
|
533
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', backup: 'bool', addr_id: 'Optional[int]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
534
|
+
|
535
|
+
|
536
|
+
@info_final
|
537
|
+
class MPTCPFallback(MPTCP):
|
538
|
+
"""Data model for TCP ``MP_FAIL`` option."""
|
539
|
+
|
540
|
+
#: Data sequence number.
|
541
|
+
dsn: 'int'
|
542
|
+
|
543
|
+
if TYPE_CHECKING:
|
544
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', dsn: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|
545
|
+
|
546
|
+
|
547
|
+
@info_final
|
548
|
+
class MPTCPFastclose(MPTCP):
|
549
|
+
"""Data model for TCP ``MP_FASTCLOSE`` option."""
|
550
|
+
|
551
|
+
#: Option receiver's key.
|
552
|
+
rkey: 'int'
|
553
|
+
|
554
|
+
if TYPE_CHECKING:
|
555
|
+
def __init__(self, kind: 'OptionNumber', length: 'int', subtype: 'MPTCPOption', rkey: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
|