'Send a query on the network and hopes that if machine matching the *name* will reply with its IP address.
:param string ip: If the NBNSProtocol instance was instianted with broadcast=True, then this parameter can be an empty string. We will leave it to the OS to determine an appropriate broadcast address.
If the NBNSProtocol instance was instianted with broadcast=False, then you should provide a target IP to send the query.
:param integer port: The NetBIOS-NS port (IANA standard defines this port to be 137). You should not touch this parameter unless you know what you are doing.
:param integer/float timeout: Number of seconds to wait for a reply, after which the method will return None
:return: A list of IP addresses in dotted notation (aaa.bbb.ccc.ddd). On timeout, returns None.'

def queryName(self, name, ip='', port=137, timeout=30):

    assert self.sock, 'Socket    is    already    closed'
    trn_id = random.randint(1, 65535)
    data = self.prepareNameQuery(trn_id, name)
    if (self.broadcast and (not ip)):
        ip = '<broadcast>'
    elif (not ip):
        self.log.warning('queryName:    ip    parameter    is    empty.    OS    might    not    transmit    this    query    to    the    network')
    self.write(data, ip, port)
    return self._pollForNetBIOSPacket(trn_id, timeout)
