Python实现远程端口监控实例[python高级]

python循环监控远程端口

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

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

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

" %(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 

" %(ip,port,datenow)

      print logstr

      file.write(logstr)

      file.close()

  print "sleep 10....."

  time.sleep(10)

ip.txt格式文件:

192.168.1.100 33001

192.168.1.101 33001

以上是 Python实现远程端口监控实例[python高级] 的全部内容, 来源链接: utcz.com/z/540087.html

回到顶部