
Gotator는 순열을 통해 DNS 워드리스트를 생성하는 도구입니다.
Gotator는 순열(permutation)을 통해 DNS 단어 목록을 생성하는 도구입니다.
로컬에서 수정하고 컴파일하려면 아래 지침을 따르세요:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build
프로그램 사용에만 관심이 있다면:
> go install github.com/Josue87/gotator@latest
🐳 Docker 옵션:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> docker build -t gotator .
# 사용법
> docker run gotator -sub subdomains.txt [...]
참고 1.16 이상 버전을 사용 중이고 오류가 발생하면 다음 명령어를 실행하세요:
> go env -w GO111MODULE="auto"
버전을 업그레이드하려면 설치 명령에 -u 매개변수를 추가하세요.
Gotator는 순열을 위한 다음과 같은 기능을 제공합니다:
example.com, example.com.mx 등).-numbers 3]인 경우, 결과적으로 7에서 13 사이의 값이 생성됩니다.-numbers 3]인 경우, dev0, dev1, dev2, dev3, dev4가 생성됩니다 (음수 방지).test10-demo2이고 numbers 플래그가 1 [-numbers 1]인 경우, 결과 중 test11-demo2.example.com, test9-demo2.example.com, test10-demo3.example.com 또는 test10-demo1.example.com이 나타납니다. (한 번에 하나의 숫자만 변경됩니다.)test 단어를 example.com에서 순열하면 을 얻습니다.도구를 실행하는 데 사용할 수 있는 플래그:
gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt
결과를 필터링하고 중복을 제거하려면:
gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt
정렬하려면 이전 명령의 uniq를 sort -u로 변경하세요. (시간 문제로 권장하지 않음)
참고: 로컬에서 컴파일하는 경우 바이너리 앞에 ./를 잊지 마세요!
참고: 예제는 이전 버전에 해당할 수 있습니다 (-mindup 및 adv가 사용되지 않은 경우).
다음 목록이 있습니다:

첫 번째 예제에서는 지정된 서브도메인에서 변형을 수행합니다.

다음 예제에서는 -md를 사용하여 서브도메인에서 가능한 도메인을 추출하도록 Gotator에 지시합니다:

example.com이 고려되는 것을 볼 수 있습니다. 이제 test100demo를 포함하는 순열 목록을 사용하고 -numbers 3 인수를 제공한 예제:

더 큰 변형 깊이를 볼 수 있으며, 접두사 매개변수(작은 변형 목록 추가)를 지정할 수도 있습니다.

마지막 예제는 출력의 일부만 보여줍니다.
마지막으로, silent 모드와 다른 깊이를 사용하여 출력을 파일로 리디렉션하는 예제입니다.

