我正试图写一篇博文,讲述拥有一个共同的访问点名称的危险。
因此,我做了一些战争,以获得一个访问点名称的列表,我从Renderlab下载了1000个最常见的访问点名称的列表(其中有彩虹表)。
但是,我如何比较这两个文本文件,看看我收集的访问点名称中有多少是可以接受彩虹表攻击的呢?
文本文件的构建方式如下:
collected.txt:
linksys
internet
hotspot大多数常见的访问点名称称为SSID.txt:
default
NETGEAR
Wireless
WLAN
Belkin54g因此,脚本应该对这些行进行排序,比较它们,并显示collected.txt中的行在SSID.txt中找到了多少次。
这说得通吗?如有任何帮助,将不胜感激:)
发布于 2014-03-27 12:05:15
如果您不介意使用python脚本的话:
file1=open('collected.txt', 'r') # open file 1 for reading
with open('SSID.txt', 'r') as content_file: # ready file 2
SSID = content_file.read()
found={} # summary of found names
for line in file1:
if line in SSID:
if line not in found:
found[line]=1
else:
found[line]+=1
for i in found:
print found[i], i # print out list and no. of occurencies...it可以在包含这些文件的dir中运行-- collected.txt和SSID.txt --它将返回如下所示的列表:
5 NETGEAR
3 default
(...)脚本逐行读取文件1,并将其与整个文件2进行比较。它可以很容易地修改,以便从命令提示符中获取文件名。
发布于 2014-03-27 11:51:39
首先,看看关于sdiff命令的一个简单教程,比如如何比较Linux或UNIX下的两个文件。而且,Notepad++支持这一点。
发布于 2014-03-27 11:56:45
要查找文件A中每一行出现在B文件中的次数,您可以这样做:
awk 'FNR==NR{a[$0]=1; next} $0 in a { count[$0]++ }
END { for( i in a ) print i, count[i] }' A B如果希望对输出进行排序,则将输出输送到sort,但是不需要仅仅为了查找计数就进行排序。请注意,可以以消耗更多内存为代价省略$0 in a子句,如果文件B非常大,这可能是一个问题。
https://stackoverflow.com/questions/22686690
复制相似问题