scapy.layers.llmnr

LLMNR (Link Local Multicast Node Resolution).

[RFC 4795]

LLMNR is based on the DNS packet format (RFC1035 Section 4) RFC also envisions LLMNR over TCP. Like vista, we don’t support it – arno

class scapy.layers.llmnr.LLMNRQuery(_pkt, /, *, id=0, qr=0, opcode=0, c=0, tc=0, z=0, rcode=0, qdcount=None, ancount=None, nscount=None, arcount=None, qd=None, an=None, ns=None, ar=None)[source]

Bases: Packet

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               ID              |Q| OPCODE|C| TC|   Z   | RCODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            QDCOUNT            |            ANCOUNT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NSCOUNT            |            ARCOUNT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               QD              |               AN              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               NS              |               AR              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LLMNRQuery                          
LLMNRQuery fields

id

ShortField

0

qr

BitField (1 bit)

0

opcode

BitEnumField

0

c

BitField (1 bit)

0

tc

BitField (2 bits)

0

z

BitField (4 bits)

0

rcode

BitEnumField

0

qdcount

DNSRRCountField

None

ancount

DNSRRCountField

None

nscount

DNSRRCountField

None

arcount

DNSRRCountField

None

qd

DNSQRField

None

an

DNSRRField

None

ns

DNSRRField

None

ar

DNSRRField

None

hashret()[source]
mysummary()[source]
class scapy.layers.llmnr.LLMNRResponse(_pkt, /, *, id=0, qr=1, opcode=0, c=0, tc=0, z=0, rcode=0, qdcount=None, ancount=None, nscount=None, arcount=None, qd=None, an=None, ns=None, ar=None)[source]

Bases: LLMNRQuery

aliastypes
answers(other)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               ID              |Q| OPCODE|C| TC|   Z   | RCODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            QDCOUNT            |            ANCOUNT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NSCOUNT            |            ARCOUNT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               QD              |               AN              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               NS              |               AR              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. LLMNRResponse                        
LLMNRResponse fields

id

ShortField

0

qr

BitField (1 bit)

1

opcode

BitEnumField

0

c

BitField (1 bit)

0

tc

BitField (2 bits)

0

z

BitField (4 bits)

0

rcode

BitEnumField

0

qdcount

DNSRRCountField

None

ancount

DNSRRCountField

None

nscount

DNSRRCountField

None

arcount

DNSRRCountField

None

qd

DNSQRField

None

an

DNSRRField

None

ns

DNSRRField

None

ar

DNSRRField

None

class scapy.layers.llmnr.LLMNR_am(self, joker=None, match=None, joker6=None, from_ip=None)[source]

Bases: DNS_am

cls[source]

alias of LLMNRQuery

filter: Optional[str] = 'udp port 5355'
function_name = 'llmnr_spoof'
optam0: Dict[str, Any]
optam1: Dict[str, Any]
optam2: Dict[str, Any]
optsend: Dict[str, Any]
optsniff: Dict[str, Any]