• 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的状态
  • 相关阅读:
    制作完整的java可执行文件
    做最好的自己
    hadoop安装&单机配置
    虚拟机中不能识别U盘的解决方案
    扩展的欧几里得&中国剩余定理
    Java基础知识
    [转载] vim+ctags+taglist+cscope+cppcomplete+global
    [转载] tar 备份时如何保持权限
    [转载] Python没有switch语句的解决方法
    Makefile中一些特殊符号的意义
  • 原文地址:https://www.cnblogs.com/nicole-zhang/p/12618669.html
Copyright © 2020-2023  润新知