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

import socket

def get_ip_status(ip,port):
    server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        server.connect((ip,port))
        print(‘{0} port {1} is open‘.format(ip,port))
    except Exception as err:
        print(‘{0} port {1} is down‘.format(ip,port))
        send_mail(ip,port)//宕机就发送邮件
    finally:
        server.close()

def send_mail(ip,port):
    fromAddr = "*********@126.com"
    toAddr = "*********@126.com"
    password = "************"
    smtp_server = "smtp.126.com"
    import smtplib
    from email.mime.text import MIMEText
    msg = MIMEText("Test body")  //处理邮件文本内容
    msg[‘Subject‘] = "the {0}:{1} is down".format(ip,port)
    //msg[‘Subject‘] = ‘%s %d is down!!!‘ %(ip,port)
    server = smtplib.SMTP(smtp_server,25)
    server.login(fromAddr,password)
    server.sendmail(fromAddr,toAddr,msg.as_string())

‘‘‘
if __name__ == ‘__main__‘:
    host = ‘172.16.60.223‘
    port = [9000,9001,9002,9003,9008,9009]
    for p in port:
        get_ip_status(host,p)
        ‘‘‘
//多个ip不同端口扫描
if __name__ == ‘__main__‘:
    host_port = {‘172.16.60.223‘:[9000,9001,9002,9003,9008,9009],‘172.16.60.40‘:[8003,8004,8005,8007,8011]}
    for h,p in host_port.items():
        for p in p:
            get_ip_status(h,p)

原文地址:https://www.cnblogs.com/linyouyi/p/10529481.html

时间: 2024-08-27 10:38:07

python实现端口扫描监控,宕机则发送邮件的相关文章

Python实现端口扫描

误删了之前的shell脚本,之前的shell脚本因为扩展性不强,就打算用python来重新实现. 端口扫描的方法特别多,我这里是把结果处理成json格式,交给后端的django来处理. #!/usr/bin/env python # -*- coding: utf-8 -*- """ Date:2018-05-14 Author:Bob Description:Processing nmap scan results """ import os

Python实现端口扫描,只需做这几步走战略

一.常见端口扫描的原理 0.秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术. 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己. 秘密扫描能躲避IDS.防火墙.包过滤器和日志审计,从而获取目标端口的开放或关闭的信息.由于没有包含TCP 3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽. 但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包.现有的秘密扫描有TCP FIN扫描.TCP ACK扫描.NULL扫描.XMAS扫描和

Python常用端口扫描

from socket import *import sys host=sys.argv[1]service={'21':'FTP','23':'Telnet','25':'SMTP','53':'DNS','69':'TFTP','80':'HTTP','135':'RPC','137':'NetBIOS','139':'Samba','443':'HTTPS','1080':'SOCKS','1521':'Oracle','1433':'SQL_Server','3306':'MySQL',

【IT运维监控】集团宕机引发对运维人员的思考 

前不久某大型集团官网和APP突然无法正常使用引发热议,不少人幸灾乐祸,也引发出了各种的谣言和段子,根本难以体会集团内部所受的压力,特别是作为一个大集团内部的运维人员所承受的各种压力和不安. 后 来,原支付宝运维团队负责人针对此事发表了一篇文章,让不少的运维人员深有感触,作为肩负运维监控使命的运维监控工具--PIGOSS BSM 也同样感同身受.面对层出不穷的运维安全隐患,当下运维人员急需一套高效的7*24小时都能担负监控任务的工具,为自身的运维工作减负,告别之前加班熬夜 但没有工作成绩的"怪现像

Python 第三方模块pythonnmap来实现高效的端口扫描

Python_Clamad 实现高效的端口扫描器pythonnmap Python的第三方模块pythonnmap来实现高效的端口扫描 python-nmap模块的安装方法如下: yum -y install nmap #安装nmap工具 pip install python-nmap #模块源码安装 ## https://pypi.python.org/pypi/python-nmap tar -zxvf python-nmap-0.1.4.tar.gz cd python-nmap-0.1.

Python 脚本学习笔记(五)集中式病毒扫描,端口扫描以及分段数据库操作

Clam AntiVirus是一个免费而且开放源码的防毒软件,软件与病毒库的更新由开源社区免费发布,目前ClamdAV主要为Linux.Uinux系统提供病毒扫描查杀pyClamad是一个python的第三方模块,可让python直接使用ClamAV病毒扫描守护进程clamd来实现一个高效的病毒检测功能. 一.实现集中式的病毒扫描 1.安装clamavp clamd 服务的相关程序包 yum install clamav clamd clamav-update -y chkconfig clam

zookeeper模拟监控服务节点宕机

/**   * 模拟监控服务节点宕机   * 思路:   *  节点上线的时候,往/watch下创建一个节点,然后监控该节点,记录事件类型,判断节点是否宕机   * @throws Exception   */  public static void watch() throws Exception {   while(true) {    final ZooKeeper zkClient = new ZooKeeper("192.168.1.231,192.168.1.232,192.168.

server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh

宕机监控报警程序 一.   需求来源 宕机对运维人员来说,最痛苦了.怎样检測一台server是否还在正常执行,假设该server宕机,怎样在第一时间监測到并通知一线运维人员进行维护,最大化降低损失. 二.   程序功能 对指定server进行宕机监測,假设确实宕机,则发送email到139邮箱(绑定手机,实现短信报警) 三.源程序 #!/bin/bash #author longxibendi #blog http://blog.csdn.net/longxibendi #function pi

python写的端口扫描脚本

今天看到群里哥们发了一个需求,如下: "如何批量检测一批主机的端口,是否存在,端口都是对外的",感觉不难,就用py写了个小脚本,有问题的地方,还望大家指出,谢谢! #!/usr/bin/env python import socket file = "C:\Users\Administrator\py_demo\ip.txt" port = 80 a = open(file, 'r') b = a.readlines() a.close() for i in b: