Python编程--目标IP地址段主机指定端口状态扫描

简介: Python编程--目标IP地址段主机指定端口状态扫描

Python编程–目标IP地址段主机指定端口状态扫描
渗透测试经常需要进行针对目标主机IP地址段的各主机的端口进行扫描,然后输出目标主机的开放端口的状态。现利用nmap-python模块编写一个扫描脚本程序。代码如下:

# 导入nmap模块
import nmap
# 定义findTgts函数,参数为subNet(目标子网), portLst(目标端口列表)
def findTgts(subNet, portLst):
   # 实例化nmap对象
    nmScan = nmap.PortScanner()
        # 遍历目标端口
    for port in portLst:
        nmScan.scan(subNet, str(port))
        # 建立一个目标主机空列表
        tgtHosts = []
        for host in nmScan.all_hosts():
            if nmScan[host].has_tcp(port):
              # 获取目标主机tcp协议的目标端口的状态
                state = nmScan[host]['tcp'][port]['state']
                # 判断端口状态是否开放
                if state == 'open':
                    print('[+] Found Target Host: ' + host + ' ' + 'port: ' + str(port) + ' open')
                    tgtHosts.append(host)

    return tgtHosts

if __name__ == '__main__':
    portLst = [21, 22, 25, 445]
    tgthosts = findTgts('192.168.31.33-240', portLst)

    print(tgthosts)

针对目标IP地址段(192.168.31.33-240)端口(21,22, 25, 445)进行扫描,结果如下所示:

[+] Found Target Host: 192.168.31.82 port: 21 open
[+] Found Target Host: 192.168.31.82 port: 22 open
[+] Found Target Host: 192.168.31.113 port: 445 open
[+] Found Target Host: 192.168.31.192 port: 445 open
['192.168.31.82', '192.168.31.113', '192.168.31.192']
相关文章
|
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编程--使用NMAP端口扫描
Python编程--使用NMAP端口扫描