利用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 = "admin@qq.com"
receiver = ["admin@qq.com"]
host = 'smtp.qq.com'
passwd = 'xxxxx'
port = 465
content = '端口:%r 故障' % p
msg = MIMEText(content)
msg['From'] = "admin@qq.com"
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)
利用socket模块检查端口存活并邮件警报的更多相关文章
- 【Python】socket模块应用
[Socket] 本文记录了一些socket模块的简单应用,对于具体原理还没来得及深究. ■ 利用socket模块进行端口连接验证和扫描 在linux中常用nc命令来进行远端端口是否开放的验证.但是这 ...
- 面向对象及os模块、socket模块
1.面向对象及面向过程 1)面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 缺点:扩展性差 ...
- 【Android编程】Java利用Socket类编写Metasploit安卓载荷辅助模块
/作者:Kali_MG1937 CSDN博客:ALDYS4 QQ:3496925334/ 注意!此文章被作者标记到 黑历史 专栏中,这意味着本篇文章可能存在 质量低下,流水账文,笔法低质 的问题 为了 ...
- python程序—利用socket监控端口
利用socket监控服务器端口,端口不通时,发邮件提醒 import yagmail #导入yagmail模块 import re #导入re模块,进行正则匹配 import socket #导入so ...
- 如何利用python监控主机存活并邮件、短信通知
功能: 1.使用定时任务执行脚本,检查主机存活信息2.将主机存活信息写入指定文件3.发现宕机的主机后给用户发邮件提醒备注:因为139邮箱在接受到邮件后会自动给用户发送条短信告知(且此服务免费),所以间 ...
- Python的Asyncore异步Socket模块及实现端口转发的例子
Python的Asyncore异步Socket模块及实现端口转发的例子 Asyncore模块提供了以异步的方式写入套接字服务客户端和服务器的基础结构. 只有两种方式使一个程序在单处理器上实现" ...
- 第10章 同步设备I/O和异步设备I/O(4)_利用I/O完成端口实现Socket通信
I/O完成端口原理见上一篇(可点击这里) 10.5.4.4 利用I/O完成端口实现Socket通信 (1)Accept和AcceptEx流程的比较 ①采用accept方式的流程示意图如下(普通的阻塞函 ...
- 第五十三节,socket模块介绍,socket单线程通讯
socket单线程通讯,只能单线程通讯,不能并发 socket是基于(TCP.UDP.IP)的通讯.也叫做套接字 通讯过程由服务端的socket处理信息发送,由客户端的socket处理信息接收. so ...
- python学习记录-socket模块
主要使用的模块是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套接字对象.套接字也有自己的方法集,这些方法可以实现基于套接字的网络通信. 1.socket类型 构造函数: ...
随机推荐
- 基于AFN的多张图片上传
不废话,直接上代码 NSString *urlString = [NSString stringWithFormat:@"http://192.168.1.166:8080/Discipli ...
- 主机无法访问虚拟机的httpd服务
症状:虚拟机装的centos6.3 通过桥接的方式与主机连接 虚拟机通过yum安装httpd服务 在主机浏览器中输入 虚拟机ip 无法访问虚拟机Apache 虚拟机和主机可以相互ping通 解决:关 ...
- 6、iOS快速枚举
今天在写程序的时候想在当前视图跳转的时候释放掉当前视图上面add的一些子视图.因为add的子视图有些是在别的类里面add进来的,当前页面不知道自己当前有哪几个类型的子视图.这样,我就想到了用循环遍历来 ...
- 101个linq例子
FirstOrDefault - Simple public void Linq61() { int[] numbers = { }; int firstNumOrDefault = numbers. ...
- php 分析
php code in D:\10\11\php test in D:\10\11\php\test issue 1: <html><head><title>标记 ...
- Voting
Voting time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- 移动端rem适配问题
将下面这段代码,放在头部的script标签里,可解决字体适配问题 比例是28px = 1rem function __setFontSize__(){document.documentElement. ...
- ubuntu tips
1.ibus-setup 2.tips:
- Nginx将项目配置在子目录
问题:一个完整的项目需要整合在另外一个项目中,作为一个子模块存在 有两个项目prject1 根目录/www/project1与project2 /www/project2,现在是想将probject1 ...
- 打开新世界的第一步:学习servlet
什么是servlet? 是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容. 创建servlet 一.创建一个web project 1)流程:eclipse-F ...