![John the Ripper - 반복되는 문자가 없는 비밀번호](https://linux55.com/image/109008/John%20the%20Ripper%20-%20%EB%B0%98%EB%B3%B5%EB%90%98%EB%8A%94%20%EB%AC%B8%EC%9E%90%EA%B0%80%20%EC%97%86%EB%8A%94%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8.png)
참고: 스레드가 매우 길기 때문에 명령의 출력을 넣지 않겠습니다.
제가 시도한 솔루션은 원하는 결과를 생성하는 데 성공하지 못했습니다. 8자 길이(대문자만, 숫자, 특수 문자 제외)이지만 한 줄에 문자가 반복되지 않는 비밀번호 단어 목록을 얻을 수 있는지 아는 사람이 있는 경우 예를 들면 다음과 같습니다.
QWERTYUI →→→ 좋음
QQWERTYU →→→ 나쁨
QQQWERTY →→→ 나쁨
QQQWERT →→→
나쁨 QQQQQWER →→→ 나쁨
QQQQQQWE →→→ 나쁨
QQQQQQQW →→→ 나쁨
"John The Ripper"가 위와 같이 출력 단어 목록을 만들거나 aircrack-ng로 파이프할 수 있는 옵션이 있습니까? 나는 crunch
이것을 시도했지만 실패했습니다. 가능하다면 알고 싶습니다.
답변1
단어가 포함된 파일이 있고 중복 문자가 포함된 모든 단어를 제거하려는 경우 다음과 같이 하면 됩니다.
$ cat file
HELLO
WORLD
$ sed '/\(.\)\1/d' file
WORLD
이는 파이프라인의 일부일 수 있습니다.
$ generate_words | sed '/\(.\)\1/d' | use_words
generate_words
표준 출력(한 줄에 하나씩)에 단어를 생성하는 프로그램과 use_words
표준 입력(한 줄에 하나씩)에서 단어를 읽는 프로그램이 있는 경우 .
정규식은 \(.\)\1
두 개의 동일한 연속 문자가 포함된 모든 입력 줄과 일치합니다. 명령은 이 줄을 삭제 d
합니다 sed
.
답변2
while < /dev/urandom tr -cd 'A-Z' | fold -w8 | sed '/\(.\).*\1/d;q1'; do :; done
여기서는 파일에서 대문자 알파벳 문자만 선택 하고 루프에 /dev/urandom
넣고 중복 문자가 보이지 않을 때까지 유지합니다. while
이를 위해서는 GNU sed가 필요합니다.