📜  使用“python-nmap”的端口扫描器(1)

📅  最后修改于: 2023-12-03 15:36:37.621000             🧑  作者: Mango

使用“python-nmap”的端口扫描器

简介

Python-nmap是一个Python库,是Nmap的Python API封装,可以使用Python语言方便地进行Nmap扫描。

Nmap是一个网络发现和安全审核工具,常用于发现网络上运行的主机和开放的端口。它还提供了多种扫描技术、操作系统检测、版本检测等功能,因此被广泛用于渗透测试、漏洞扫描等领域。

Python-nmap的出现使得程序员可以使用Python语言进行端口扫描,灵活且简便。

安装

运行以下命令可以安装python-nmap:

pip install python-nmap
使用

以下是一个简单的端口扫描代码示例,展示如何使用python-nmap实现端口探测:

import nmap

nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')

for host in nm.all_hosts():
    print('----------------------------------------------------')
    print(f'Host : [{host}]')
    print(f'{nm[host].hostname()}')
    print(f'State : [{nm[host].state()}]')

    for proto in nm[host].all_protocols():
        print('--------------')
        print(f'Protocol : [{proto}]')

        lport = nm[host][proto].keys()
        for port in lport:
            print(f'Port : [{port}] / State : [{nm[host][proto][port]["state"]}]')

上述代码中,扫描IP地址为127.0.0.1的计算机,并指定端口范围为22-443。扫描完成后,使用for循环遍历扫描结果,输出每个主机、协议和端口的状态信息。

更多使用方法可以参考文档:python-nmap Documentation

总结

python-nmap是一个很有用的Python库,方便程序员使用Python语言进行Nmap扫描。程序员可以根据需要使用Nmap的多种技术和功能,进行端口探测、漏洞扫描等任务。