• ping ip


    def ip_and_time():
        """
        get ip to ping from ip.txt
        then return two list , each ip that ping successfully and the delay time of them
        :return
        """
    
        time_list, ip_list = [], []
        ip_txt = open('ip.txt', 'w')
        ip_success, ip_fail = 0, 0
        log_write = open('log.txt', 'a')
        for ip in get_ip():
            # 每个ip ping2次,等待时间为1s
            cmd_return = os.popen('ping -n 2 -w 1 %s' % ip).read()
            if 'ms' in cmd_return:
                ip_list.append(ip.strip())
                delay = cmd_return[cmd_return.rfind('='):]
                delay_time = int(delay.replace('ms', '').replace('=', ''))
                if delay_time <= 50:
                    delay_time = 150
                    time_list.append(delay_time)
                    ip_success += 1
                elif 50 < int(delay_time) <= 100:
                    delay_time = 200
                    time_list.append(delay_time)
                    ip_success += 1
                elif 100 < int(delay_time) <= 150:
                    delay_time = 250
                    time_list.append(delay_time)
                    ip_success += 1
                elif 150 < int(delay_time) <= 200:
                    delay_time = 300
                    time_list.append(delay_time)
                    ip_success += 1
                elif 200 < int(delay_time) <= 250:
                    delay_time = 350
                    time_list.append(delay_time)
                    ip_success += 1
                elif 250 < int(delay_time) <= 300:
                    delay_time = 400
                    time_list.append(delay_time)
                    ip_success += 1
                elif 300 < int(delay_time) <= 350:
                    delay_time = 450
                    time_list.append(delay_time)
                    ip_success += 1
                elif 350 < int(delay_time) <= 400:
                    delay_time = 500
                    time_list.append(delay_time)
                    ip_success += 1
                else:
                    delay_time = 550
                    time_list.append(delay_time)
                    ip_success += 1
            elif len(cmd_return) <= 160:
                # 当ping2次时窗口输出字符串长度小于160记为超时,否则记为传输过期
                ip_list.append(ip.strip())
                time_list.append(400)
                ip_fail += 1
            else:
                ip_list.append(ip.strip())
                time_list.append(400)
                ip_fail += 1
    
        log_write.close()
        ip_txt.close()
        return ip_list, time_list
  • 相关阅读:
    redo log 转csdn之ppp_10001
    Kafka的topic的partitions数的选取
    log4j:WARN No appenders could be found for logger
    HBase统计表的行数
    /bin/bash: /us/rbin/jdk1.8.0/bin/java: No such file or directory
    HBase shell命令
    Linux按名字杀死进程
    Kafka常用命令
    Plugin 'mavenassemblyplugin:' not found
    Linux搜索指定目录中所有文件的内容
  • 原文地址:https://www.cnblogs.com/vickey-wu/p/8274578.html
Copyright © 2020-2023  润新知