scapy.layers.dns¶
DNS: Domain Name System.
-
class
scapy.layers.dns.DNS(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
compress()¶ Return the compressed DNS packet (using dns_compress()
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Q| OPCODE|A|T|R|R|Z|A|C| RCODE | QDCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ANCOUNT | NSCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ARCOUNT | QD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AN | NS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSDNS fields¶ length
ShortField(Cond)Noneid
0qr
BitField(1 bit)0opcode
BitEnumField(4 bits)0aa
BitField(1 bit)0tc
BitField(1 bit)0rd
BitField(1 bit)1ra
BitField(1 bit)0z
BitField(1 bit)0ad
BitField(1 bit)0cd
BitField(1 bit)0rcode
BitEnumField(4 bits)0qdcount
Noneancount
Nonenscount
Nonearcount
Noneqd
Nonean
Nonens
Nonear
None
-
mysummary()¶
-
post_build(pkt, pay)¶
-
pre_dissect(s)¶ Check that a valid DNS over TCP message can be decoded
-
-
class
scapy.layers.dns.DNSQR(*args, **kargs)¶ Bases:
scapy.layers.dns.InheritOriginDNSStrPacket-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QNAME | QTYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QCLASS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSQRDNSQR fields¶ qname
b'www.example.com'qtype
1qclass
1
-
show_indent= 0¶
-
-
class
scapy.layers.dns.DNSQRField(name, countfld, passon=1)¶ Bases:
scapy.layers.dns.DNSRRField-
decodeRR(name, s, p)¶
-
-
class
scapy.layers.dns.DNSRR(*args, **kargs)¶ Bases:
scapy.layers.dns.InheritOriginDNSStrPacket-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRDNSRR fields¶ rrname
b'.'type
1rclass
1ttl
0rdlen
Nonerdata
b''
-
show_indent= 0¶
-
-
class
scapy.layers.dns.DNSRRCountField(name, default, rr)¶ Bases:
scapy.fields.ShortField-
i2h(pkt, x)¶
-
i2m(pkt, x)¶
-
rr¶
-
-
class
scapy.layers.dns.DNSRRDLV(*args, **kargs)¶ Bases:
scapy.layers.dns.DNSRRDS-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYTAG | ALGORITHM | DIGESTTYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIGEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRDLVDNSRRDLV fields¶ rrname
b'.'type
43rclass
1ttl
0rdlen
Nonekeytag
0algorithm
5digesttype
5digest
b''
-
-
class
scapy.layers.dns.DNSRRDNSKEY(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | PROTOCOL | ALGORITHM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PUBLICKEY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRDNSKEYDNSRRDNSKEY fields¶ rrname
b'.'type
48rclass
1ttl
0rdlen
Noneflags
FlagsField(16 bits)<Flag 256 (Z)>protocol
3algorithm
5publickey
b''
-
-
class
scapy.layers.dns.DNSRRDS(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYTAG | ALGORITHM | DIGESTTYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIGEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRDSDNSRRDS fields¶ rrname
b'.'type
43rclass
1ttl
0rdlen
Nonekeytag
0algorithm
5digesttype
5digest
b''
-
-
class
scapy.layers.dns.DNSRRField(name, countfld, passon=1)¶ Bases:
scapy.fields.StrField-
countfld¶
-
decodeRR(name, s, p)¶
-
getfield(pkt, s)¶
-
holds_packets= 1¶
-
i2m(pkt, x)¶
-
passon¶
-
-
class
scapy.layers.dns.DNSRRMX(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFERENCE | EXCHANGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRMXDNSRRMX fields¶ rrname
b'.'type
6rclass
1ttl
0rdlen
Nonepreference
0exchange
b'.'
-
-
class
scapy.layers.dns.DNSRRNSEC(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXTNAME | TYPEBITMAPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRNSECDNSRRNSEC fields¶ rrname
b'.'type
47rclass
1ttl
0rdlen
Nonenextname
b'.'typebitmaps
b''
-
-
class
scapy.layers.dns.DNSRRNSEC3(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HASHALG | FLAGS | ITERATIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SALTLENGTH | SALT | HASHLENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXTHASHEDOWNERNAME | TYPEBITMAPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRNSEC3DNSRRNSEC3 fields¶ rrname
b'.'type
50rclass
1ttl
0rdlen
Nonehashalg
0flags
BitEnumField(8 bits)0iterations
0saltlength
0salt
b''hashlength
0nexthashedownername
b''typebitmaps
b''
-
-
class
scapy.layers.dns.DNSRRNSEC3PARAM(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HASHALG | FLAGS | ITERATIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SALTLENGTH | SALT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRNSEC3PARAMDNSRRNSEC3PARAM fields¶ rrname
b'.'type
51rclass
1ttl
0rdlen
Nonehashalg
0flags
0iterations
0saltlength
0salt
b''
-
-
class
scapy.layers.dns.DNSRROPT(*args, **kargs)¶ Bases:
scapy.layers.dns.InheritOriginDNSStrPacket-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | EXTRCODE | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Z | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRROPTDNSRROPT fields¶ rrname
b'.'type
41rclass
4096extrcode
0version
0z
BitEnumField(16 bits)32768rdlen
Nonerdata
[]
-
-
class
scapy.layers.dns.DNSRRRSIG(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPECOVERED | ALGORITHM | LABELS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORIGINALTTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXPIRATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INCEPTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYTAG | SIGNERSNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIGNATURE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRRSIGDNSRRRSIG fields¶ rrname
b'.'type
46rclass
1ttl
0rdlen
Nonetypecovered
1algorithm
5labels
0originalttl
0expiration
0inception
0keytag
0signersname
b'.'signature
b''
-
-
class
scapy.layers.dns.DNSRRSOA(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNAME | RNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SERIAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REFRESH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RETRY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXPIRE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MINIMUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRSOADNSRRSOA fields¶ rrname
b'.'type
6rclass
1ttl
0rdlen
Nonemname
b'.'rname
b'.'serial
0refresh
0retry
0expire
0minimum
0
-
-
class
scapy.layers.dns.DNSRRSRV(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PRIORITY | WEIGHT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PORT | TARGET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRSRVDNSRRSRV fields¶ rrname
b'.'type
33rclass
1ttl
0rdlen
Nonepriority
0weight
0port
0target
b'.'
-
-
class
scapy.layers.dns.DNSRRTSIG(*args, **kargs)¶ Bases:
scapy.layers.dns._DNSRRdummy-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RRNAME | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RCLASS | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RDLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALGO NAME | TIME SIGNED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUDGE | MAC LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAC DATA | ORIGINAL ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ERROR | OTHER LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTHER DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNSRRTSIGDNSRRTSIG fields¶ rrname
b'.'type
250rclass
1ttl
0rdlen
Nonealgo_name
b'hmac-sha1'time_signed
b'\x00\x00\x00\x00\x00\x00'fudge
0mac_len
20mac_data
b''original_id
0error
0other_len
0other_data
b''
-
-
class
scapy.layers.dns.DNSStrField(name, default, fld=None, length_from=None, max_length=None)¶ Bases:
scapy.fields.StrLenFieldSpecial StrField that handles DNS encoding/decoding. It will also handle DNS decompression. (may be StrLenField if a length_from is passed),
-
getfield(pkt, s)¶
-
h2i(pkt, x)¶
-
i2len(pkt, x)¶
-
i2m(pkt, x)¶
-
-
class
scapy.layers.dns.DNSTextField(name, default, fld=None, length_from=None, max_length=None)¶ Bases:
scapy.fields.StrLenFieldSpecial StrLenField that handles DNS TEXT data (16)
-
any2i(pkt, x)¶
-
i2len(pkt, x)¶
-
i2m(pkt, s)¶
-
islist= 1¶
-
m2i(pkt, s)¶
-
-
class
scapy.layers.dns.DNS_am(**kargs)¶ Bases:
scapy.ansmachine.AnsweringMachine-
filter= 'udp port 53'¶
-
function_name= 'dns_spoof'¶
-
is_request(req)¶
-
make_reply(req)¶
-
parse_options(joker='192.168.1.1', match=None)¶
-
-
scapy.layers.dns.DNSgetstr(*args, **kwargs)¶ Legacy function. Deprecated
-
class
scapy.layers.dns.EDNS0TLV(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(p)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTCODE | OPTLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EDNS0TLVEDNS0TLV fields¶ optcode
0optlen
Noneoptdata
b''
-
-
class
scapy.layers.dns.InheritOriginDNSStrPacket(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
default_fields¶
-
direction¶
-
explicit¶
-
fields¶
-
fieldtype¶
-
name¶
-
original¶
-
overload_fields¶
-
overloaded_fields¶
-
packetfields¶
-
payload¶
-
post_transforms¶
-
raw_packet_cache¶
-
raw_packet_cache_fields¶
-
sent_time¶
-
sniffed_on¶
-
time¶
-
underlayer¶
-
wirelen¶
-
-
scapy.layers.dns.RRlist2bitmap(lst)¶ Encode a list of integers representing Resource Records to a bitmap field used in the NSEC Resource Record.
-
class
scapy.layers.dns.RRlistField(name, default, fmt='H', remain=0)¶ Bases:
scapy.fields.StrField-
h2i(pkt, x)¶
-
i2repr(pkt, x)¶
-
-
class
scapy.layers.dns.TimeSignedField(name, default)¶ Bases:
scapy.fields.StrFixedLenField-
h2i(pkt, seconds)¶ Convert the number of seconds since 1-Jan-70 UTC to the packed representation.
-
i2h(pkt, packed_seconds)¶ Convert the internal representation to the number of seconds since 1-Jan-70 UTC.
-
i2repr(pkt, packed_seconds)¶ Convert the internal representation to a nice one using the RFC format.
-
-
scapy.layers.dns.bitmap2RRlist(bitmap)¶ Decode the ‘Type Bit Maps’ field of the NSEC Resource Record into an integer list.
-
scapy.layers.dns.dns_compress(pkt)¶ This function compresses a DNS packet according to compression rules.
-
scapy.layers.dns.dns_encode(x, check_built=False)¶ Encodes a bytes string into the DNS format
- Parameters
x – the string
check_built – detect already-built strings and ignore them
- Returns
the encoded bytes string
-
scapy.layers.dns.dns_get_str(s, pointer=0, pkt=None, _fullpacket=False)¶ This function decompresses a string s, starting from the given pointer.
- Parameters
s – the string to decompress
pointer – first pointer on the string (default: 0)
pkt – (optional) an InheritOriginDNSStrPacket packet
- Returns
(decoded_string, end_index, left_string)
-
scapy.layers.dns.dyndns_add(nameserver, name, rdata, type="A", ttl=10) -> result code (0=ok)¶ example: dyndns_add(“ns1.toto.com”, “dyn.toto.com”, “127.0.0.1”) RFC2136
-
scapy.layers.dns.dyndns_del(nameserver, name, type="ANY", ttl=10) -> result code (0=ok)¶ example: dyndns_del(“ns1.toto.com”, “dyn.toto.com”) RFC2136
-
scapy.layers.dns.isdnssecRR(obj)¶