Python 和 Netbios

Python and Netbios

我一直在思考一些想法,想使用Netbios 对网络进行一些检查。因此,经过一些研究后,pysmb 的 nmb.Netbios 是一个不错的起点。

我构建了一个简单的 queryName 函数,我希望它能 return 一个 ip 地址。但似乎在检查了一些 wireshark pcap 转储后它甚至没有广播。

我在 pysmb 文档中找到了一个示例,但它似乎也没有广播。下面是我的测试函数,任何指针将不胜感激。

from nmb.NetBIOS import NetBIOS

def queryNam(name):
    n = NetBIOS(broadcast=True, listen_port=0)
    ip = n.queryName(name, timeout=30)
    return ip

name = "Computer-Name"
ip = queryNam(name)
print ip

我自己解决了这个问题。最初我没有使用正确的计算机名,因为 NetBios 广播似乎以大写形式广播名称。我显示的是小写字母,所以系统没有响应。

所以提供大写的值解决了问题。 (即使客户端上的主机名检查显示大写字母后跟小写字母。