python脚本基于端口开启服务识别信息收集

简介: python脚本基于端口开启服务识别信息收集

本文转载:https://xiaochuhe.blog.csdn.net/article/details/122301129
1.源代码如下:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
 
import nmap
import optparse
 
def NmapScan(targetIP, targetPort):
    # 实例化PortScanner对象
    nm = nmap.PortScanner()
    try:
        # hosts为目标IP地址,argusments为Nmap的扫描参数
        # -p:对指定端口进行扫描
        # -sV:对端口进行服务程序探测
        result = nm.scan(hosts=targetIP, arguments='-sV -p'+str(targetPort))
        # 对结果进行切片,提取端口信息
        # 这里需要注意的是,提取信息时需要把端口转化为int型
        port_infor = result['scan'][targetIP]['tcp'][int(targetPort)]
        # 分别显示  端口号:端口状态 端口服务:端口服务程序
        print("[{}:{}] : [{}:{}]".format(targetPort, port_infor['state'] , port_infor['name'], port_infor['product']))
    except Exception as e:
        print(e)
 
 
if __name__ == '__main__':
    parser = optparse.OptionParser('usage: python %prog -i ip -p port\n\n'
                                    'Example: python %prog -i 192.168.1.1 -p 80,3306\n')
    # 添加目标IP参数-i
    parser.add_option('-i','--ip',dest='targetIP',default='192.168.1.1',type='string',help='target ip address')
    # 添加扫描端口参数-p
    parser.add_option('-p','--port',dest='targetPort',default='80',type='string',help='target port')
    options,args = parser.parse_args()
    for i in range(0,len(options.targetPort.split(','))):
        NmapScan(options.targetIP, options.targetPort.split(',')[i])

2.用法:

python 此脚本 -i IP范围 -p 端口范围

相关文章
|
6天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
104 60
|
2月前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
4天前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
30 10
|
25天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
84 7
21个Python脚本自动执行日常任务(2)
|
15天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
73 5
|
1月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
51 7
|
2月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
6月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
752 1
|
6月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
5月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题