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

转自左手_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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,871评论 9 468
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,354评论 25 709
  • 国际规定:把所有的IP地址划分为A,B,C,D,E。 A类地址:范围从0~127,0是保留的并且表示所有IP地址,...
    日风和阅读 21,483评论 1 8
  • 秋风中,你向一棵大树走去, 大树一直在看你。 看你憔悴的面容, 还有那,被阳光拉得长长的背影。 当你与大树无限接近...
    小剧在成长阅读 1,807评论 2 6
  • 三十岁后,相由薪生 2017年01月30日 星期一 天气:妖风四起 不要安于现状 不要总是让自己的生活活在舒适区 ...
    花语工坊A叶子阅读 2,299评论 0 0