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 广播似乎以大写形式广播名称。我显示的是小写字母,所以系统没有响应。
所以提供大写的值解决了问题。 (即使客户端上的主机名检查显示大写字母后跟小写字母。
我一直在思考一些想法,想使用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 广播似乎以大写形式广播名称。我显示的是小写字母,所以系统没有响应。
所以提供大写的值解决了问题。 (即使客户端上的主机名检查显示大写字母后跟小写字母。