根据IP地址获取主机的主机名
windwos环境下:
安装python-nmap模块以及 安装nmap 软件,在使用的时候需要指定nmap软件的运行路径,否则不可用
ps:windows环境下,被扫描的PC,若没有开启相应的接口138,139以及服务或者未关闭防火墙等多种因素,是获取不到主机名参数的.
IP= "10.2.1.178"
nm = nmap.PortScanner(nmap_search_path=('nmap', r'C:\Program Files (x86)\Nmap\nmap.exe'))
info = nm.scan(hosts=IP, arguments=' -P0 -sT -p139 --script nbstat ')
hostnameStr = ""
for i, j in info.items():
# print(i, j)
for k, v in j.items():
# print(k,v)
if k == IP:
try:
hostnameStr = v['hostscript'][0]['output']
info = re.search(r"name: (?P<id>\w+),", hostnameStr)
print(info.group("id"))
except:
hostnameStr =IP
print(IP)
既要脚踏实地,也需仰望天空