python-nmap

import nmap
nm = nmap.PortScanner()
n = nm.scan(hosts="192.168.0.190", ports="22-443", arguments='-sV', sudo=False)

nm.command_line() # 获取用于扫描的命令行 nmap -oX - -p 22-443 -sV 192.168.0.190
nm.scaninfo() # 获取nmap扫描信息 {'tcp': {'method': 'syn', 'services': '22-443'}}
nm.all_hosts() # 获取所有已扫描的主机 ['192.168.0.190']

n["scan"]['192.168.0.190'].hostname() # 获取一个主机名 
n["scan"]['192.168.0.190'].hostnames() # 获取主机的主机名列表 [{'name': 'hostname', 'type': 'PTR'}]
n["scan"]['192.168.0.190'].state() # 获取主机状态 (up|down|unknown|skipped)
n["scan"]['192.168.0.190'].all_protocols() # 在(ip|tcp|udp|sctp)中获取所有扫描的协议['tcp','udp']
n["scan"]['192.168.0.190']['tcp'].keys() #获取tcp协议的所有端口 dict_keys([80, 443, 22])
n["scan"]['192.168.0.190'].all_tcp() # 获取tcp协议的所有端口(排序版本)[22, 80, 443]
n["scan"]['192.168.0.190'].all_udp() # 获取udp协议的所有端口(排序版本)
n["scan"]['192.168.0.190'].all_ip() # 获取ip协议的所有端口(排序版本)
n["scan"]['192.168.0.190'].all_sctp() # 获取sctp协议的所有端口(排序版本)
n["scan"]['192.168.0.190'].has_tcp(22) # 主机192.168.0.190上的端口22/tcp是否有任何信息 True
n["scan"]['192.168.0.190']['tcp'][22] # 获取有关主机192.168.0.190上tcp端口22的信息
n["scan"]['192.168.0.190'].tcp(22)# 获取有关主机192.168.0.190上tcp端口22的信息
n["scan"]['192.168.0.190']['tcp'][22]['state'] # 获取主机192.168.0.190上端口22/tcp的状态

 

posted @ 2020-04-02 11:52  OTAKU_nicole  阅读(370)  评论(0编辑  收藏  举报