端口监控脚本

简介: 端口监控脚本
#!/usr/bin/python#-*-coding:utf8-*-import time
import socket
import message_all
import dMonitorConfig
timeout =3socket.setdefaulttimeout(timeout)
send_mail =[]
def write(con):
    txt = open('/home/maxgao/port_send_count','a')
    txt.write("%s\n" %con)
    txt.close()
def tel(i,port,):
    try:
        port = int(port)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex((i, port))
if result ==0:
#         pass            print ("monitor %s:%s telnet ok" % (i,port ))
else:
            print 'first telnet error...try again'            print 'sleep 3 sec ...'            time.sleep(3)
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            result = sock.connect_ex((i, port))
if result ==0:
                pass
else:
                print "second telnet %s port %s is error !" %(i,port),starttime
                send_mail.append("%s :%s ClientSocket Error! " %(i,port))
        sock.close()
    except Exception as e:
        pass
def main():
# target =[dMonitorConfig.d_monitor,dMonitorConfig.local_port]# rs = {}# for t in target:#     rs.update(t)# print rssend_count=0hour=time.strftime("%Y-%m-%d %H", time.localtime( time.time() ) )
write(starttime)
for hostname,scanIP in dMonitorConfig.d_monitor.items():
        admin = scanIP[0]
#print type(admin),admin#print "localhost:",hostname+"admin is:",scanIP[0]+"remote ip :",scanIP[1:] for remotelist in scanIP[1:]:
            remoteIP = remotelist.split(":")[0]
            remotePort = remotelist.split(":")[1]
            tel(remoteIP,remotePort)
    print send_mail
    f = open('/home/maxgao/port_send_count','r')
for con in f.readlines():
if hour in con:
            send_count+=1if len(send_mail)>=1 and send_count <=5:
        message_all.mailTo("ops_monitor",["xxx@163.com"],"Port Scan Report","监控点%s --   请求异常IP及端口信息 %s" % (hostname,send_mail))
write(hour)
if __name__ =="__main__":
    starttime = time.ctime(time.time())
    print starttime
    main()
#stoptime = time.ctime(time.time())


目录
相关文章
|
监控 网络协议 Unix
Linux命令-nc(端口监控、文件传输、反弹shell等)
Linux命令-nc(端口监控、文件传输、反弹shell等)
831 0
|
数据采集 Prometheus 监控
监控利器之Prometheus基于Blackbox_exporter监控服务的端口
监控利器之Prometheus基于Blackbox_exporter监控服务的端口
742 0
|
12月前
|
监控 网络协议 数据库连接
Python3 监控端口:使用 socket 库
Python3 监控端口:使用 socket 库
179 1
|
12月前
|
监控 网络协议 数据库连接
Python3 监控端口:使用 socket 库
Python3 监控端口:使用 socket 库
147 0
|
运维 Python Windows
如何通过Python脚本查找并终止占用指定端口的进程
在日常的开发和运维过程中,某些端口被意外占用是一个常见的问题。这种情况可能导致服务无法启动或冲突。本文将介绍如何通过Python脚本查找并终止占用指定端口的进程,以确保系统的正常运行。
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
106 0
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
76 0
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
234 0
|
Shell
Shell脚本检测服务器或者ip哪些端口是开放的都是开放了哪些端口
Shell脚本检测服务器或者ip哪些端口是开放的都是开放了哪些端口
132 0
|
监控 网络协议 Linux
linux(三十五)网络状态和端口监控 netstat
linux(三十五)网络状态和端口监控 netstat
181 1