
웹 페이지를 재귀적으로 크롤링하여 링크를 따라가고, 사이트맵과 robots.txt 파일을 파싱하여 모든 URL을 발견합니다. 보안 정찰 및 콘텐츠 발견에 이상적입니다.
xcrawl3r는 URL을 찾기 위해 웹 페이지를 재귀적으로 크롤링하도록 설계된 명령줄 유틸리티입니다. 웹사이트를 능동적으로 탐색하며(웹 페이지에 포함된 링크를 따라가고, 사이트맵 및 robots.txt를 포함한 파일을 파싱하여) 모든 URL을 발견합니다.
대상과 직접 상호작용하지 않는 xurlfind3r와 달리, xcrawl3r는 페이지를 실시간으로 크롤링하여 대상과 직접 상호작용합니다. 이러한 능동적 접근 방식을 통해 숨겨져 있거나 인덱싱되지 않은 URL을 발견할 수 있어, 웹사이트의 탐색 흐름과 콘텐츠 분포에 대한 완전한 그림을 제공합니다. 이는 xcrawl3r를 보안 연구자, IT 전문가, 그리고 웹사이트와 관련된 URL에 대한 통찰력을 얻고자 하는 모든 사람에게 강력한 도구로 만듭니다.
robots.txt 포함)에서 URL 추출stdin 및 stdout 지원릴리스 페이지를 방문하여 운영 체제 및 아키텍처에 맞는 아카이브를 찾으십시오. 브라우저에서 아카이브를 다운로드하거나 URL을 복사하여 wget 또는 curl로 가져오십시오:
...wget 사용 시:
wget https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...또는 curl 사용 시:
curl -OL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...그런 다음 바이너리를 추출합니다:
tar xf xcrawl3r-<version>-linux-amd64.tar.gz
[!TIP] 위의 다운로드 및 추출 단계는 다음 한 줄 명령어로 결합할 수 있습니다.
curl -sL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] Windows 시스템에서는 zip 아카이브를 더블 클릭하여
xcrawl3r실행 파일을 추출할 수 있습니다.
...xcrawl3r 바이너리를 PATH에 있는 디렉토리로 옮깁니다. 예를 들어, GNU/Linux 및 OS X 시스템에서는:
sudo mv xcrawl3r /usr/local/bin/
[!NOTE] Windows 사용자는 방법: PATH 환경 변수에 도구 위치 추가를 따라
xcrawl3r을PATH에 추가할 수 있습니다.
소스에서 설치하기 전에 시스템에 Go가 설치되어 있는지 확인해야 합니다. 공식 지침에 따라 운영 체제에 맞게 Go를 설치할 수 있습니다. 여기서는 Go가 이미 설치되어 있다고 가정합니다.
go install ...go install -v github.com/hueristiq/xcrawl3r/cmd/xcrawl3r@latest
go build ... (개발 버전)저장소 클론
git clone https://github.com/hueristiq/xcrawl3r.git
유틸리티 빌드
cd xcrawl3r/cmd/xcrawl3r && \
go build .
xcrawl3r 바이너리를 PATH에 있는 디렉토리로 옮깁니다. 예를 들어, GNU/Linux 및 OS X 시스템에서는:
sudo mv xcrawl3r /usr/local/bin/
Windows 사용자는 방법: PATH 환경 변수에 도구 위치 추가를 따라 xcrawl3r을 PATH에 추가할 수 있습니다.
[!CAUTION] 개발 버전은 출시 전에
xcrawl3r의 최신 기능을 미리 살펴볼 수 있는 좋은 방법이지만, 버그가 있을 수 있습니다. 공식적으로 출시된 버전이 일반적으로 더 안정적입니다.
Docker에 xcrawl3r을 설치하려면:
다음을 사용하여 Docker 이미지를 가져옵니다:
docker pull hueristiq/xcrawl3r:latest
이미지를 사용하여 xcrawl3r을 실행합니다:
docker run --rm hueristiq/xcrawl3r:latest -h
xcrawl3r는 설치 후 바로 작동합니다. 그러나 첫 실행 시 생성되는 $HOME/.config/xcrawl3r/config.yaml 설정 파일에 일부 구성이 추가되거나 환경 변수로 설정될 수 있습니다.
환경 변수 예:
XCRAWL3R_REQUEST_TIMEOUT=10
xcrawl3r 사용을 시작하려면 터미널을 열고 다음 명령어를 실행하여 옵션 목록을 확인하십시오:
xcrawl3r -h
도움말 메시지는 다음과 같습니다:
_ _____
__ _____ _ __ __ ___ _| |___ / _ __
\ \/ / __| '__/ _` \ \ /\ / / | |_ \| '__|
> < (__| | | (_| |\ V V /| |___) | |
/_/\_\___|_| \__,_| \_/\_/ |_|____/|_|
v1.2.0
사용법:
xcrawl3r [옵션]
설정:
-c, --configuration string (기본값: $HOME/.config/xcrawl3r/config.yaml)
입력:
-u, --url string[] 대상 URL
-l, --list string 대상 URL 파일 경로
여러 URL의 경우 `--url`에 쉼표(,)로 구분된 값을 사용하거나,
여러 `--url`을 지정하거나, `--list`로 파일에서 로드하거나 stdin에서 로드할 수 있습니다.
범위:
-d, --domain string[] 일치시킬 도메인 URL
여러 도메인의 경우 `--domain`에 쉼표(,)로 구분된 값을 사용하거나
여러 `--domain`을 지정하십시오.
--include-subdomains bool 도메인과 함께 하위 도메인 URL도 일치시킴
요청:
--delay int 각 요청 간 지연 시간(초)
-H, --header string[] '헤더:값' 형식으로 포함할 헤더
여러 헤더의 경우 `--header`에 쉼표(,)로 구분된 값을 사용하거나
여러 `--header`를 지정하십시오.
--timeout int 요청 대기 시간(초) (기본값: 10)
프록시:
-p, --proxy string[] 프록시 (예: http://127.0.0.1:8080)
여러 프록시의 경우 `--proxy`에 쉼표(,)로 구분된 값을 사용하거나
여러 `--proxy`를 지정하십시오.
최적화:
--depth int 크롤링할 최대 깊이, `0`은 무제한 (기본값: 1)
-C, --concurrency int 동시에 처리할 입력 개수 (기본값: 5)
-P, --parallelism int 사용할 동시 페처 개수 (기본값: 5)
디버그:
--debug bool 디버그 모드 활성화
출력:
--jsonl bool JSONL(ines) 형식으로 출력
-o, --output string 출력 파일 경로
-m, --monochrome bool stdout 흑백 모드
-s, --silent bool stdout 무음 모드
-v, --verbose bool stdout 상세 모드
기여는 언제나 환영합니다! 풀 리퀘스트를 제출하거나 이슈를 보고해 주십시오. 자세한 내용은 기여 가이드라인을 확인하세요.
지속적인 지원에 감사드리는 모든 기여자분들께 큰 감사를 드립니다!
이 패키지는 MIT 라이선스에 따라 라이선스가 부여됩니다. 라이선스 조건을 따르는 한 자유롭게 사용, 수정, 배포할 수 있습니다. 전체 라이선스 텍스트는 저장소에서 확인할 수 있습니다 - 전체 MIT 라이선스 텍스트.