使用nmap(Python)在网络上打印PC的主机名

时间:2015-12-16 15:01:39

标签: python nmap

我正在使用python2.7并尝试扫描我的网络并在我的n / w上打印PC的主机名,我查看了nmap的官方文档,我试过但它不工作我不喜欢&# 39;不知道为什么。请指导我完成整个过程或告诉我哪里出错了。在此先感谢:)

hosts_list = [(x, nm[x]['status']['state'],nm[x].hostname()) for x in nm.all_hosts()]
   for host, status,name in hosts_list:
      print('{0}:{1}:{2}'.format(host, status,name))

2 个答案:

答案 0 :(得分:0)

从链接的第一行开始:

This is a python class to use nmap and access scan results from python3

你说你正在使用2.7 ......检查一下,可能是你的问题。

答案 1 :(得分:0)

您可以使用sacket获取import socket import nmap nm = nmap.PortScanner() nm.scan(hosts='192.168.1.0/24', arguments='-n -sP -PE -PA21,23,80,3389') hosts_list = [(x, nm[x]['status']['state'],socket.gethostbyaddr(x)[0]) for x in nm.all_hosts() if socket.gethostbyaddr(x)[0]] for host, status,name in hosts_list: print('{0}:{1}:{2}'.format(host, status,name))

192.168.1.1:up:TP-LINK
192.168.1.102:up:android-XXX
192.168.1.105:up:DESKTOP-XXX
192.168.1.107:up:android-XXX

输出:

-lGL