检测端口状态的python脚本

#!/usr/bin/env python
import os,subprocess,socket,time,sys
from urllib import urlencode
from socket import gethostname

def check_port():
        port = [8091,8080]
        failed_port = []
        for _each_port in port:
                #print i
                try:
                        sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                        sk.settimeout(2)
                        sk.connect((‘localhost‘,_each_port))
                        sk.close
                        now = time.strftime("%Y-%m-%d %H:%M:%S")
                        tt = "check port success!"
                        logfile = "/home/op/check.log"
                        f = open(logfile,‘a+‘)
                        f.write(now + " " + tt + "\n")
                        f.close()
                except socket.error:
                        failed_port.append(_each_port)

        for _each_port in failed_port:
                name = gethostname()
                message = "host: %s port: %d down" %(name, _each_port)
                tel = [电话号码]
                for _each_phone in tel:
                        data = {
                                "phone": _each_phone,
                                "message": message
                        }
                        command=‘curl "http://"短信接口ip":8080/message.php?%s"‘ %(urlencode(data))
                        print command
                        ck = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
                        std_ok, std_err = ck.communicate(input=None)
                        #print std_ok
                        #print std_err

if __name__ == ‘__main__‘:
        check_port()
时间: 2024-08-01 12:51:16

检测端口状态的python脚本的相关文章

shell 脚本检测端口状态

方法一: # cat check_port.sh #!/bin/bash cat ip.txt|while read line do /usr/bin/nc -w 1 -z $line > /dev/null 2>&1 if [ $? -eq 0 ] then echo telnet $line ok sleep 1 else echo telnet $line fail fi done # cat ip.txt 124.234.83.15 80 124.234.83.10 80 原文

转载大神的检测网站重定向的python脚本

#!/usr/bin/env python #coding=utf8 import sys import requests def check_for_redirects(url): try: r =requests.get(url,allow_redirects=False,timeout=0.5) if 300 <= r.status_code < 400: return r.headers['location'] else: return '[no redirect]' except r

每日一道shell练习(06)——检测端口服务

1. 题目 写一个脚本,判断本机的80端口(假设服务为httpd)是否开启着,如果开启着就什么都不做,如果发现端口不存在,那么重启一下httpd服务,并发邮件通知你自己.脚本写好后,每分钟执行一次,也可以写一个死循环的脚本,30S检查一次. 2. 习题分析 首先,我们要区分要求,这里的要求是检测80端口是否在监听,而不是检测httpd服务是否运行,虽然两者有一定的联系,但并不是对等的关系.检测端口状态用 netstat -lntp 命令.如果要求检测远程主机的端口状态,则用一下的命令: nmap

python脚本批量修改华为交换机端口配置

用python写的,主要是telnetlib库的应用,华为交换机批量修改端口配置,把已经UP的端口做一个port sec的mac sticky绑定,DOWN的端口,就clear配置信息. 使用前,先在交换机上 dis int bri,查出交换机的端口状态信息并复制到此脚本同目录下,以 IP.txt这样的格式命名的文件(比如 192.168.0.1对应 192.168.0.1.txt),以下内容记得把IP跟账号密码改成自己的. import sys,os,telnetlib,re ip = '你的

python脚本实现集群检测和管理

python脚本实现集群检测和管理 场景是这样的:一个生产机房,会有很多的测试机器和生产机器(也就是30台左右吧),由于管理较为混乱导致了哪台机器有人用.哪台机器没人用都不清楚,从而产生了一个想法--利用一台机器来管理所有的机器,记录设备责任人.设备使用状态等等信息....那么,为什么选择python,python足够简单并且拥有丰富的第三方库的支持. 最初的想法 由于刚参加工作不久,对这些东西也都没有接触过,轮岗到某个部门需要做出点东西来(项目是什么还没情况,就要做出东西来,没办法硬着头皮想点

线上一个简单检测Ping状态的邮件报警脚本

Step1.安装sendmail来发邮件 # yum -y install sendmail # /etc/init.d/sendmail start # chkconfig sendmail on Step2.安装邮件客户端 # yum -y install mutt 2.1添加发件人信息,如下 # vim /etc/Muttrc set charset="utf-8"           #设置发邮件编码 set envelope_from=yes set rfc2047_para

一个检测应用状态的脚本

#!/bin/sh #Description:       Check ICE3.0 State #Last Update:       2014/06/11/01 WORKDIR=`pwd` export REPORTDIR=$WORKDIR/`date "+%Y%m%d%H%M%S"` export TG=`date "+%Y%m%d%H%M%S"` export BEGIN=`date -d "-1 hour" "+%H:%M:%

扫描端口占用情况的python脚本

之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况.由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结. 一.python脚本实现扫描端口: pthon2下代码如下(当时的环境): #!/usr/bin/env python # -*- coding:utf-8 -*- # used for pthon2.*    import socket, time, thread socket.setdefaulttimeout(3) #设

python实现端口状态扫描

要实现端口状态扫描需要用到python的namp模块. 先到地址:https://pypi.python.org/pypi/python-nmap下载namp的软件包. 我这里下载的是0.6.1版本,OS是centos 7. 执行如下命令安装namp模块: cd python-nmap-0.6.1 python setup install python实现代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #python version:  P