[转] python 批量监测端口情况

2016-08-07  本文已影响423人  landwind

转自左手_wanggy
原文地址:[http://blog.chinaunix.net/uid-27050514-id-3993740.html]
最近有客户反应,他们的呼叫中心系统经常会出现弹屏后,电话无法转接的情况。经初步判断排除是软件问题,应该是二个网络连接有闪断或延时的问题,但对方认为是系统不可靠,自己的网络没有问题,要我们拿出证据来。
原来考虑随便下载个软件监检下,但考虑到在网系统,最后还是考虑用python。
这个脚本参考了网上的一些资料,考虑到实际使用场景完善,可用于批量检测本机及网络端口开放情况。 仅供参考。
ip.txt 格式:
192.168.1.100 33001
192.168.1.101 33001

#!/usr/bin/env python
# -*- coding: gbk -*-
import socket,time
while 1:
    file_obj = open('ip.txt')
    for line in file_obj:
        try:
            sc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
            ip = line.split()[0]
            port = int(line.split()[1])
            print ip,port
            #设置超时时间(0.0)
            sc.settimeout(2)
            sc.connect((ip,port))
            timenow=time.localtime()
            datenow = time.strftime('%Y-%m-%d %H:%M:%S', timenow)
            logstr="%s:%s 连接成功->%s \n" %(ip,port,datenow)
            print logstr
            sc.close()
        except:
            file = open("log.txt", "a")
            timenow=time.localtime()
            datenow = time.strftime('%Y-%m-%d %H:%M:%S', timenow)
            logstr="%s:%s 连接失败->%s \n" %(ip,port,datenow)
            print logstr
            file.write(logstr)
            file.close()
    print "sleep 10....."
    time.sleep(10)
上一篇 下一篇

猜你喜欢

热点阅读