필요한 페이지에만 JavaScript를 렌더링하는 Rust 기반 동시성 우선 웹 크롤링·스크래핑 엔진입니다.
projectdiscovery/katana
ProjectDiscovery가 개발한 빠르고 설정 가능한 웹 크롤러·스파이더 프레임워크로, 엔드포인트 탐색을 위한 일반 모드와 헤드리스 브라우저 모드를 제공합니다.
- 스타
- 17,811
- 포크
- 1,218
- 열린 이슈
- 21
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Katana는 웹사이트의 URL과 엔드포인트를 찾기 위한 Go 기반 커맨드라인 크롤러입니다. Go의 HTTP 클라이언트를 사용해 원시 응답만 파싱하는 일반 모드와, Chrome을 구동해 JavaScript 및 XHR 요청으로 생성되는 엔드포인트도 수집하는 헤드리스 모드, 두 가지로 실행할 수 있습니다.
루트 도메인, 정규화된 도메인(FQDN) 또는 사용자 지정 정규식 규칙으로 크롤링 범위를 지정할 수 있으며, 선택한 필드와 함께 stdout, 파일 또는 JSONL로 결과를 출력할 수 있습니다. 입력은 단일 URL, 목록 파일 또는 stdin에서 받을 수 있어 httpx 같은 도구와 쉽게 연결해 사용할 수 있습니다.
JavaScript 엔드포인트 파싱, 자동 폼 입력, 알려진 파일(robots.txt 및 sitemap.xml) 크롤링, 유사 URL 및 유사 페이지 필터링, 속도 제한 기능도 제공합니다. 또한 페이지 유형을 분류하고 시크릿이나 API 엔드포인트를 탐지하는 머신러닝 지식 베이스가 포함되어 있습니다.
핵심 기능
- 01일반 HTTP 크롤링 및 헤드리스 Chrome 크롤링 모드
- 02엔드포인트 탐지를 위한 JavaScript 파일 파싱
- 03루트 도메인, FQDN 또는 정규식 기반 범위 제어
- 04헤드리스 모드에서 자동 폼 입력 및 기록된 플로우를 이용한 로그인 재현
- 05중복 크롤링을 줄이는 유사 URL 및 유사 페이지 필터링
- 06설정 가능한 필드와 함께 stdout, 파일 또는 JSONL로 출력
활용 사례
- 보안 테스트 중 웹 애플리케이션의 공격 표면이나 엔드포인트 파악
- 자동화 파이프라인에서 후속 스캔에 사용할 URL 목록 생성
- JavaScript로 렌더링된 콘텐츠에 의존하는 단일 페이지 애플리케이션 크롤링
- 대상 도메인으로 범위를 제한하면서 사이트 구조 수집
빠른 시작
- 1
Go로 katana 설치하기(Go 1.26 이상 필요)
CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest - 2
대상 URL 크롤링하기
katana -u https://tesla.com
사용 전 알아둘 점
- 설치하려면 Go 1.26 이상이 필요합니다.
- Headless 모드를 사용하려면 로컬에 설치된 Chrome 브라우저나 직접 제공한 Chrome 브라우저가 필요합니다.
- 자동 양식 입력과 Headless 하이브리드 크롤링을 포함한 여러 기능이 실험적 기능으로 표시되어 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- katana은(는) 무엇인가요?
- ProjectDiscovery가 개발한 빠르고 설정 가능한 웹 크롤러·스파이더 프레임워크로, 엔드포인트 탐색을 위한 일반 모드와 헤드리스 브라우저 모드를 제공합니다. Katana는 웹사이트의 URL과 엔드포인트를 찾기 위한 Go 기반 커맨드라인 크롤러입니다. Go의 HTTP 클라이언트를 사용해 원시 응답만 파싱하는 일반 모드와, Chrome을 구동해 JavaScript 및 XHR 요청으로 생성되는 엔드포인트도 수집하는 헤드리스 모드, 두 가지로 실행할 수 있습니다.
- katana은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- katana은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- katana은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. katana의 마지막 커밋은 2026년 11월 6일입니다.
- katana은(는) 어디에 사용할 수 있나요?
- 보안 테스트 중 웹 애플리케이션의 공격 표면이나 엔드포인트 파악 자동화 파이프라인에서 후속 스캔에 사용할 URL 목록 생성 JavaScript로 렌더링된 콘텐츠에 의존하는 단일 페이지 애플리케이션 크롤링 대상 도메인으로 범위를 제한하면서 사이트 구조 수집
- katana는 어떻게 설치하나요?
- Go로 katana 설치하기(Go 1.26 이상 필요): CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest 대상 URL 크롤링하기: katana -u https://tesla.com
- katana은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/projectdiscovery/katana
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
웹사이트에서 구조화된 데이터를 추출하는 스크래퍼와 크롤러를 만들기 위한 Go 프레임워크입니다.
asyncio와 aiohttp 기반의 비동기 Python 웹 스크래핑 마이크로 프레임워크로, URL 크롤링을 최대한 간편하게 만드는 것을 목표로 합니다.
웹사이트를 크롤링해 끊어진 링크, 리디렉션, 누락되거나 중복된 메타 태그 등의 기술적 문제를 보고하는 오픈소스 SEO 감사 도구입니다.
단일 HTTP 요청부터 스텔스 브라우저, 파싱, 동시 크롤링과 내보내기까지 지원하는 Python 웹 스크래핑 프레임워크입니다.
웹사이트를 LLM에 바로 활용할 수 있는 깔끔한 Markdown으로 변환하는 오픈소스 Python 크롤러