正则表达式的密码列表:由系统杀死的Bash脚本

时间:2018-05-06 16:37:02

标签: regex bash debian

我想在具有{a-f}{a-f}{A-Z}{0-9}{a-z}{a-z}处理器和Intel Xeon E3-12xx v2 (Ivy Bridge的debian服务器上使用(某种特定的)正则表达式(MemFree: 402108 kB)创建密码列表。

crunch(来自Kali Linux)没有达到这个目的,因为似乎没有可能处理这个正则表达式,所以我写了一个脚本:

#!/bin/bash
touch words.txt
rm words.txt
for i in {a..f}{a..f}{A..Z}{0..9}{a..z}{a..z};
do echo $i >> words.txt;
done
exit 0

使用前五个括号({a..f}{a..f}{A..Z}{0..9}{a..z})可以正常工作,但是当我尝试添加最后一个{a..z}时,内核会将其杀死。

我不知道为什么。是因为我的脚本必须一次又一次地打开.txt文件吗?或者是否存在其他容量问题?

祝你好运

1 个答案:

答案 0 :(得分:3)

看起来你的RAM用完了,因为你在for循环中创建了大量的字符串序列而不是迭代它。

使用两个循环(或更好的六个)而不是一个循环,您不会一次存储所有密码:

for i in {a..f}{a..f}{A..Z}
  do for j in {0..9}{a..z}{a..z};
    do echo $i$j >> words.txt;
  done
done