利用ping命令的返回信息差异,以及re正则采集的策略 计算是否ping通
1.png
2.png
代码如下

import subprocess
import re
def ping_server(server_ip):
    try:
        output = subprocess.check_output(['ping', '-i', '4', server_ip])
        #return output.decode('ansi')
        result =output.decode('ansi')
        #return result
        match =re.findall(r'Average = \d',result)
        if match:
                return 1
        else:
                return 0
    except subprocess.CalledProcessError as e:
        #return e.output.decode('ansi')
        return 0
server_ip = '192.168.0.17'
result = ping_server(server_ip)
print(result)

标签: none