Python编程--使用NMAP端口扫描

简介: Python编程--使用NMAP端口扫描

Python编程–使用NMAP端口扫描
安装好Python-Namp模块,(pip install python-nmap)。创建一个PortScanner()类对象,这使我们能用这个对象完成扫描操作。PortScanner类有一个scan()函数,它可将目标和端口的列表作为参数输入,并对它们进行基本的Nmap扫描。另外,还可以把目标主机的地址/端口放入数组中备查,并打印出端口的状态。示例代码如下:

# 导入模块
import nmap
import optparse

# 定义nmapScan函数,参数为目标主机和目标端口
def nmapScan(tgtHost, tgtPort):
      # 实例化nmap端口扫描对象
    nmScan = nmap.PortScanner()
    # 执行scan()函数
    nmScan.scan(tgtHost, tgtPort)
        # 获取tcp协议对应的端口状态
    state = nmScan[tgtHost]['tcp'][int(tgtPort)]['state']
    print(f"[+] {tgtHost} tcp/{tgtPort} {state}")

# 定义主函数
def main():
   # 实例化语法对象
    parser = optparse.OptionParser('Usage %prog -H <target host> -p <target port>')
        # 添加—H, -p参数选项,定义变量名和类型,还有帮助说明
    parser.add_option('-H', dest = 'tgtHost', type = 'string', help = 'specify target host')
    parser.add_option('-p', dest = 'tgtPort', type = 'string', help = 'specify target port')
        # 生成语法参数元组
    (options, args) = parser.parse_args()
    tgtHost = options.tgtHost
    tgtPorts = str(options.tgtPort).split(', ')

    if tgtHost == None or tgtPorts[0] == None:
        print(parser.usage)
        exit(0)

    for tgtPort in tgtPorts:
        nmapScan(tgtHost, tgtPort)


if __name__ == '__main__':
    main()

执行这个脚本,运行结果如下图:
image.png

相关文章
|
1天前
|
存储 数据可视化 Python
Python编程中的数据可视化技术
在数据驱动的世界中,将复杂的数据集转换为易于理解的视觉表示形式至关重要。本文将深入探讨如何使用Python进行数据可视化,包括选择合适的库、处理数据和设计有效的图表。我们将一起学习如何让数据讲故事,并确保你的信息传达清晰且有影响力。
|
1天前
|
网络协议 IDE iOS开发
Python编程---简单的聊天工具
Python编程---简单的聊天工具
11 2
|
1天前
|
小程序 IDE 开发工具
Python编程--个人信息修改小程序
Python编程--个人信息修改小程序
10 2
|
1天前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
|
1天前
|
Python
Python编程--解压缩文件
Python编程--解压缩文件
|
1天前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
|
1天前
|
Python
Python编程---双色球选购程序
Python编程---双色球选购程序
|
1天前
|
存储 Python Perl
Python编程--正则基础(一)
Python编程--正则基础(一)
|
1天前
|
存储 安全 网络安全
Python编程--使用PyPDF解析PDF文件中的元数据
Python编程--使用PyPDF解析PDF文件中的元数据
|
1天前
|
网络安全 Python
Python编程--目标IP地址段主机指定端口状态扫描
Python编程--目标IP地址段主机指定端口状态扫描