# NetBIOS class

To use the NetBIOS class in your application,
  1. Create a new NetBIOS instance
  2. Call queryName method for each name you wish to query. The method will block until a reply is received from the remote SMB/CIFS service, or until timeout.
  3. When you are done, call close method to release the underlying resources.

class `nmb.NetBIOS.``NetBIOS`(broadcast=True, listen_port=0)
  `__init__`(broadcast=True, listen_port=0)

    Instantiate a NetBIOS instance, and creates a IPv4 UDP socket to listen/send NBNS packets.

    Parameters: | broadcast (boolean) – A boolean flag to indicate if we should setup the listening UDP port in broadcast mode listen_port (integer) – Specifies the UDP port number to bind to for listening. If zero, OS will automatically select a free port number.

  `close`()

    Close the underlying and free resources.

    The NetBIOS instance should not be used to perform any operations after this method returns.

    Returns: | None

  `queryIPForName`(ip, port=137, timeout=30)

    Send a query to the machine with ip and hopes that the machine will reply back with its name.

    The implementation of this function is contributed by Jason Anderson.

    Parameters: | ip (string) – 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. port (integer) – 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. timeout (integer/float) – Number of seconds to wait for a reply, after which the method will return None
    Returns: | A list of string containing the names of the machine at ip. On timeout, returns None.

  `queryName`(name, ip='', port=137, timeout=30)

    Send a query on the network and hopes that if machine matching the name will reply with its IP address.

    Parameters: | ip (string) – 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. port (integer) – 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. timeout (integer/float) – Number of seconds to wait for a reply, after which the method will return None
    Returns: | A list of IP addresses in dotted notation (aaa.bbb.ccc.ddd). On timeout, returns None.