• 技术文章 >Python技术 >Python高级

    Python实现远程端口监控实例

    PythonPython2019-06-24 10:47:21原创3618
    python循环监控远程端口

    建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

    在ip.txt中每行一个ip地址和端口号,代码可循环监控这些ip地址的指定端口是否正常

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    #!/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)

    ip.txt格式文件:

    1

    2

    192.168.1.100 33001

    192.168.1.101 33001

    专题推荐:python
    上一篇:详解Python中的Thread线程模块 下一篇:Python与Shell脚本的交互

    相关文章推荐

    • Python中的Cookie模块有什么功能?• Python中怎么使用with语句?• Python怎么实现模式匹配

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网