MCPcopy Index your code
hub / github.com/secdev/scapy / DNSRR

Class DNSRR

scapy/layers/dns.py:1166–1197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1164
1165
1166class DNSRR(Packet):
1167 name = "DNS Resource Record"
1168 show_indent = 0
1169 fields_desc = [DNSStrField("rrname", ""),
1170 ShortEnumField("type", 1, dnstypes),
1171 BitField("cacheflush", 0, 1), # mDNS RFC 6762
1172 BitEnumField("rclass", 1, 15, dnsclasses),
1173 IntField("ttl", 0),
1174 FieldLenField("rdlen", None, length_of="rdata", fmt="H"),
1175 MultipleTypeField(
1176 [
1177 # A
1178 (IPField("rdata", "0.0.0.0"),
1179 lambda pkt: pkt.type == 1),
1180 # AAAA
1181 (IP6Field("rdata", "::"),
1182 lambda pkt: pkt.type == 28),
1183 # NS, MD, MF, CNAME, PTR, DNAME
1184 (DNSStrField("rdata", "",
1185 length_from=lambda pkt: pkt.rdlen),
1186 lambda pkt: pkt.type in [2, 3, 4, 5, 12, 39]),
1187 # TEXT
1188 (DNSTextField("rdata", [""],
1189 length_from=lambda pkt: pkt.rdlen),
1190 lambda pkt: pkt.type == 16),
1191 ],
1192 StrLenField("rdata", "",
1193 length_from=lambda pkt:pkt.rdlen)
1194 )]
1195
1196 def default_payload_class(self, payload):
1197 return conf.padding_layer
1198
1199
1200def _DNSRR(s, **kwargs):

Callers 3

dyndns_addFunction · 0.85
dyndns_delFunction · 0.85
make_replyMethod · 0.85

Calls 11

ShortEnumFieldClass · 0.90
BitFieldClass · 0.90
BitEnumFieldClass · 0.90
IntFieldClass · 0.90
FieldLenFieldClass · 0.90
MultipleTypeFieldClass · 0.90
IP6FieldClass · 0.90
StrLenFieldClass · 0.90
DNSStrFieldClass · 0.85
IPFieldClass · 0.85
DNSTextFieldClass · 0.85

Tested by

no test coverage detected