python 批量监测端口情况的实现代码

发布时间:2020-10-10编辑:脚本学堂
如何用python批量监测服务器的端口情况呢?为大家分享一例python代码,用于批量检测本机及网络端口开放情况,感兴趣的朋友参考下。

参考网上的一些资料,考虑到实际使用场景进行了相关完善,可用于批量检测本机及网络端口开放情况。

首先,ip.txt 格式:
 

192.168.1.100 33001
192.168.1.101 33001

用于批量监测端口情况的代码,如下:
 

复制代码 代码示例:
#!/usr/bin/env python
# -*- coding: gbk -*-
# site: www.jb200.com
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)