python绝技中nmap的使用,在python中使用的是python3-nmap

一、在python3以后的版本中,nmap包中无法实现相应功能呢,通过pip search nmp 找到了python3-nmap包。此包在安装的时候会有两个依赖包,可能是我个人网速的问题,在使用pip install python3-nmap时总是提示出错,因此,我就把三个包一起下载下来进行安装

 1、Babel-2.8.0-py2.py3-none-any.whl

https://files.pythonhosted.org/packages/15/a1/522dccd23e5d2e47aed4b6a16795b8213e3272c7506e625f2425ad025a19/Babel-2.8.0-py2.py3-none-any.whl

 2、sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl

https://files.pythonhosted.org/packages/60/b4/4df37087a1d36755e3a3bfd2a30263f358d2dea21938240fa02313d45f51/sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl

 3、python3_nmap-1.4.1-py3-none-any.whl   https://files.pythonhosted.org/packages/a7/a7/3baa77649bc103843c75c80cd89be588ea87557e5e85290495cbe46d819f/python3_nmap-1.4.1-py3-none-any.whl

按照1到3的顺序依次使用pip install 进行安装

 

二使用python3-nmap的源码

import nmap3


def findTgtHosts(subNet):
    nmapscan =nmap3.Nmap()

    results = nmapscan.nmap_subnet_scan(subNet,'-p 445')

    tgtHosts=[]

    for line in results:
        ports = line['ports']
        for port in ports:
            if (port['state']=='open'):
                tgtHosts.append(line['addr'])

    #print(tgtHosts)
    return tgtHosts

 

for循环为什么是在这种处理数据的方式,自己使用print(line)将结果输出看下就明白了。

你可能感兴趣的:(语言,python)