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\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)

 

posted @ 2020-10-23 10:59  Anec  阅读(562)  评论(0编辑  收藏  举报