python 根据IP地址获取主机的主机名

根据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)
原文地址:https://www.cnblogs.com/Anec/p/13862952.html