Python检测服务器是否在线以及特定端口是否开放

from telnetlib import Telnet
import pythonping


servers={
    # 服务器地址及需要检测的端口列表
    "192.168.1.1":[80,3389,123],
    "baidu.com":[80,443]
}

for  server in servers:
    print(f"开始ping服务器{server}:")
    res = pythonping.ping(server,5) # 超时时间5s
    for line in res:
        if "Reply" in str(line):
            print("OK")
        else:
            print("Failed")

    for port in servers[server]:
        print(f"开始检测服务器{server}端口{port}:")
        try:
            Telnet(server, port,5)  # 超时时间5s
            print("OK")
        except:
            print("Failed")

控制台输出:

开始ping服务器192.168.1.1:
Failed
Failed
Failed
Failed
开始检测服务器192.168.1.1端口80:
Failed
开始检测服务器192.168.1.1端口3389:
Failed
开始ping服务器baidu.com:
OK
OK
OK
OK
开始检测服务器baidu.com端口80:
OK
开始检测服务器baidu.com端口443:
OK

你可能感兴趣的:(服务器,运维,python)