Список паролей из регулярного выражения: Bash-скрипт убит системой - PullRequest
0 голосов
/ 06 мая 2018

Я хочу создать список паролей из (определенного вида) регулярного выражения ({a-f}{a-f}{A-Z}{0-9}{a-z}{a-z}) на сервере Debian с Intel Xeon E3-12xx v2 (Ivy Bridge процессором и 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 голосов
/ 06 мая 2018

Кажется, что у вас заканчивается ОЗУ, потому что вы создаете огромную последовательность строк в цикле 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...