(字典、子域名)合并去重 Python 脚本

2022-11-02 15:23:32 浏览数 (1)

前言

一般在做渗透测试的时候,前期对目标资产子域名进行信息搜集时,往往会从多个在线或者离线子域名采集工具中导出结果。然而每个工具平台导出的结果中都会有很多重复的子域名,如果靠手工对这些子域名结果进行合并去重的话,是非常的繁琐且低效率的,因此可以借助脚本工具替我们去完成这一复杂的整理工作,提高渗透效率。

0x01 脚本使用

将(字典、子域名)逐行保存到*.txt文件中,并且与脚本放在同一️目录下,然运行脚本即可:

代码语言:javascript复制
 ~/ ls
a.com.txt       b.com.txt       merge_unique.py
 ~/ python merge_unique.py
查找当前目录下的txt文件:
共发现2个txt文件!
开始合并:
合并完毕!
开始去重:
去重完成!
 ~/ ls
a.com.txt             b.com.txt             merge_unique.py       out_merged_result.csv

执行完毕后,会将所有txt文件中的内容合并去重到新的 out_merged_result.csv 文件中。

0x02 脚本源码

Python合并去重脚本源码如下:

代码语言:javascript复制
#coding=utf-8
import os
import pandas as pd
import glob
 
outFileName = 'out_merged_result.csv'
 
def merge():
    txt_list = glob.glob('*.txt')
    print(u'共发现%s个txt文件!'% len(txt_list))
    print(u'开始合并:')
    for i in txt_list:
        fr = open(i,'r').read()
        with open(outFileName,'a') as f:
            f.write(fr)
    print(u'合并完毕!')
 
 
def unique(file):
    df = pd.read_csv(file, header=0, error_bad_lines=False, quotechar=None, quoting=3)
    dataList = df.drop_duplicates()
    dataList.to_csv(file)
 
 
if __name__ == '__main__':
    print(u'查找当前目录下的txt文件:')
    merge()
    print(u'开始去重:')
    unique(outFileName)
    print(u'去重完成!')

参考文章

  • https://blog.csdn.net/cc1949/article/details/105690966

0 人点赞