使用python的nmap模块扫描主机生成csv文档

脚本如下,需要用到IPy模块,python-nmap模块,脚本执行后,以csv文档将结果输出到屏幕上

#!/usr/bin/env python3

‘‘‘
参考链接 https://blog.csdn.net/qq_36119192/article/details/83717690
使用方法:
nmap_scan.py 192.168.0.0/24 22,3389
支持单个IP,网段扫描
网段格式支持:192.168.0.0/24,192.168.0.0/24
需要扫描的端口用逗号分隔
‘‘‘

import sys
import nmap
from IPy import IP

if len(sys.argv) != 3:
    print("参数错误,支持格式:单个IP,后缀或掩码形式的网段")
    exit(1)

scan_ip = IP(sys.argv[1])
scan_port = sys.argv[2]

# scan_ip.prefixlen()

# 将网段转所后缀形式
scan_ip = "{}".format(scan_ip)

for port in [ int(i) for i in scan_port.split(",") ]:
    if port < 1 or port >  65535:
        print("端口范围 1 - 65535")
        exit(1)

nm=nmap.PortScanner()
nm.scan(scan_ip, scan_port,‘-Pn‘)
hosts = nm.all_hosts()
for host in hosts:
    mac = nm[host]["addresses"].get("mac", "")
    tcp = nm[host]["tcp"]
    ports = nm[host]["tcp"].keys()
    ports_list = []
    for port in ports:
        if tcp[port]["state"] == "open":
            ports_list.append("{}".format(port))
        else:
            ports_list.append("")
    print("{},{},{}".format(host, mac, ",".join(ports_list)))

原文地址:https://blog.51cto.com/penguintux/2429126

时间: 2024-11-07 05:27:14

使用python的nmap模块扫描主机生成csv文档的相关文章

Python sphinx-build在Windows系统中生成Html文档

看到前同事发布的"Markdown/reST 文档发布流水线"基于TFS.Docker.Azure等工具和平台进行文档发布的介绍说明,不得不在心中暗暗竖起大拇指.这套模式,实现了文档编写后版本管理.发布.存档.分享的高度自动化,它不仅仅可以应用在文章中介绍的技术文档发布模式,同样也适用于我们大多数web.app等软件生命周期过程模式.DevOps一词的盛行,绝对不是软件行业中又一个流行语的鼓吹和炒作,而是软件过程的一种发展和进化.结合自动化平台.Docker.云平台等优秀技术和产品.软

利用sphinx为python项目生成API文档

sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apidoc -F -o ./doc ./domain/model/ 在当前目录下新建doc目录,api文档的文件夹就在此目录下,./domain/model/ 表示需要生成api文档的目录. 3:进入doc目录 修改conf.py文件 设置代码路径为sys.path.insert(0, os.path.ab

python 3.7 生成数据库文档

开发阶段数据库总是有变动,开发人员需要维护文档给相关人员使用,故编写一个脚本自动生成数据库文档 生成的excel如下 import cx_Oracle import os from openpyxl import load_workbook from openpyxl import Workbook from openpyxl.styles import PatternFill os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' ta

Windows7下使用sphinx生成开源文档(原)

作者这里以osgearth文档为例,感觉这种生成文档的方式比较好,生成的html文档是支持搜索的,感谢开源工作者的奉献.赞一个 1. 下载并安装python for windows:https://www.python.org/downloads/windows/ 2.下载安装setup tools下载easy_stall.py 并运行https://pypi.python.org/pypi/setuptools#windows-7-or-graphical-install,可以找到window

【Lua】LDoc生成Lua文档工具的使用

参考资料: http://my.oschina.net/wangxuanyihaha/blog/188909 LDoc介绍: LDoc是一个Lua的文档生成工具,过去,比较常用的Lua生成文档的工具是LuaDoc,可惜作者自从2008年之后就再也没有发布过新的版本了,说明作者基本上已经放弃维护了.而LDoc则是一直在更新中,所以现在选择LDoc来给Lua生成文档是更好的选择,LDoc的Github主页. LDoc的一个优点就是,它的目的是为了和LuaDoc兼容并且拓展LuaDoc的功能而制作的,

drf 其他功能组件 - 限流-过滤-排序-分页-异常处理-生成接口文档-Xadmin

目录 限流Throttling 使用 可选限流类 实例 过滤Filtering 排序 分页Pagination 可选分页器 异常处理 Exceptions REST framework定义的异常 自动生成接口文档 安装依赖 设置接口文档访问路径 文档描述说明的定义位置 访问接口文档网页 Xadmin 安装 使用 限流Throttling 可以对接口访问的频次进行限制,以减轻服务器压力. 一般用于付费购买次数,投票等场景使用. 使用 可以在配置文件中,使用DEFAULT_THROTTLE_CLAS

生成 Qt 文档

个人总结 从命令行进入Qt安装目录 设置环境变量 set path=D:/mingw32/bin;D:/Qt/5.0.0/qtbase/bin;D:/icu/bin;D:/icu/lib 运行 mingw32-make docs 进入到qtbase/doc 将qtdoc.qch注册到asstant assistant -register qtdoc.qch ======================================================================

.net 提取注释生成API文档 帮助文档

提取注释生成API文档 一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险. 对于.Net,我们可以直接将类.方法等的注释直接转为API文档,极大地减少文档维护的工作量,同时也能反向提高大家的注释质量. 下面我们使用.Net唯一的注释生成API文档工具——Sandcastle和Sandcastle Help File Builder来实现API文档

.Net魔法堂:提取注释生成API文档

一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险. 对于.Net,我们可以直接将类.方法等的注释直接转为API文档,极大地减少文档维护的工作量,同时也能反向提高大家的注释质量. 下面我们使用.Net唯一的注释生成API文档工具——Sandcastle和Sandcastle Help File Builder来实现API文档自动化吧! 二.工具 S