使用python的nmap模块扫描主机生成csv文档
admin
2023-01-29 23:05:24
0

脚本如下,需要用到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
需要扫描的端口用逗号分隔
使用grep 过滤结果
grep -E '22|3389'
'''

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 = []
        # ports_list_len = 0
    for port in ports:
        if tcp[port]["state"] == "open":
            ports_list.append("{}".format(port))
                        # ports_list_len += 1
        else:
            ports_list.append("")
#    if ports_list_len != 0:
#        print("{},{},{}".format(host, mac, ",".join(ports_list)))
    print("{},{},{}".format(host, mac, ",".join(ports_list)))

相关内容

热门资讯

今日重大通报“边锋老友麻将.真... 今日重大通报“边锋老友麻将.真的有挂吗?”太坑了原来有挂您好,边锋老友麻将这个游戏其实有挂的,确实是...
我来教教您“新毛豆牛牛.怎么开... 我来教教您“新毛豆牛牛.怎么开挂?”果然有透视挂您好,新毛豆牛牛这个游戏其实有挂的,确实是有挂的,需...
终于了解“新毛豆炸金花.怎么装... 家人们!今天小编来为大家解答新毛豆炸金花透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
玩家攻略科普“西南九九.怎么开... 网上科普关于“西南九九有没有挂”话题很是火热,小编也是针对西南九九作*弊开挂的方法以及开挂对应的知识...
我来教教您“红黑大战.怎么装挂... 家人们!今天小编来为大家解答红黑大战透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
【今日要闻】“飞鹰互娱.是不是... 有 亲,根据资深记者爆料飞鹰互娱是可以开挂的,确实有挂(咨询软件无需打开...
【第一资讯】“欢聚水鱼.怎么开... 【第一资讯】“欢聚水鱼.怎么开挂?”太坑了果然有挂您好,欢聚水鱼这个游戏其实有挂的,确实是有挂的,需...
终于明白“全民比鸡.可以开挂吗... 有 亲,根据资深记者爆料全民比鸡是可以开挂的,确实有挂(咨询软件无需打开...
最新引进“掌酷十三张.开挂神器... 您好:掌酷十三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
【第一消息】“蛮王牛牛.开挂神... 网上科普关于“蛮王牛牛有没有挂”话题很是火热,小编也是针对蛮王牛牛作*弊开挂的方法以及开挂对应的知识...