利用socket模块检查端口存活并邮件警报

可以用来监控一些端口。

import socket
def check_server(addr, port):
    s = socket.socket()
    try:
        s.connect((addr, port))
        return True
    except socket.error:
        return False
def alert(p):
    from email.mime.text import MIMEText
    import smtplib
    sender = "[email protected]"
    receiver = ["[email protected]"]
    host = ‘smtp.qq.com‘
    passwd = ‘xxxxx‘
    port = 465
    content = ‘端口:%r 故障‘ % p
    msg = MIMEText(content)
    msg[‘From‘] = "[email protected]"
    msg[‘To‘] =‘;‘.join(receiver)
    msg[‘Subject‘] = "vps警报"
    try:
        smtp = smtplib.SMTP_SSL(host, port)
        smtp.login(sender, passwd)
        smtp.sendmail(sender, receiver, msg.as_string())
    except Exception:
        print("error")
if __name__==‘__main__‘:
    for p in [443, 2280]:
        result = check_server(‘23.188.2.75‘, p)
        if not result:
            alert(p)
时间: 2024-10-25 04:04:37

利用socket模块检查端口存活并邮件警报的相关文章

如何利用python监控主机存活并邮件、短信通知

功能: 1.使用定时任务执行脚本,检查主机存活信息2.将主机存活信息写入指定文件3.发现宕机的主机后给用户发邮件提醒备注:因为139邮箱在接受到邮件后会自动给用户发送条短信告知(且此服务免费),所以间接的实现了短信提醒功能. 代码如下: # -*- coding: utf-8 -*- import os import time import smtplib from email.mime.text import MIMEText from email.header import Header #

利用perl模块发邮件

vim sendmail.pl #!/usr/bin/perl -w use MIME::Lite; sub perl_sendmail {         my $mail_to=shift;         #my $mail_to="$_[0]";         my $from=shift;         #my $from = "$_[1]";         my $subject=shift;         #my $subject = &quo

nc命令检查端口是否存活脚本

nc命令检查端口是否存活 #!/bin/bash for IP in `cat /log/ip_ubt.txt` do IPP="$IP 22" /bin/nc -v -w 5 -z $IPP > /dev/null 2>&1 if [ $? -eq 0 ];then echo $IPP:ok >> /log/ssh_22_ok.txt echo $IP >> /log/ssh_22.txt fi done

python基础===socket模块的讲解(转)

一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听.两端使用各自的socket来发送和 接收信息. 在使用的时候,每个socket都被绑定到一个特定的IP地址和端口.IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,220,176,36,76):端口数值的取

Python的socket模块详解

一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听.两端使用各自的socket来发送和 接收信息. 在使用的时候,每个socket都被绑定到一个特定的IP地址和端口.IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,220,176,36,76):端口数值的取

Python中的socket 模块

Python 提供了两个基本的 socket 模块.第一个是 Socket,它提供了标准的 BSD Sockets API.第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发. 下面先讲的是Socket模块功能 1.Socket 类型 套接字格式: socket(family,type[,protocal]) 使用给定的地址族.套接字类型.协议编号(默认为0)来创建套接字.socket类型描述socket.AF_UNIX只能够用于单一的Unix系统进程间通信so

socket编程--socket模块介绍

socket也称作'套接字,用于描述IP地址和端口,是一个通信的终点. socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) socket和file的区别: file模块是针对某个指定文件进行[打开][读写][关闭] socket模块是针对 服务器端 和 客户端Socket 进行[打

[python网络编程]利用socket编写简单的服务器

利用socket编写简单的服务器 步骤解析 建立socket对象 这一步跟我们上次使用socket做客户端是一样的,都需要有一个socket连接 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 设置socket选项(setsockopt) 选项介绍setsockopt(set socket option),参数设置格式:setsockopt(level,optname,value) 各选项的关系:1.level:level的设定决定了op

socket模块(套接字模块)

socket模块(套接字模块) 一.最简单版本(互传一次就结束) # 客户端 import socket client = socket.socket() client.connect(('127.0.0.1', 8080)) # 8080是端口号 ''' 来源百度百科 '127.0.0.1'是本机回还地址,不属于任何一个有类别地址类.它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口.在Windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址.一般