运维脚本: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端口扫描。

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

扫描二维码关注公众

原文地址:https://www.cnblogs.com/zhzblog/p/9583097.html

时间: 2024-10-21 17:02:16

运维脚本:python实现批量IP端口扫描的相关文章

python常用运维脚本实例【转】

file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先open是内置函数,使用方式是open('file_name', mode, buffering),返回值也是一个file对象,同样,以写模式打开文件如果不存在也会被创建一个新的. f=open('/tmp/hello','w') #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,

Linux Shell 运维脚本功底积累

1.删除Linux远程用户连接会话 [[email protected] logs]# w 10:45:28 up 15 days, 16:23, 4 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 - Sun21 4days 0.00s 0.00s -bash root pts/0 192.168.1.2 09:11 0.00s 0.07s 0

自动化运维系列之SaltStack批量部署Apache服务

自动化运维系列之SaltStack批量部署Apache服务 saltstack原理 SalStack由master和minion构成,master是服务端,表示一台服务器:minion是客户端,表示多台服务器.在Master上发送命令给符合条件的minion,Minion就会执行相应的命令.Master和Minion之间是通过ZeroMQ(消息队列)进行通信的. SaltStack的Master端的监听端口是4505和4506,4505端口是Master和Minion认证通信端口:4506端口是

运维学python之爬虫高级篇(六)scrapy模拟登陆

上一篇介绍了如何爬取豆瓣TOP250的相关内容,今天我们来模拟登陆GitHub. 1 环境配置 语言:Python 3.6.1 IDE: Pycharm 浏览器:firefox 抓包工具:fiddler 爬虫框架:Scrapy 1.5.0 操作系统:Windows 10 家庭中文版 2 爬取前分析 分析登陆提交信息分析登陆信息我使用的是fiddler,fiddler的使用方法就不作介绍了,大家可以自行搜索,首先我们打开github的登陆页面,输入用户名密码,提交查看fiddler获取的信息,我这

sql server自动化运维脚本

数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来.接触了很多的客户发现90%客户的运维策略都不是很完善.本篇就分享一些常规的运维脚本,本篇没有涉及到的或不足的也请大家留言无私贡献深藏多年的脚本,谢谢! 邮件 邮件主要用来监控作业是否运行成功,如果您已经配置了类似zabbix等软件请忽略. 配置邮件服务 --SQL Server 并没有内置邮件服务器(Mail Server),它跟我们发送邮件一样,需要用户名和密码通

运维脚本

参考链接:https://github.com/SwordfallYeung/BigData_AutomaticDeploy 自动化部署:https://gitee.com/lucky110100/sloth/tree/master Linux命令行与shell脚本编程大全案例:https://github.com/fengyuhetao/shell shell常用分析命令和脚本:https://github.com/zhwj184/shell-work linux 常用脚本:https://g

运维脚本规范

51运维脚本规范 目录 前言: 一.命名规范 1.1脚本命名 1.2变量命名 1.3参数命名 1.4函数命名规范 二.编写规范 2.1.基本信息 2.2代码注释规范 2.3空行 2.4缩进 2.5续行 2.6输出 2.7 调用系统变量 2.8 脚本中使用命令 2.9 输入与退出 三.调试 3.1 错误退出 3.2脚本语法检查 3.3调试 前言: 本规范目的是保证运维成员编码的统一. 本规范的核心规则就是脚本的命名规则. 此规范必要是可以打破. 一.命名规范 1.1脚本命名 脚本的名字需与其功能保

linux运维及Python运维免费公开课

适用人群:想从事linux运维及python运维开发的人员 企业网管.技术支持.linux运维人员.大中专学生 听课时间:2014年11月30日(周日)下午1:30 听课地点:北京市昌平区沙河青年创业大厦B座1519室(地铁昌平线沙河站B1口200米处) 听课内容: LINUX运维:(1.5小时) 1.软件开源的大发展趋势及如何把握这个趋势? 2.linux运维职位到底都做什么? 3.linux运维前景到底咋样? 4.到底是选择运维还是选择开发发展? 5.运维人员如何超越年薪30万,50万? 6

Python运维脚本整理

python检测指定端口状态 import socket sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sk.settimeout(1) for ip in range(0,254): try: sk.connect(("192.168.1."+str(ip),443)) print("192.168.1.%d server open \n"%ip) except Exception: print(&qu