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)将结果输出看下就明白了。

Windows系统下使用Python-nmap可以进行网络扫描和端口扫描。Python-nmap是一个Python库,它封装了Nmap安全扫描工具的功能,可以通过Python代码来调用Nmap进行扫描操作。 要在Windows系统使用Python-nmap,首先需要确保已经安装了PythonNmap。以下是使用Python-nmap的基本步骤: 1. 安装Python:从Python官方网站下载并安装适合您系统的Python版本。 2. 安装Nmap:从Nmap官方网站下载并安装适合您系统的Nmap版本。 3. 安装Python-nmap库:打开命令提示符或者PowerShell,并执行以下命令来安装Python-nmap库: ``` pip install python-nmap ``` 4. 编写Python代码:创建一个Python脚本文件,例如`scan.py`,并在其编写扫描代码。以下是一个简单的示例: ```python import nmap nm = nmap.PortScanner() result = nm.scan('127.0.0.1', '22-443') for host in result['scan']: print('Host: %s' % host) for port in result['scan'][host]['tcp']: print('Port: %s\tState: %s' % (port, result['scan'][host]['tcp'][port]['state'])) ``` 上述代码使用了`nmap.PortScanner()`创建了一个扫描器对象,然后使用`scan()`方法对指定IP地址和端口范围进行扫描。扫描结果存储在`result`变量,可以根据需要进行处理和输出。 5. 运行Python脚本:在命令提示符或者PowerShell执行以下命令来运行Python脚本: ``` python scan.py ``` 执行后,您将看到扫描结果输出在命令行。 希望以上介绍对您有帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值