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, t=0, z=0, rcode=0, qdcount=None, ancount=None, nscount=None, arcount=None, qd=[], an=[], ns=[], ar=[])[source]
Bases:
DNSCompressedPacket- aliastypes = [<class 'scapy.layers.llmnr.LLMNRQuery'>, <class 'scapy.layers.dns.DNSCompressedPacket'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (LLMNRQuery,LLMNRResponse).id>, <BitField (LLMNRQuery,LLMNRResponse).qr>, <BitEnumField (LLMNRQuery,LLMNRResponse).opcode>, <BitField (LLMNRQuery,LLMNRResponse).c>, <BitField (LLMNRQuery,LLMNRResponse).tc>, <BitField (LLMNRQuery,LLMNRResponse).t>, <BitField (LLMNRQuery,LLMNRResponse).z>, <BitEnumField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).rcode>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).qdcount>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).ancount>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).nscount>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).arcount>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).qd>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).an>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).ns>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).ar>]
- class scapy.layers.llmnr.LLMNRResponse(_pkt, /, *, id=0, qr=1, opcode=0, c=0, tc=0, t=0, z=0, rcode=0, qdcount=None, ancount=None, nscount=None, arcount=None, qd=[], an=[], ns=[], ar=[])[source]
Bases:
LLMNRQuery- aliastypes = [<class 'scapy.layers.llmnr.LLMNRResponse'>, <class 'scapy.layers.llmnr.LLMNRQuery'>, <class 'scapy.layers.dns.DNSCompressedPacket'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (LLMNRQuery,LLMNRResponse).id>, <BitField (LLMNRQuery,LLMNRResponse).qr>, <BitEnumField (LLMNRQuery,LLMNRResponse).opcode>, <BitField (LLMNRQuery,LLMNRResponse).c>, <BitField (LLMNRQuery,LLMNRResponse).tc>, <BitField (LLMNRQuery,LLMNRResponse).t>, <BitField (LLMNRQuery,LLMNRResponse).z>, <BitEnumField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).rcode>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).qdcount>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).ancount>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).nscount>, <FieldLenField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).arcount>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).qd>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).an>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).ns>, <_DNSPacketListField (DNS,DNSTCP,LLMNRQuery,LLMNRResponse).ar>]
- class scapy.layers.llmnr.LLMNR_am(self, joker=None, match=None, srvmatch=None, joker6=False, send_error=False, relay=False, from_ip=True, from_ip6=False, src_ip=None, src_ip6=None, ttl=10, jokerarpa=False)[source]
Bases:
DNS_amLLMNR answering machine.
This has the same arguments as DNS_am. See help(DNS_am)
Example:
>>> llmnrd(joker="192.168.0.2", iface="eth0") >>> llmnrd(match={"TEST": "192.168.0.2"})
- cls[source]
alias of
LLMNRQuery
- filter: str | None = 'udp port 5355'
- function_name = 'llmnrd'