python程序—利用socket监控端口

利用socket监控服务器端口,端口不通时,发邮件提醒

import yagmail #导入yagmail模块
import re  #导入re模块,进行正则匹配
import socket #导入socket模块

def sendmail(subject,contents):
    #连接邮箱服务器
    yag = yagmail.SMTP(user='发件人邮箱',password='授权密码',host='smtp.163.com')
    #发送邮件
    yag.send(to='收件人邮箱',subject=subject, contents=contents)
    #断开连接
    yag.close()

hosts = ['1.1.1.1:90','2.2.2.2:8080','127.0.0.1:80','3.3.3.3:50','192.168.1.1:9090'] #监测的服务器IP和端口

for host in hosts:
    ip = re.compile('(.*?):(.*)').search(host).group(1) #正则匹配,过滤出IP
    port = re.compile('(.*?):(.*)').search(host).group(2) #正则匹配,过滤出端口号
    server = socket.socket()#tcp协议
    server.settimeout(1)#设置超时时间
    res = server.connect_ex((ip,int(port))) #res == 0代表端口号启用|res != 0代表端口号没启用

    if res != 0:
        subject='端口监测结果'
        contents='%s---%s:不通' % (ip, port)
        sendmail(subject,contents)

 

转载于:https://www.cnblogs.com/leeeel/p/10790742.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值