이 도구는 대용량 파일과 일부 중복을 생성할 수 있습니다. 출력 크기로 인해 uniq 또는 sort -u로 출력을 필터링하고 depth 플래그에 주의하는 것이 좋습니다 (10 GB 이상의 파일을 쉽게 생성할 수 있습니다). 다른 도구로 파이프된 출력은 해당 도구가 전체 출력을 한 번에 처리해야 한다는 점을 명심하세요 (sort, uniq).
# 출력 크기로 필터링
gotator -sub subs.txt -perm perm.txt -depth 2 -numbers 5 -md | head -c 1G > output1G.txt
# 라인 수로 필터링
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -numbers 20 | head -n 100000 > output100Klines.txt
# 정렬하여 중복 제거
gotator -sub subs.txt -perm perm.txt -depth 2 -mindup -numbers 10 -prefixes | sort -u > outputSortUnique.txt
# 고유 라인 (연속된 중복 라인만 제거)
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup | uniq > outputUnique.txt
# 고유 라인
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -adv | anew > outputAnew.txt
# 크기 제한으로 정렬하여 중복 제거
gotator -sub subs.txt -perm perm.txt -prefixes -adv | head -c 1G | sort -u > output1GSortedUnique.txt
참고: 예제는 sort -u를 사용하여 제시되었으며, 이는 결과 생성 속도를 늦춥니다. 결과를 정렬할 필요가 없으며, anew를 사용하는 것이 좋습니다.
주의: 이 도구는 많은 출력 정보를 생성하므로, 라인 수를 줄이기 위해 mindup 플래그를 사용하는 것이 좋습니다.
test.example.comexample.com에서 dev와 demo를 순열해야 한다면, demo.example.com와 dev.example.com 외에도 dev.demo.example.com 또는 demo-dev.example.com을 얻습니다. 깊이 3은 이 예제의 확장입니다.-mindup 플래그를 사용하여 중복을 제어하고 줄일 수 있습니다 (생성되는 줄 수가 많기 때문에, 존재할 가능성이 거의 없는 도메인을 최대한 줄이는 것이 목표입니다):
test.example.com이 있고 다음 순열이 다시 test라면, 무시됩니다.testing.example.com이 있고 test가 나오면, test가 일치할 때 .과 -와 결합되어 testtesting.example.com을 피합니다.100.example.com이 있고 90을 순열로 얻는다면, 이미 숫자 순열 기능이 있으므로 무시됩니다.test100.example.com이 있고 test를 순열로 얻는다면, 숫자를 제거하면 test==test가 되므로 이미 매우 유사한 결과가 있기 때문에 순열이 무시됩니다.adv 플래그 사용:
demo210.example.com인 경우 값 demo210을 가져와서 순열 목록에 추가합니다. test-dev.domain.com이 있으면 test-dev, test, dev를 순열에 추가합니다 (이미 목록에 없는 경우에만).demo-test를 받으면 demo-test, demo, test를 목록에 추가합니다.tech.example.com이고 순열이 test인 경우, 순열 "-"와 ""의 위치도 교체하여 techtest.example.com 및 tech-test.example.com과 같은 결과를 얻습니다 (예제 1 참조).dev.tech.example.com인 경우 tech.example.com과 example.com이 대상으로 추가됩니다 [-md].1rer, 2, 2tty, admin, api, app, bbs, blog, cdn, cloud, cuali, demo, dev, dev2, email, exchange, forum, ftp, gov, govyty, gw, host, m, mail, mail2, mx1, mysql, news, ns, ns1, owa, portal, pre, pro, prod, prueba, qa, remote, secure, server, shop, smtp, store, support, test, test, tty, vpn, vps, web, ww1, ww42, www, www2.| 플래그 | 유형 | 필수 | 설명 | 예시 |
|---|
| sub | string | yes | 교체할 도메인 목록. | -sub subdomains.txt |
| perm | string | no | 순열 목록. | -perm permutations.txt |
| depth | uint | no | 깊이 설정 (1~3) - 기본값 1. | -depth 2 |
| numbers | uint | no | 순열에서 발견된 숫자에 대한 반복 횟수 설정 (위아래). 기본값 0 건너뜀! 이 옵션은 성능에 영향을 주므로 작은 숫자를 사용하세요. | -numbers 10 |
| prefixes | bool | no | gotator 기본 접두사를 순열에 추가합니다. perm이 설정되지 않은 경우 기본적으로 perm이 사용됩니다. 이 플래그와 함께 perm을 지정하면 순열이 병합됩니다. | -prefixes |
| md | bool | no | 'sub' 목록에서 발견된 서브도메인으로부터 '이전' 도메인 및 서브도메인을 추출합니다. | -md |
| adv | bool | no | 고급 옵션. 서브도메인 및 -를 포함한 단어로 순열 단어를 생성합니다. 그리고 순열 단어를 뒤에 연결합니다 (depth 1). | -adv |
| mindup | bool | no | 중복을 최소화하려면 이 플래그를 설정하세요. (무거운 작업의 경우 이 플래그를 활성화하는 것이 좋습니다.) | -mindup |
| fast | bool | no | 루트 도메인을 확인하지 않습니다 (범위에 주의하세요). | -fast |
| silent | bool | no | Gotator 배너가 표시되지 않습니다. | -silent |
| t | uint | no | 최대 Go 루틴 수 (기본값 100). 참고: 데이터가 콘솔에 출력되므로 스레드가 처리 시간을 증가시킬 수 있습니다. | -t 200 |
| version | bool | no | Gotator 버전 표시 | -version |