我正在使用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))
答案 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