Segment de réseau IP à répéter pour inclure

Exigences : Analyse de l'inventaire interne des actifs (vulnérabilité)
Problème : L'entreprise grossit et les segments de l'intranet sont "continuellement coupés et chamboulés"... Pour obtenir des milliers d'informations sur les segments du réseau, il est nécessaire de dédupliquer et de dé- inclure les relations avant l'analyse pour éviter la duplication Analyse et amélioration de l'efficacité de l'analyse
Solution : script Python, il existe une bibliothèque pour le traitement des segments de réseau, qui est souvent implémentée avec la bibliothèque IPy. (J'ai essayé d'écrire une déduplication logique via le nombre de bits de masque de réseau, mais cela n'a pas été aussi réussi. (Install pip install IPy)

Script de traitement :

#去ip段的重叠、包含等
from IPy import IP
file = 'hostnetmask.txt.py'     #需要去重复的ip网段文件(按行)
def ipuniq():
    dlist = []
    with open(file,'r') as ff:
        for x in ff.readlines():
            x = x.strip()
            with open(file, 'r') as f:
                for i in f.readlines():
                    i = i.strip()
                    if i != x:
                        if IP(i) in IP(x):        # 判断网段是否包含
                            print('{} >>>>> {}'.format(i,x))
                            dlist.append(i)
        dlist.sort()
        data = []
        print('>>>>>>>>>>>>>>>>>>去重复后的网段<<<<<<<<<<<<<<<<<<<<<<<<')
        with open(file,'r') as df:
            for n in df.readlines():
                n = n.strip()
                if n not in dlist:
                    print(n)
                    data.append(n)
        print(dlist)     #打印去重叠后的网段

Contenu du fichier, par exemple :
cat hostnetmask.txt.py
10.19.33.0/24
10.19.32.0/24

おすすめ

転載: blog.csdn.net/u013908944/article/details/115264506