python脚本实现公司办公网ip段落使用情况
admin
2023-07-24 19:43:16
0

由于公司使用的是VMware虚拟化技术,每次创建虚机都要分配一个连接外网的ip地址,另外公司规模扩大,新人也需要分配ip地址,那么很容易造成ip地址的烂用和ip地址的冲突,

所以决定通过一个脚本进行ip的空闲使用情况进行排查,减少运维的时间成本,较少ip冲突的情况:

脚本内容如下:

如果要使用可以修改成自己公司的ip地址即可:


# /usr/bin/env python

#-*-conding:utf-8-*-

import subprocess

import threading

import time

import re


ip_num = 256

list_ping_result = []



class PingThread(threading.Thread):

    def __init__(self, str_ip, sleep_time, g_list_p_r):

        threading.Thread.__init__(self)

        self.sleep_time = sleep_time

        self.str_ip = str_ip

        self.list_p_r = g_list_p_r


    def run(self):

        time.sleep(self.sleep_time)

        ftp_sub = subprocess.Popen("ping %s -n 3" % self.str_ip,

                                   stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)

        ret = ftp_sub.stdout.read()

        str_ret = ret.decode("gbk")

        ret_s = re.search("TTL", str_ret)

        if ret_s:

            self.list_p_r.append(('ping    ok', self.str_ip))

        else:

            self.list_p_r.append(('ping error', self.str_ip))



def cmp_s(toupe_str):

    str_val = toupe_str[1]

    ret_group = re.match("\d*", str_val[::-1])

    str_ret = ret_group.group()

    return int(str_ret[::-1])



thread_id = []

for i in range(ip_num):

    thread_id.append(0)

    thread_id[i] = PingThread("198.9.6.%d" % i, int(i / 20), list_ping_result)

    thread_id[i].start()

    print(i, end='')


while True:

    if len(list_ping_result) >= ip_num:

        list_ping_result.sort(key=cmp_s)

        for i in list_ping_result:

            print(i)


        break

结果如下:

python脚本实现公司办公网ip段落使用情况

可以通过平命令进行验证:

使用上图的28和29ip进行测试:

python脚本实现公司办公网ip段落使用情况


相关内容

热门资讯

马兴瑞、郭永航等多人,代表资格... 原标题:受权发布|全国人民代表大会常务委员会公告 〔十四届〕第十八号全国人民代表大会常务委员会公告〔...
“吃了你们家7年,马上博士毕业... “老板老板娘,我马上毕业了!从本科到博士吃了你们家7年真的很舍不得后天拍毕业照,能邀请你们来吗?”
欧洲热浪滚滚,民众疯抢中国空调 现在欧洲热浪滚滚。6月24日,巴黎气温飙到了41度。德国、奥地利、匈牙利这些北欧、中欧国家,以前的夏...
鲁比奥否认存在安克雷奇共识,拉... 【文/观察者网 柳白】6月26日,俄罗斯外长拉夫罗夫在给记者的书面答复中,驳斥了美国国务卿鲁比奥关于...
伊朗革命卫队称打击美军驻点 伊朗伊斯兰革命卫队当地时间27日凌晨发表声明称,继以色列在黎巴嫩南部违反停火协议后,数小时前,美国也...
委内瑞拉地震中国公民遇难人数升... 新华社加拉加斯6月26日电(记者田睿)据中国驻委内瑞拉大使馆消息,截至当地时间26日17时,据不完全...
伊朗革命卫队:挫败美军袭击,将... 当地时间27日凌晨,伊朗伊斯兰革命卫队表示,革命卫队的海军与空军成功挫败了美军对锡里克岛发动的袭击,...
美军打击伊朗,报复商船遇袭事件 美国中央司令部6月27日于社交媒体平台“X”发文,称美军于6月26日对伊朗发动打击,以此强力回应前一...
美称设立军事协调小组协助落实美... △美国国务卿鲁比奥(资料图)当地时间6月26日,美国国务卿鲁比奥发布声明表示,当日,美国、黎巴嫩和以...
布基纳法索宣布与法国断交 △布基纳法索(资料图)当地时间6月26日,布基纳法索政府宣布,自当天起断绝与法国的外交关系。布政府表...