根据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 map.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)