scapy.layers.inet
IPv4 (Internet Protocol v4).
- class scapy.layers.inet.DestIPField(name, default)[source]
-
- bindings = {<class 'scapy.contrib.ospf.OSPF_Hdr'>: [('224.0.0.5', {})], <class 'scapy.layers.inet.UDP'>: [('224.0.0.251', {'dport': 5353}), ('224.0.0.2', {'dport': 1985})]}
- class scapy.layers.inet.ICMP(_pkt, /, *, type=8, code=0, chksum=None, id=0, seq=0, ts_ori=71063562, ts_rx=71063562, ts_tx=71063562, gw='0.0.0.0', ptr=0, reserved=0, length=0, addr_mask='0.0.0.0', nexthopmtu=0, unused=None, extpad=b'', ext=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.inet.ICMP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ICMP,ICMPerror).type>, <MultiEnumField (ICMP,ICMPerror).code>, <XShortField (ICMP,ICMPerror).chksum>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.MultipleTypeField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.layers.inet.ICMPEcho_am(self)[source]
Bases:
AnsweringMachineResponds to ICMP Echo-Requests (ping)
- function_name = 'icmpechod'
- class scapy.layers.inet.ICMPExtension_Header(_pkt, /, *, version=2, reserved=0, chksum=None)[source]
Bases:
PacketICMP Extension per RFC4884.
Example:
pkt = IP(dst="127.0.0.1", src="127.0.0.1") / ICMP( type="time-exceeded", code="ttl-zero-during-transit", ext=ICMPExtension_Header() / ICMPExtension_InterfaceInformation( has_ifindex=1, has_ipaddr=1, has_ifname=1, ip4="10.10.10.10", ifname="hey", ) ) / IPerror(src="12.4.4.4", dst="12.1.1.1") / \ UDPerror(sport=42315, dport=33440) / \ b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- aliastypes = [<class 'scapy.layers.inet.ICMPExtension_Header'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (ICMPExtension_Header).version>, <BitField (ICMPExtension_Header).reserved>, <XShortField (ICMPExtension_Header).chksum>]
- show_indent = 0
- class scapy.layers.inet.ICMPExtension_InterfaceInformation(_pkt, /, *, len=None, classnum=2, classtype=0, reserved=0, has_ifindex=0, has_ipaddr=0, has_ifname=0, has_mtu=0, ifindex=None, afi=None, reserved2=0, ip4=None, ip6=None, ifname_len=None, ifname=None, mtu=None)[source]
Bases:
ICMPExtension_Object- aliastypes = [<class 'scapy.layers.inet.ICMPExtension_InterfaceInformation'>, <class 'scapy.layers.inet.ICMPExtension_Object'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (ICMPExtension_InterfaceInformation).len>, <ByteEnumField (ICMPExtension_InterfaceInformation).classnum>, <BitField (ICMPExtension_InterfaceInformation).classtype>, <BitField (ICMPExtension_InterfaceInformation).reserved>, <BitField (ICMPExtension_InterfaceInformation).has_ifindex>, <BitField (ICMPExtension_InterfaceInformation).has_ipaddr>, <BitField (ICMPExtension_InterfaceInformation).has_ifname>, <BitField (ICMPExtension_InterfaceInformation).has_mtu>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.layers.inet.ICMPExtension_Object(_pkt, /, *, len=None, classnum=0, classtype=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.inet.ICMPExtension_Object'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (ICMPExtension_Object).len>, <ByteEnumField (ICMPExtension_Object).classnum>, <ByteField (ICMPExtension_Object).classtype>]
- registered_icmp_exts = {0: <class 'scapy.layers.inet.ICMPExtension_Object'>, 1: <class 'scapy.contrib.mpls.ICMPExtension_MPLS'>, 2: <class 'scapy.layers.inet.ICMPExtension_InterfaceInformation'>}
- show_indent = 0
- class scapy.layers.inet.ICMPTimeStampField(name: str, default: int | None)[source]
Bases:
IntField- re_hmsm = re.compile('([0-2]?[0-9])[Hh:](([0-5]?[0-9])([Mm:]([0-5]?[0-9])([sS:.]([0-9]{0,3}))?)?)?$')
- class scapy.layers.inet.ICMPerror(_pkt, /, *, type=8, code=0, chksum=None, id=0, seq=0, ts_ori=71063562, ts_rx=71063562, ts_tx=71063562, gw='0.0.0.0', ptr=0, reserved=0, length=0, addr_mask='0.0.0.0', nexthopmtu=0, unused=None, extpad=b'', ext=None)[source]
Bases:
ICMP- aliastypes = [<class 'scapy.layers.inet.ICMPerror'>, <class 'scapy.layers.inet.ICMP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ICMP,ICMPerror).type>, <MultiEnumField (ICMP,ICMPerror).code>, <XShortField (ICMP,ICMPerror).chksum>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.MultipleTypeField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.layers.inet.IP(_pkt, /, *, version=4, ihl=None, tos=0, len=None, id=1, flags=<Flag 0 ()>, frag=0, ttl=64, proto=0, chksum=None, src=None, dst=None, options=[])[source]
-
- aliastypes = [<class 'scapy.layers.inet.IP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (IP,IPerror,IPv46).version>, <BitField (IP,IPerror,IPv46).ihl>, <XByteField (IP,IPerror,IPv46).tos>, <ShortField (IP,IPerror,IPv46).len>, <ShortField (IP,IPerror,IPv46).id>, <FlagsField (IP,IPerror,IPv46).flags>, <BitField (IP,IPerror,IPv46).frag>, <ByteField (IP,IPerror,IPv46).ttl>, <ByteEnumField (IP,IPerror,IPv46).proto>, <XShortField (IP,IPerror,IPv46).chksum>, <scapy.fields.Emph object>, <scapy.fields.Emph object>, <PacketListField (IP,IPerror,IPv46).options>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'frag': 0, 'proto': 4}, <class 'scapy.layers.inet.IP'>), ({'frag': 0, 'proto': 1}, <class 'scapy.layers.inet.ICMP'>), ({'frag': 0, 'proto': 6}, <class 'scapy.layers.inet.TCP'>), ({'frag': 0, 'proto': 17}, <class 'scapy.layers.inet.UDP'>), ({'frag': 0, 'proto': 47}, <class 'scapy.layers.l2.GRE'>), ({'proto': 41}, <class 'scapy.layers.inet6.IPv6'>), ({'dst': '224.0.0.18', 'proto': 112}, <class 'scapy.contrib.carp.CARP'>), ({'proto': 132}, <class 'scapy.layers.sctp.SCTP'>), ({'proto': 88}, <class 'scapy.contrib.eigrp.EIGRP'>), ({'frag': 0, 'proto': 97}, <class 'scapy.contrib.etherip.EtherIP'>), ({'proto': 137}, <class 'scapy.contrib.mpls.MPLS'>), ({'frag': 0, 'proto': 2, 'ttl': 1}, <class 'scapy.contrib.igmp.IGMP'>), ({'dst': '224.0.0.22', 'frag': 0, 'proto': 2, 'tos': 192, 'ttl': 1}, <class 'scapy.contrib.igmpv3.IGMPv3'>), ({'proto': 51}, <class 'scapy.layers.ipsec.AH'>), ({'proto': 50}, <class 'scapy.layers.ipsec.ESP'>), ({'proto': 89}, <class 'scapy.contrib.ospf.OSPF_Hdr'>), ({'proto': 103}, <class 'scapy.contrib.pim.PIMv2Hdr'>), ({'proto': 46}, <class 'scapy.contrib.rsvp.RSVP'>)]
- scapy.layers.inet.IPID_count(lst, funcID=<function <lambda>>, funcpres=<function <lambda>>)[source]
Identify IP id values classes in a list of packets
lst: a list of packets funcID: a function that returns IP id values funcpres: a function used to summarize packets
- class scapy.layers.inet.IPOption(_pkt, /, *, copy_flag=0, optclass=0, option=0, length=None, value=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <FieldLenField (IPOption).length>, <StrLenField (IPOption).value>]
- registered_ip_options = {0: <class 'scapy.layers.inet.IPOption_EOL'>, 1: <class 'scapy.layers.inet.IPOption_NOP'>, 2: <class 'scapy.layers.inet.IPOption_Security'>, 3: <class 'scapy.layers.inet.IPOption_LSRR'>, 4: <class 'scapy.layers.inet.IPOption_Timestamp'>, 7: <class 'scapy.layers.inet.IPOption_RR'>, 8: <class 'scapy.layers.inet.IPOption_Stream_Id'>, 9: <class 'scapy.layers.inet.IPOption_SSRR'>, 11: <class 'scapy.layers.inet.IPOption_MTU_Probe'>, 12: <class 'scapy.layers.inet.IPOption_MTU_Reply'>, 18: <class 'scapy.layers.inet.IPOption_Traceroute'>, 19: <class 'scapy.layers.inet.IPOption_Address_Extension'>, 20: <class 'scapy.layers.inet.IPOption_Router_Alert'>, 21: <class 'scapy.layers.inet.IPOption_SDBM'>}
- class scapy.layers.inet.IPOption_Address_Extension(_pkt, /, *, copy_flag=1, optclass=0, option=19, length=10, src_ext='0.0.0.0', dst_ext='0.0.0.0')[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_Address_Extension'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_Address_Extension).length>, <IPField (IPOption_Address_Extension).src_ext>, <IPField (IPOption_Address_Extension).dst_ext>]
- class scapy.layers.inet.IPOption_EOL(_pkt, /, *, copy_flag=0, optclass=0, option=0)[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_EOL'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>]
- class scapy.layers.inet.IPOption_LSRR(_pkt, /, *, copy_flag=1, optclass=0, option=3, length=None, pointer=4, routers=[])[source]
Bases:
IPOption_RR- aliastypes = [<class 'scapy.layers.inet.IPOption_LSRR'>, <class 'scapy.layers.inet.IPOption_RR'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <FieldLenField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).length>, <ByteField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).pointer>, <FieldListField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).routers>]
- class scapy.layers.inet.IPOption_MTU_Probe(_pkt, /, *, copy_flag=0, optclass=0, option=11, length=4, mtu=0)[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_MTU_Probe'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_MTU_Probe,IPOption_MTU_Reply).length>, <ShortField (IPOption_MTU_Probe,IPOption_MTU_Reply).mtu>]
- class scapy.layers.inet.IPOption_MTU_Reply(_pkt, /, *, copy_flag=0, optclass=0, option=12, length=4, mtu=0)[source]
Bases:
IPOption_MTU_Probe- aliastypes = [<class 'scapy.layers.inet.IPOption_MTU_Reply'>, <class 'scapy.layers.inet.IPOption_MTU_Probe'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_MTU_Probe,IPOption_MTU_Reply).length>, <ShortField (IPOption_MTU_Probe,IPOption_MTU_Reply).mtu>]
- class scapy.layers.inet.IPOption_NOP(_pkt, /, *, copy_flag=0, optclass=0, option=1)[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_NOP'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>]
- class scapy.layers.inet.IPOption_RR(_pkt, /, *, copy_flag=0, optclass=0, option=7, length=None, pointer=4, routers=[])[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_RR'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <FieldLenField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).length>, <ByteField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).pointer>, <FieldListField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).routers>]
- class scapy.layers.inet.IPOption_Router_Alert(_pkt, /, *, copy_flag=1, optclass=0, option=20, length=4, alert=0)[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_Router_Alert'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_Router_Alert).length>, <ShortEnumField (IPOption_Router_Alert).alert>]
- class scapy.layers.inet.IPOption_SDBM(_pkt, /, *, copy_flag=1, optclass=0, option=21, length=None, addresses=[])[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_SDBM'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <FieldLenField (IPOption_SDBM).length>, <FieldListField (IPOption_SDBM).addresses>]
- class scapy.layers.inet.IPOption_SSRR(_pkt, /, *, copy_flag=1, optclass=0, option=9, length=None, pointer=4, routers=[])[source]
Bases:
IPOption_RR- aliastypes = [<class 'scapy.layers.inet.IPOption_SSRR'>, <class 'scapy.layers.inet.IPOption_RR'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <FieldLenField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).length>, <ByteField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).pointer>, <FieldListField (IPOption_RR,IPOption_LSRR,IPOption_SSRR).routers>]
- class scapy.layers.inet.IPOption_Security(_pkt, /, *, copy_flag=1, optclass=0, option=2, length=11, security=0, compartment=0, handling_restrictions=0, transmission_control_code=b'xxx')[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_Security'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_Security).length>, <ShortField (IPOption_Security).security>, <ShortField (IPOption_Security).compartment>, <ShortField (IPOption_Security).handling_restrictions>, <StrFixedLenField (IPOption_Security).transmission_control_code>]
- class scapy.layers.inet.IPOption_Stream_Id(_pkt, /, *, copy_flag=1, optclass=0, option=8, length=4, security=0)[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_Stream_Id'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_Stream_Id).length>, <ShortField (IPOption_Stream_Id).security>]
- class scapy.layers.inet.IPOption_Timestamp(_pkt, /, *, copy_flag=0, optclass=2, option=4, length=None, pointer=9, oflw=0, flg=1, internet_address='0.0.0.0', timestamp=0)[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_Timestamp'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_Timestamp).length>, <ByteField (IPOption_Timestamp).pointer>, <BitField (IPOption_Timestamp).oflw>, <BitEnumField (IPOption_Timestamp).flg>, <scapy.fields.ConditionalField object>, <IntField (IPOption_Timestamp).timestamp>]
- class scapy.layers.inet.IPOption_Traceroute(_pkt, /, *, copy_flag=0, optclass=0, option=18, length=12, id=0, outbound_hops=0, return_hops=0, originator_ip='0.0.0.0')[source]
Bases:
IPOption- aliastypes = [<class 'scapy.layers.inet.IPOption_Traceroute'>, <class 'scapy.layers.inet.IPOption'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).copy_flag>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).optclass>, <BitEnumField (_IPOption_HDR,IPOption,IPOption_EOL,IPOption_NOP,IPOption_Security,IPOption_RR,IPOption_LSRR,IPOption_SSRR,IPOption_Stream_Id,IPOption_MTU_Probe,IPOption_MTU_Reply,IPOption_Traceroute,IPOption_Timestamp,IPOption_Address_Extension,IPOption_Router_Alert,IPOption_SDBM).option>, <ByteField (IPOption_Traceroute).length>, <ShortField (IPOption_Traceroute).id>, <ShortField (IPOption_Traceroute).outbound_hops>, <ShortField (IPOption_Traceroute).return_hops>, <IPField (IPOption_Traceroute).originator_ip>]
- class scapy.layers.inet.IPTools[source]
Bases:
objectAdd more powers to a class with an “src” attribute.
- class scapy.layers.inet.IPerror(_pkt, /, *, version=4, ihl=None, tos=0, len=None, id=1, flags=<Flag 0 ()>, frag=0, ttl=64, proto=0, chksum=None, src=None, dst=None, options=[])[source]
Bases:
IP- aliastypes = [<class 'scapy.layers.inet.IPerror'>, <class 'scapy.layers.inet.IP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (IP,IPerror,IPv46).version>, <BitField (IP,IPerror,IPv46).ihl>, <XByteField (IP,IPerror,IPv46).tos>, <ShortField (IP,IPerror,IPv46).len>, <ShortField (IP,IPerror,IPv46).id>, <FlagsField (IP,IPerror,IPv46).flags>, <BitField (IP,IPerror,IPv46).frag>, <ByteField (IP,IPerror,IPv46).ttl>, <ByteEnumField (IP,IPerror,IPv46).proto>, <XShortField (IP,IPerror,IPv46).chksum>, <scapy.fields.Emph object>, <scapy.fields.Emph object>, <PacketListField (IP,IPerror,IPv46).options>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'frag': 0, 'proto': 4}, <class 'scapy.layers.inet.IPerror'>), ({'frag': 0, 'proto': 1}, <class 'scapy.layers.inet.ICMPerror'>), ({'frag': 0, 'proto': 6}, <class 'scapy.layers.inet.TCPerror'>), ({'frag': 0, 'proto': 17}, <class 'scapy.layers.inet.UDPerror'>), ({'proto': 132}, <class 'scapy.layers.sctp.SCTPerror'>)]
- class scapy.layers.inet.RandTCPOptions(size=None)[source]
Bases:
VolatileValue
- class scapy.layers.inet.TCP(_pkt, /, *, sport=20, dport=80, seq=0, ack=0, dataofs=None, reserved=0, flags=<Flag 2 (S)>, window=8192, chksum=None, urgptr=0, options=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.inet.TCP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (TCP,TCPerror,XCPOnTCP).sport>, <ShortEnumField (TCP,TCPerror,XCPOnTCP).dport>, <IntField (TCP,TCPerror,XCPOnTCP).seq>, <IntField (TCP,TCPerror,XCPOnTCP).ack>, <BitField (TCP,TCPerror,XCPOnTCP).dataofs>, <BitField (TCP,TCPerror,XCPOnTCP).reserved>, <FlagsField (TCP,TCPerror,XCPOnTCP).flags>, <ShortField (TCP,TCPerror,XCPOnTCP).window>, <XShortField (TCP,TCPerror,XCPOnTCP).chksum>, <ShortField (TCP,TCPerror,XCPOnTCP).urgptr>, <TCPOptionsField (TCP,TCPerror,XCPOnTCP).options>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'sport': 6801}, <class 'scapy.contrib.automotive.bmw.hsfz.HSFZ'>), ({'dport': 6801}, <class 'scapy.contrib.automotive.bmw.hsfz.HSFZ'>), ({'dport': 6801, 'sport': 6801}, <class 'scapy.contrib.automotive.bmw.hsfz.HSFZ'>), ({'sport': 13400}, <class 'scapy.contrib.automotive.doip.DoIP'>), ({'dport': 13400}, <class 'scapy.contrib.automotive.doip.DoIP'>), ({'sport': 30490}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30490}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30491}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30491}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30492}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30492}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30493}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30493}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30494}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30494}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30495}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30495}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30496}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30496}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30497}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30497}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30498}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30498}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30499}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30499}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30500}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30500}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30501}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30501}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30502}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30502}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30503}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30503}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30504}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30504}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 179}, <class 'scapy.contrib.bgp.BGP'>), ({'sport': 179}, <class 'scapy.contrib.bgp.BGP'>), ({'dport': 8821, 'sport': 8821}, <class 'scapy.contrib.concox.CRX1New'>), ({'dport': 3868}, <class 'scapy.contrib.diameter.DiamG'>), ({'sport': 3868}, <class 'scapy.contrib.diameter.DiamG'>), ({'dport': 104}, <class 'scapy.contrib.dicom.DICOM'>), ({'sport': 104}, <class 'scapy.contrib.dicom.DICOM'>), ({'dport': 11112}, <class 'scapy.contrib.dicom.DICOM'>), ({'sport': 11112}, <class 'scapy.contrib.dicom.DICOM'>), ({'dport': 44818}, <class 'scapy.contrib.enipTCP.ENIPTCP'>), ({'sport': 44818}, <class 'scapy.contrib.enipTCP.ENIPTCP'>), ({'dport': 53}, <class 'scapy.layers.dns.DNS'>), ({'sport': 53}, <class 'scapy.layers.dns.DNS'>), ({'sport': 646}, <class 'scapy.contrib.ldp.LDP'>), ({'dport': 646}, <class 'scapy.contrib.ldp.LDP'>), ({'dport': 646, 'sport': 646}, <class 'scapy.contrib.ldp.LDP'>), ({'dport': 502}, <class 'scapy.contrib.modbus.ModbusADURequest'>), ({'sport': 502}, <class 'scapy.contrib.modbus.ModbusADUResponse'>), ({'sport': 1883}, <class 'scapy.contrib.mqtt.MQTT'>), ({'dport': 1883}, <class 'scapy.contrib.mqtt.MQTT'>), ({'dport': 3306}, <class 'scapy.contrib.mysql.MySQLClient'>), ({'sport': 3306}, <class 'scapy.contrib.mysql.MySQLServer'>), ({'dport': 445}, <class 'scapy.layers.netbios.NBTSession'>), ({'sport': 445}, <class 'scapy.layers.netbios.NBTSession'>), ({'dport': 139}, <class 'scapy.layers.netbios.NBTSession'>), ({'sport': 139}, <class 'scapy.layers.netbios.NBTSession'>), ({'dport': 139, 'sport': 139}, <class 'scapy.layers.netbios.NBTSession'>), ({'sport': 88}, <class 'scapy.layers.kerberos.KerberosTCPHeader'>), ({'dport': 88}, <class 'scapy.layers.kerberos.KerberosTCPHeader'>), ({'sport': 464}, <class 'scapy.layers.kerberos.KpasswdTCPHeader'>), ({'dport': 464}, <class 'scapy.layers.kerberos.KpasswdTCPHeader'>), ({'sport': 135}, <class 'scapy.layers.dcerpc.DceRpc'>), ({'dport': 135}, <class 'scapy.layers.dcerpc.DceRpc'>), ({'dport': 389}, <class 'scapy.layers.ldap.LDAP'>), ({'sport': 389}, <class 'scapy.layers.ldap.LDAP'>), ({'dport': 3268}, <class 'scapy.layers.ldap.LDAP'>), ({'sport': 3268}, <class 'scapy.layers.ldap.LDAP'>), ({'dport': 389, 'sport': 389}, <class 'scapy.layers.ldap.LDAP'>), ({'sport': 1723}, <class 'scapy.layers.pptp.PPTP'>), ({'dport': 1723}, <class 'scapy.layers.pptp.PPTP'>), ({'dport': 2000}, <class 'scapy.layers.skinny.Skinny'>), ({'sport': 2000}, <class 'scapy.layers.skinny.Skinny'>), ({'dport': 2000, 'sport': 2000}, <class 'scapy.layers.skinny.Skinny'>), ({'dport': 6653}, <class 'scapy.contrib.openflow.OpenFlow'>), ({'sport': 6653}, <class 'scapy.contrib.openflow.OpenFlow'>), ({'dport': 6633}, <class 'scapy.contrib.openflow.OpenFlow'>), ({'sport': 6633}, <class 'scapy.contrib.openflow.OpenFlow'>), ({'dport': 5432}, <class 'scapy.contrib.postgres.PostgresFrontend'>), ({'sport': 5432}, <class 'scapy.contrib.postgres.PostgresBackend'>), ({'dport': 323}, <class 'scapy.contrib.rtr.RTR'>), ({'sport': 323}, <class 'scapy.contrib.rtr.RTR'>), ({'dport': 8282}, <class 'scapy.contrib.rtr.RTR'>), ({'sport': 8282}, <class 'scapy.contrib.rtr.RTR'>), ({'dport': 2222}, <class 'scapy.contrib.rtr.RTR'>), ({'sport': 2222}, <class 'scapy.contrib.rtr.RTR'>), ({'sport': 80}, <class 'scapy.layers.http.HTTP'>), ({'dport': 80}, <class 'scapy.layers.http.HTTP'>), ({'dport': 80, 'sport': 80}, <class 'scapy.layers.http.HTTP'>), ({'sport': 8080}, <class 'scapy.layers.http.HTTP'>), ({'dport': 8080}, <class 'scapy.layers.http.HTTP'>), ({'sport': 554}, <class 'scapy.contrib.rtsp.RTSP'>), ({'dport': 554}, <class 'scapy.contrib.rtsp.RTSP'>), ({'dport': 554, 'sport': 554}, <class 'scapy.contrib.rtsp.RTSP'>), ({'dport': 2000}, <class 'scapy.contrib.skinny.Skinny'>), ({'sport': 2000}, <class 'scapy.contrib.skinny.Skinny'>), ({'sport': 1080}, <class 'scapy.contrib.socks.SOCKS'>), ({'dport': 1080}, <class 'scapy.contrib.socks.SOCKS'>), ({'sport': 3478}, <class 'scapy.contrib.stun.STUN'>), ({'dport': 3478}, <class 'scapy.contrib.stun.STUN'>), ({'dport': 49}, <class 'scapy.contrib.tacacs.TacacsHeader'>), ({'sport': 49}, <class 'scapy.contrib.tacacs.TacacsHeader'>), ({'sport': 443}, <class 'scapy.layers.tls.record.TLS'>), ({'dport': 443}, <class 'scapy.layers.tls.record.TLS'>)]
- class scapy.layers.inet.TCPAOValue(_pkt, /, *, keyid=None, rnextkeyid=None, mac=b'')[source]
Bases:
PacketValue of TCP-AO option
- aliastypes = [<class 'scapy.layers.inet.TCPAOValue'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.inet.TCPOptionsField(name: str, default: I | None, fmt: str = 'H', remain: int = 0)[source]
Bases:
StrField- islist = 1
- class scapy.layers.inet.TCP_client(self, ip, port, srcip=None, sport=None, seq=None, ack=0, **kargs)[source]
Bases:
AutomatonCreates a TCP Client Automaton. This automaton will handle TCP 3-way handshake.
- Usage: the easiest usage is to use it as a SuperSocket.
>>> a = TCP_client.tcplink(HTTP, "www.google.com", 80) >>> a.send(HTTPRequest()) >>> a.recv()
- Parameters:
ip – the ip to connect to
port
src – (optional) use another source IP
sport – (optional) the TCP source port (default: random)
seq – (optional) initial TCP sequence number (default: random)
- CLOSED(*args: ATMT, **kargs: Any) NewStateRequested[source]
- ESTABLISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
- LAST_ACK(*args: ATMT, **kargs: Any) NewStateRequested[source]
- START(*args: ATMT, **kargs: Any) NewStateRequested[source]
- STOP(*args: ATMT, **kargs: Any) NewStateRequested[source]
- STOP_SENT_FIN_ACK(*args: ATMT, **kargs: Any) NewStateRequested[source]
- SYN_SENT(*args: ATMT, **kargs: Any) NewStateRequested[source]
- actions: Dict[str, List[_StateWrapper]] = {'ack_of_fin_received': [], 'connect': [<function TCP_client.send_syn>], 'fin_received': [<function TCP_client.send_finack>], 'incoming_data_received': [<function TCP_client.receive_data>], 'outgoing_data_received': [<function TCP_client.send_data>], 'reset_received': [], 'stop_ack_timeout': [], 'stop_fin_received': [<function TCP_client.stop_send_ack>], 'stop_requested': [<function TCP_client.stop_send_finack>], 'syn_ack_timeout': [], 'synack_received': [<function TCP_client.send_ack_of_synack>]}
- conditions: Dict[str, List[_StateWrapper]] = {'CLOSED': [], 'ESTABLISHED': [], 'LAST_ACK': [], 'START': [<function TCP_client.connect>], 'STOP': [<function TCP_client.stop_requested>], 'STOP_SENT_FIN_ACK': [], 'SYN_SENT': []}
- eofs: Dict[str, _StateWrapper] = {}
- initial_states: List[_StateWrapper] = [<function ATMT.state.<locals>.deco.<locals>._state_wrapper>]
- ioevents: Dict[str, List[_StateWrapper]] = {'CLOSED': [], 'ESTABLISHED': [<function TCP_client.outgoing_data_received>], 'LAST_ACK': [], 'START': [], 'STOP': [], 'STOP_SENT_FIN_ACK': [], 'SYN_SENT': []}
- ionames: List[str] = ['tcp']
- iosupersockets: List[SuperSocket] = [<function TCP_client.outgoing_data_received>]
- recv_conditions: Dict[str, List[_StateWrapper]] = {'CLOSED': [], 'ESTABLISHED': [<function TCP_client.incoming_data_received>, <function TCP_client.reset_received>, <function TCP_client.fin_received>], 'LAST_ACK': [<function TCP_client.ack_of_fin_received>], 'START': [], 'STOP': [], 'STOP_SENT_FIN_ACK': [<function TCP_client.stop_fin_received>], 'SYN_SENT': [<function TCP_client.synack_received>]}
- states: Dict[str, _StateWrapper] = {'CLOSED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ESTABLISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'LAST_ACK': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'START': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'STOP': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'STOP_SENT_FIN_ACK': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SYN_SENT': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>}
- stop_state(*args: ATMT, **kargs: Any) NewStateRequested[source]
- tcplink = <scapy.automaton._ATMT_to_supersocket object>
- timeout: Dict[str, _TimerList] = {'CLOSED': [], 'ESTABLISHED': [], 'LAST_ACK': [], 'START': [], 'STOP': [], 'STOP_SENT_FIN_ACK': [<Timer 0.000000(1.000000)>], 'SYN_SENT': [<Timer 0.000000(1.000000)>]}
- class scapy.layers.inet.TCPerror(_pkt, /, *, sport=20, dport=80, seq=0, ack=0, dataofs=None, reserved=0, flags=<Flag 2 (S)>, window=8192, chksum=None, urgptr=0, options=b'')[source]
Bases:
TCP- aliastypes = [<class 'scapy.layers.inet.TCPerror'>, <class 'scapy.layers.inet.TCP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (TCP,TCPerror,XCPOnTCP).sport>, <ShortEnumField (TCP,TCPerror,XCPOnTCP).dport>, <scapy.fields.MayEnd object>, <IntField (TCP,TCPerror,XCPOnTCP).ack>, <BitField (TCP,TCPerror,XCPOnTCP).dataofs>, <BitField (TCP,TCPerror,XCPOnTCP).reserved>, <FlagsField (TCP,TCPerror,XCPOnTCP).flags>, <ShortField (TCP,TCPerror,XCPOnTCP).window>, <XShortField (TCP,TCPerror,XCPOnTCP).chksum>, <ShortField (TCP,TCPerror,XCPOnTCP).urgptr>, <TCPOptionsField (TCP,TCPerror,XCPOnTCP).options>]
- class scapy.layers.inet.TracerouteResult(res=None, name='Traceroute', stats=None)[source]
Bases:
SndRcvList- graph(ASres=<scapy.as_resolvers.AS_resolver_multi object>, padding=0, **kargs)[source]
x.graph(ASres=conf.AS_resolver, other args): ASres=None : no AS resolver => no clustering ASres=AS_resolver() : default whois AS resolver (riswhois.ripe.net) ASres=AS_resolver_cymru(): use whois.cymru.com whois database ASres=AS_resolver(server=”whois.ra.net”) type: output type (svg, ps, gif, jpg, etc.), passed to dot’s “-T” option # noqa: E501 target: filename or redirect. Defaults pipe to Imagemagick’s display program # noqa: E501 prog: which graphviz program to use
- graphASres
- graphdef
- graphpadding
- hloc
- nloc
- padding
- class scapy.layers.inet.UDP(_pkt, /, *, sport=53, dport=53, len=None, chksum=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.inet.UDP'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (UDP,UDPerror,XCPOnUDP).sport>, <ShortEnumField (UDP,UDPerror,XCPOnUDP).dport>, <ShortField (UDP,UDPerror,XCPOnUDP).len>, <XShortField (UDP,UDPerror,XCPOnUDP).chksum>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'dport': 4754}, <class 'scapy.layers.l2.GRE'>), ({'dport': 60000}, <class 'scapy.contrib.automotive.autosar.pdu.PDUTransport'>), ({'sport': 6811}, <class 'scapy.contrib.automotive.bmw.hsfz.HSFZ'>), ({'dport': 6811}, <class 'scapy.contrib.automotive.bmw.hsfz.HSFZ'>), ({'dport': 6811, 'sport': 6811}, <class 'scapy.contrib.automotive.bmw.hsfz.HSFZ'>), ({'sport': 13400}, <class 'scapy.contrib.automotive.doip.DoIP'>), ({'dport': 13400}, <class 'scapy.contrib.automotive.doip.DoIP'>), ({'dport': 13400, 'sport': 13400}, <class 'scapy.contrib.automotive.doip.DoIP'>), ({'sport': 30490}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30490}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30491}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30491}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30492}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30492}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30493}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30493}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30494}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30494}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30495}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30495}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30496}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30496}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30497}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30497}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30498}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30498}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30499}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30499}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30500}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30500}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30501}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30501}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30502}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30502}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30503}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30503}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'sport': 30504}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 30504}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'dport': 3784}, <class 'scapy.contrib.bfd.BFD'>), ({'sport': 3784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 3784, 'sport': 3784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 4784}, <class 'scapy.contrib.bfd.BFD'>), ({'sport': 4784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 4784, 'sport': 4784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 6784}, <class 'scapy.contrib.bfd.BFD'>), ({'sport': 6784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 6784, 'sport': 6784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 7784}, <class 'scapy.contrib.bfd.BFD'>), ({'sport': 7784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 7784, 'sport': 7784}, <class 'scapy.contrib.bfd.BFD'>), ({'dport': 8138}, <class 'scapy.contrib.bier.BIFT'>), ({'dport': 1113, 'sport': 1113}, <class 'scapy.contrib.ltp.LTP'>), ({'sport': 5683}, <class 'scapy.contrib.coap.CoAP'>), ({'dport': 5683}, <class 'scapy.contrib.coap.CoAP'>), ({'dport': 8821, 'sport': 8821}, <class 'scapy.contrib.concox.CRX1New'>), ({'dport': 6081}, <class 'scapy.contrib.geneve.GENEVE'>), ({'dport': 5353}, <class 'scapy.layers.dns.DNS'>), ({'sport': 5353}, <class 'scapy.layers.dns.DNS'>), ({'dport': 53}, <class 'scapy.layers.dns.DNS'>), ({'sport': 53}, <class 'scapy.layers.dns.DNS'>), ({'dport': 2123}, <class 'scapy.contrib.gtp.GTPHeader'>), ({'sport': 2123}, <class 'scapy.contrib.gtp.GTPHeader'>), ({'dport': 2123, 'sport': 2123}, <class 'scapy.contrib.gtp.GTPHeader'>), ({'dport': 2152}, <class 'scapy.contrib.gtp.GTP_U_Header'>), ({'sport': 2152}, <class 'scapy.contrib.gtp.GTP_U_Header'>), ({'dport': 2152, 'sport': 2152}, <class 'scapy.contrib.gtp.GTP_U_Header'>), ({'dport': 3250}, <class 'scapy.contrib.hicp.HICP'>), ({'sport': 3250}, <class 'scapy.contrib.hicp.HICP'>), ({'dport': 3250, 'sport': 3250}, <class 'scapy.contrib.hicp.HICP'>), ({'dport': 6635}, <class 'scapy.contrib.mpls.MPLS'>), ({'dport': 4500}, <class 'scapy.layers.ipsec.ESP'>), ({'sport': 4500}, <class 'scapy.layers.ipsec.ESP'>), ({'dport': 500}, <class 'scapy.contrib.ikev2.IKEv2'>), ({'sport': 500}, <class 'scapy.contrib.ikev2.IKEv2'>), ({'dport': 3671}, <class 'scapy.contrib.knx.KNX'>), ({'sport': 3671}, <class 'scapy.contrib.knx.KNX'>), ({'dport': 3671, 'sport': 3671}, <class 'scapy.contrib.knx.KNX'>), ({'sport': 646}, <class 'scapy.contrib.ldp.LDP'>), ({'dport': 646}, <class 'scapy.contrib.ldp.LDP'>), ({'dport': 646, 'sport': 646}, <class 'scapy.contrib.ldp.LDP'>), ({'sport': 1883}, <class 'scapy.contrib.mqttsn.MQTTSN'>), ({'dport': 1883}, <class 'scapy.contrib.mqttsn.MQTTSN'>), ({'dport': 1883, 'sport': 1883}, <class 'scapy.contrib.mqttsn.MQTTSN'>), ({'dport': 137}, <class 'scapy.layers.netbios.NBNSHeader'>), ({'sport': 137}, <class 'scapy.layers.netbios.NBNSHeader'>), ({'dport': 138}, <class 'scapy.layers.netbios.NBTDatagram'>), ({'sport': 138}, <class 'scapy.layers.netbios.NBTDatagram'>), ({'sport': 88}, <class 'scapy.layers.kerberos.Kerberos'>), ({'dport': 88}, <class 'scapy.layers.kerberos.Kerberos'>), ({'dport': 88, 'sport': 88}, <class 'scapy.layers.kerberos.Kerberos'>), ({'sport': 464}, <class 'scapy.layers.kerberos.Kpasswd'>), ({'dport': 464}, <class 'scapy.layers.kerberos.Kpasswd'>), ({'dport': 67, 'sport': 68}, <class 'scapy.layers.dhcp.BOOTP'>), ({'dport': 68, 'sport': 67}, <class 'scapy.layers.dhcp.BOOTP'>), ({'dport': 67, 'sport': 67}, <class 'scapy.layers.dhcp.BOOTP'>), ({'dport': 547}, <function _dhcp6_dispatcher>), ({'dport': 546}, <function _dhcp6_dispatcher>), ({'dport': 1985}, <class 'scapy.layers.hsrp.HSRP'>), ({'sport': 1985}, <class 'scapy.layers.hsrp.HSRP'>), ({'dport': 2029}, <class 'scapy.layers.hsrp.HSRP'>), ({'sport': 2029}, <class 'scapy.layers.hsrp.HSRP'>), ({'dport': 1985, 'sport': 1985}, <class 'scapy.layers.hsrp.HSRP'>), ({'dport': 2029, 'sport': 2029}, <class 'scapy.layers.hsrp.HSRP'>), ({'dport': 1701}, <class 'scapy.layers.l2tp.L2TP'>), ({'sport': 1701}, <class 'scapy.layers.l2tp.L2TP'>), ({'dport': 1701, 'sport': 1701}, <class 'scapy.layers.l2tp.L2TP'>), ({'dport': 389}, <class 'scapy.layers.ldap.CLDAP'>), ({'sport': 389}, <class 'scapy.layers.ldap.CLDAP'>), ({'dport': 389, 'sport': 389}, <class 'scapy.layers.ldap.CLDAP'>), ({'dport': 5355}, <class 'scapy.layers.llmnr._LLMNR'>), ({'sport': 5355}, <class 'scapy.layers.llmnr._LLMNR'>), ({'dport': 5355, 'sport': 5355}, <class 'scapy.layers.llmnr._LLMNR'>), ({'dport': 2727}, <class 'scapy.layers.mgcp.MGCP'>), ({'sport': 2727}, <class 'scapy.layers.mgcp.MGCP'>), ({'dport': 2727, 'sport': 2727}, <class 'scapy.layers.mgcp.MGCP'>), ({'dport': 434}, <class 'scapy.layers.mobileip.MobileIP'>), ({'sport': 434}, <class 'scapy.layers.mobileip.MobileIP'>), ({'dport': 434, 'sport': 434}, <class 'scapy.layers.mobileip.MobileIP'>), ({'dport': 2055}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'sport': 2055}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'dport': 2056}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'sport': 2056}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'dport': 9995}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'sport': 9995}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'dport': 9996}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'sport': 9996}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'dport': 6343}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'sport': 6343}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'dport': 2055, 'sport': 2055}, <class 'scapy.layers.netflow.NetflowHeader'>), ({'sport': 123}, <class 'scapy.layers.ntp.NTP'>), ({'dport': 123}, <class 'scapy.layers.ntp.NTP'>), ({'dport': 123, 'sport': 123}, <class 'scapy.layers.ntp.NTP'>), ({'sport': 1812}, <class 'scapy.layers.radius.Radius'>), ({'dport': 1812}, <class 'scapy.layers.radius.Radius'>), ({'sport': 1813}, <class 'scapy.layers.radius.Radius'>), ({'dport': 1813}, <class 'scapy.layers.radius.Radius'>), ({'sport': 3799}, <class 'scapy.layers.radius.Radius'>), ({'dport': 3799}, <class 'scapy.layers.radius.Radius'>), ({'dport': 1812, 'sport': 1812}, <class 'scapy.layers.radius.Radius'>), ({'dport': 520}, <class 'scapy.layers.rip.RIP'>), ({'sport': 520}, <class 'scapy.layers.rip.RIP'>), ({'dport': 520, 'sport': 520}, <class 'scapy.layers.rip.RIP'>), ({'sport': 161}, <class 'scapy.layers.snmp.SNMP'>), ({'dport': 161}, <class 'scapy.layers.snmp.SNMP'>), ({'sport': 162}, <class 'scapy.layers.snmp.SNMP'>), ({'dport': 162}, <class 'scapy.layers.snmp.SNMP'>), ({'dport': 161, 'sport': 161}, <class 'scapy.layers.snmp.SNMP'>), ({'dport': 69}, <class 'scapy.layers.tftp.TFTP'>), ({'dport': 4789}, <class 'scapy.layers.vxlan.VXLAN'>), ({'dport': 4790}, <class 'scapy.layers.vxlan.VXLAN'>), ({'dport': 6633}, <class 'scapy.layers.vxlan.VXLAN'>), ({'dport': 8472}, <class 'scapy.layers.vxlan.VXLAN'>), ({'dport': 48879}, <class 'scapy.layers.vxlan.VXLAN'>), ({'sport': 4789}, <class 'scapy.layers.vxlan.VXLAN'>), ({'sport': 4790}, <class 'scapy.layers.vxlan.VXLAN'>), ({'sport': 6633}, <class 'scapy.layers.vxlan.VXLAN'>), ({'sport': 8472}, <class 'scapy.layers.vxlan.VXLAN'>), ({'dport': 4789, 'sport': 4789}, <class 'scapy.layers.vxlan.VXLAN'>), ({'sport': 17754}, <class 'scapy.layers.zigbee.ZEP2'>), ({'sport': 17754}, <class 'scapy.layers.zigbee.ZEP2'>), ({'dport': 17754, 'sport': 17754}, <class 'scapy.layers.zigbee.ZEP2'>), ({'dport': 8805}, <class 'scapy.contrib.pfcp.PFCP'>), ({'sport': 8805}, <class 'scapy.contrib.pfcp.PFCP'>), ({'dport': 8805, 'sport': 8805}, <class 'scapy.contrib.pfcp.PFCP'>), ({'dport': 34962}, <class 'scapy.contrib.pnio.ProfinetIO'>), ({'dport': 1000}, <class 'scapy.contrib.psp.PSP'>), ({'sport': 1000}, <class 'scapy.contrib.psp.PSP'>), ({'dport': 319, 'sport': 319}, <class 'scapy.contrib.ptp_v2.PTP'>), ({'dport': 320, 'sport': 320}, <class 'scapy.contrib.ptp_v2.PTP'>), ({'dport': 521, 'sport': 521}, <class 'scapy.contrib.ripng.RIPng'>), ({'dport': 4791}, <class 'scapy.contrib.roce.BTH'>), ({'sport': 1101}, <class 'scapy.contrib.sebek.SebekHead'>), ({'dport': 1101}, <class 'scapy.contrib.sebek.SebekHead'>), ({'dport': 1101, 'sport': 1101}, <class 'scapy.contrib.sebek.SebekHead'>), ({'sport': 1080}, <class 'scapy.contrib.socks.SOCKS5UDP'>), ({'sport': 1080}, <class 'scapy.contrib.socks.SOCKS5UDP'>), ({'dport': 1080, 'sport': 1080}, <class 'scapy.contrib.socks.SOCKS5UDP'>), ({'dport': 862}, <class 'scapy.contrib.stamp.STAMPSessionSenderTestUnauthenticated'>), ({'sport': 862}, <class 'scapy.contrib.stamp.STAMPSessionReflectorTestUnauthenticated'>), ({'sport': 3478}, <class 'scapy.contrib.stun.STUN'>), ({'dport': 3478}, <class 'scapy.contrib.stun.STUN'>), ({'sport': 1589}, <class 'scapy.contrib.vqp.VQP'>), ({'dport': 1589}, <class 'scapy.contrib.vqp.VQP'>), ({'dport': 1589, 'sport': 1589}, <class 'scapy.contrib.vqp.VQP'>), ({'dport': 51820}, <class 'scapy.contrib.wireguard.Wireguard'>), ({'sport': 51820}, <class 'scapy.contrib.wireguard.Wireguard'>)]
- class scapy.layers.inet.UDPerror(_pkt, /, *, sport=53, dport=53, len=None, chksum=None)[source]
Bases:
UDP- aliastypes = [<class 'scapy.layers.inet.UDPerror'>, <class 'scapy.layers.inet.UDP'>, <class 'scapy.packet.Packet'>]
- scapy.layers.inet.calc_tcp_md5_hash(tcp: TCP, key: bytes) bytes[source]
Calculate TCP-MD5 hash from packet and return a 16-byte string
- class scapy.layers.inet.connect_from_ip(host, port, srcip, poison=True, timeout=1, debug=0)[source]
Bases:
objectOpen a TCP socket to a host:port while spoofing another IP.
- Parameters:
host – the host to connect to
port – the port to connect to
srcip – the IP to spoof. the cache of the gateway will be poisonned with this IP.
poison – (optional, default True) ARP poison the gateway (or next hop), so that it answers us (only one packet).
timeout – (optional) the socket timeout.
Example - Connect to 192.168.0.1:80 spoofing 192.168.0.2:
from scapy.layers.http import HTTP, HTTPRequest client = connect_from_ip("192.168.0.1", 80, "192.168.0.2") sock = SSLStreamSocket(client.sock, HTTP) resp = sock.sr1(HTTP() / HTTPRequest(Path="/"))
Example - Connect to 192.168.0.1:443 with TLS wrapping spoofing 192.168.0.2:
import ssl from scapy.layers.http import HTTP, HTTPRequest context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) context.check_hostname = False context.verify_mode = ssl.CERT_NONE client = connect_from_ip("192.168.0.1", 443, "192.168.0.2") sock = context.wrap_socket(client.sock) sock = SSLStreamSocket(client.sock, HTTP) resp = sock.sr1(HTTP() / HTTPRequest(Path="/"))
- scapy.layers.inet.defrag(plist) ([not fragmented], [defragmented],[source]
[ [bad fragments], [bad fragments], … ])
- scapy.layers.inet.fragleak(target, sport=123, dport=123, timeout=0.2, onlyasc=0, count=None)[source]
- scapy.layers.inet.get_tcpao(tcphdr: TCP) TCPAOValue | None[source]
Get the TCP-AO option from the header
- scapy.layers.inet.in4_chksum(proto: int, u: IP, p: bytes) int[source]
IPv4 Pseudo Header checksum as defined in RFC793
- Parameters:
proto – value of upper layer protocol
u – upper layer instance
p – the payload of the upper layer provided as a string
- scapy.layers.inet.in4_pseudoheader(proto: int, u: IP, plen: int) bytes[source]
IPv4 Pseudo Header as defined in RFC793 as bytes
- Parameters:
proto – value of upper layer protocol
u – IP layer instance
plen – the length of the upper layer and payload
- scapy.layers.inet.inet_register_l3(l2, l3)[source]
Resolves the default L2 destination address when IP is used.
- scapy.layers.inet.overlap_frag(p, overlap, fragsize=8, overlap_fragsize=None)[source]
Build overlapping fragments to bypass NIPS
p: the original packet overlap: the overlapping data fragsize: the fragment size of the packet overlap_fragsize: the fragment size of the overlapping packet
- scapy.layers.inet.report_ports(target, ports)[source]
portscan a target and output a LaTeX table report_ports(target, ports) -> string
- scapy.layers.inet.sign_tcp_md5(tcp: TCP, key: bytes) None[source]
Append TCP-MD5 signature to tcp packet
- scapy.layers.inet.tcp_pseudoheader(tcp: TCP) bytes[source]
Pseudoheader of a TCP packet as bytes
Requires underlayer to be either IP or IPv6
- scapy.layers.inet.traceroute(target, dport=80, minttl=1, maxttl=30, sport=<RandShort>, l4=None, filter=None, timeout=2, verbose=None, **kargs)[source]
Instant TCP traceroute
- Parameters:
target – hostnames or IP addresses
dport – TCP destination port (default is 80)
minttl – minimum TTL (default is 1)
maxttl – maximum TTL (default is 30)
sport – TCP source port (default is random)
l4 – use a Scapy packet instead of TCP
filter – BPF filter applied to received packets
timeout – time to wait for answers (default is 2s)
verbose – detailed output
- Returns:
an TracerouteResult, and a list of unanswered packets