Python侦测VPN网路是否可连线 - Python练习题二

公司为跨国企业, 与工厂间的数据利用VPN进行资料交换, 利用Python配合Windows的排程记录各站点间网路的状况

import reimport socketimport datetimedef internet_on(server_addr):    """测试网路是否可连线    参数: server_addr    """    try:        ip_reg = re.compile('^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$')        is_ip = ip_reg.match(server_addr)        #print("checking internet connection..")        socket.setdefaulttimeout(5)        if is_ip is None:            host = socket.gethostbyname(server_addr)        else:            host = server_addr        s = socket.create_connection((host, 80), 2) #time out 会 raise socket.timeout("timed out")        s.close()        #print('internet on.')        return True    except: #Exception as e:        #print(e)        #print("internet off.")        return False        def write_log(file_name, msg):    with open(file_name, 'a', encoding='utf-8') as file_obj:        file_obj.write(msg) # vpn server 地址db_ip = {"RichPine":"192.168.0.1", "RichWay":"192.168.1.1", "EverBest":"192.168.2.1", "Google":"www.google.com"}for fty_name in db_ip:    dt_now = datetime.datetime.now()    file_name = dt_now.strftime('%Y%m%d') + '_' + fty_name + '.log'    msg =  dt_now.strftime('%Y-%m-%d %H:%M:%S')    result = internet_on(db_ip[fty_name])    if result == False:        msg = msg + ' : off ----------\n'     else:        msg = msg + ' : on\n'    #print(fty_name, db_ip[fty_name], result, file_name, msg)    write_log(file_name, msg)

执行结果
http://img2.58codes.com/2024/20098325r2Nb2dANBq.jpg


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章