首页 > 解决方案 > 看不到 LLMNR 查询响应?

问题描述

我正在通过我的本地网络发送(llmnr)查询,我可以在数据包捕获工具(wire shark)中看到查询。但从未见过/得到任何 LLMNR 响应查询。我已经为 win 10 系统和一台 hp 打印机进行了挖掘。所以问题是 LLMNR 查询是否得到响应,因为我试图捕获多个网络中的 LLMNR 流量,但我从未见过任何响应数据包

在此处粘贴代码:

class LLMNRQuery(Packet):
    name = "Link Local Multicast Node Resolution - Query"
    fields_desc = [ShortField("id", 0),
                   BitField("qr", 0, 1),
                   BitEnumField("opcode", 0, 4, {0: "QUERY"}),
                   BitField("c", 0, 1),
                   BitField("tc", 0, 2),
                   BitField("z", 0, 4),
                   BitEnumField("rcode", 0, 4, {0: "ok"}),
                   DNSRRCountField("qdcount", None, "qd"),
                   DNSRRCountField("ancount", None, "an"),
                   DNSRRCountField("nscount", None, "ns"),
                   DNSRRCountField("arcount", None, "ar"),
                   DNSQRField("qd", "qdcount"),
                   DNSRRField("an", "ancount"),
                   DNSRRField("ns", "nscount"),
                   DNSRRField("ar", "arcount", 0)]
    overload_fields = {UDP: {"sport": 5355, "dport": 5355}}


bind_bottom_up(UDP, LLMNRQuery(), dport=5355)
bind_bottom_up(UDP, LLMNRQuery(), sport=5355)
bind_layers(UDP, LLMNRQuery(), sport=5355, dport=5355)


def hashret(self):
    return struct.pack("!H", self.id)


def qtype_sendPacket(qname='localhost', qtype='A'):
    packet = IP(src='192.168.1.10', dst="224.0.0.252")/UDP() / LLMNRQuery(id=RandShort(), qd=DNSQR(qname=qname, qtype=qtype))
    send(packet, verbose=False)
##################

qtypelist = ["ANY", "AAAA", "PTR", "SRV", "A", "TXT"]
    for i in qtypelist:
        qtype_sendPacket('SAHAYRU', i)

标签: networkingnetwork-programmingscapyservice-discovery

解决方案


推荐阅读