运维脚本:python实现批量IP端口扫描

Posted zhanghz_fantasy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维脚本:python实现批量IP端口扫描相关的知识,希望对你有一定的参考价值。

运维脚本:python实现批量IP端口扫描

专注网络运维,只发实用干货

扫描二维码关注公众

技术分享图片

    今天不想更新,发一篇存货,分享一小段python代码给大家,能实现简单的批量端口扫描,废话不多说,先上代码:

===========================================================

# -*- coding: utf-8 -*-

import socket

import time

import xlrd

import threading

 

hostfile = xlrd.open_workbook(‘port_scan.xlsx‘)    #调用扫描目标表格文件

table_list = hostfile.sheet_by_index(0)                  #读取表格中的第一个sheet页

hang = table_list.nrows

lie = table_list.ncols

print ("Total hosts: %d" % (hang-1))

 

 

def scan(deviceID,hostname,hostip,PORT):

    try:

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        s.settimeout(5)    #超时时间

        s.connect((hostip,PORT))

        print (‘%d_%s %s %s OPEN‘ % (deviceID,hostname,hostip,PORT))

    except:

        print (‘%d_%s %s %s CLOSE‘ % (deviceID,hostname,hostip,PORT))

    s.close()

 

for deviceID in range(1, hang):

    hostname = table_list.cell(deviceID, 0).value

    hostip = table_list.cell(deviceID, 1).value

    PORT = int(table_list.cell(deviceID, 2).value)

    threading.Thread(target=scan,args=(deviceID,hostname,hostip,PORT)).start()

    time.sleep(0.2)    #间隔时间可以自己调

time.sleep(10)

input(‘Enter Quit:‘)

===========================================================

 

运行前准备工作:

1,制定扫描目标,保存为 .xlsx 的execl表格,格式如下:

业务名称 IP地址 端口号
邮箱 1.1.1.1 25
WEB 2.2.2.2 80
远程桌面 3.3.3.3 3389

2,安装python 3

3,需要安装的外部库:xlrd(表格读取)

     安装命令:pip install xlrd

 

亲测有效,需要扫描的主机和端口在表格中填好就行,适用于多个不同主机和端口的批量扫描,不适用单个IP的1-65535端口扫描。

 

 

专注网络运维,只发实用干货

扫描二维码关注公众

技术分享图片

以上是关于运维脚本:python实现批量IP端口扫描的主要内容,如果未能解决你的问题,请参考以下文章

Python脚本--端口扫描器

如何使用nmap扫描一个已知ip段的主机开放了哪些服务

Linux下nmap扫描端口shell脚本

VB6.0 扫描端口

python实现端口扫描监控,宕机则发送邮件

Python实现端口扫描