Crawler e mecanismo de scraping para web em Rust, com foco em concorrência e renderização de JavaScript apenas quando necessário.
projectdiscovery/katana
Crawler web rápido e configurável da ProjectDiscovery, com modos padrão e de navegador headless para descobrir endpoints.
- Estrelas
- 17,803
- Forks
- 1,218
- Issues abertas
- 21
- Último commit
- ontem
O que é?
Katana é um crawler de linha de comando escrito em Go para descobrir URLs e endpoints em sites. Ele funciona em dois modos: o modo padrão, que usa o cliente HTTP do Go e analisa apenas respostas brutas, e o modo headless, que controla o Chrome para também capturar endpoints gerados por JavaScript e requisições XHR.
O escopo é controlado pelo domínio raiz, pelo domínio totalmente qualificado ou por regras regex personalizadas, e a saída pode ser gravada no stdout, em um arquivo ou em JSONL com campos selecionáveis. A entrada pode vir de uma única URL, de um arquivo de lista ou do stdin, o que facilita encadear a ferramenta com outras, como httpx.
O projeto também inclui opções para analisar endpoints em JavaScript, preencher formulários automaticamente, rastrear arquivos conhecidos (robots.txt e sitemap.xml), filtrar URLs e páginas semelhantes, limitar a taxa de requisições e usar uma base de conhecimento de machine learning que classifica tipos de página e detecta secrets ou endpoints de API.
Recursos principais
- 01Modos de rastreamento HTTP padrão e de rastreamento com Chrome headless
- 02Análise de arquivos JavaScript para descobrir endpoints
- 03Controle de escopo por domínio raiz, FQDN ou regex
- 04Preenchimento automático de formulários e reprodução de login com fluxo gravado no modo headless
- 05Filtragem de URLs e páginas semelhantes para reduzir rastreamentos duplicados
- 06Saída para stdout, arquivos ou JSONL com campos configuráveis
Casos de uso
- Mapear a superfície de ataque ou os endpoints de uma aplicação web durante testes de segurança
- Criar uma lista de URLs para varreduras posteriores em um pipeline de automação
- Rastrear aplicações de página única que dependem de conteúdo renderizado por JavaScript
- Coletar a estrutura de um site limitando o escopo a um domínio-alvo
Início rápido
- 1
Instale o katana com Go (requer Go 1.26 ou posterior)
CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest - 2
Rastreie uma URL de destino
katana -u https://tesla.com
Antes de usar
- A instalação requer Go 1.26 ou posterior.
- O modo headless precisa de um navegador Chrome, instalado localmente ou fornecido por você.
- Vários recursos estão marcados como experimentais, incluindo o preenchimento automático de formulários e o rastreamento híbrido headless.
Em coleções
Tópicos
Perguntas frequentes
- O que é katana?
- Crawler web rápido e configurável da ProjectDiscovery, com modos padrão e de navegador headless para descobrir endpoints. Katana é um crawler de linha de comando escrito em Go para descobrir URLs e endpoints em sites. Ele funciona em dois modos: o modo padrão, que usa o cliente HTTP do Go e analisa apenas respostas brutas, e o modo headless, que controla o Chrome para também capturar endpoints gerados por JavaScript e requisições XHR.
- katana é gratuito? Qual é a licença?
- katana é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- katana ainda é mantido?
- Manutenção ativa. O último commit de katana foi em 5 de nov. de 2026.
- Para que posso usar katana?
- Mapear a superfície de ataque ou os endpoints de uma aplicação web durante testes de segurança Criar uma lista de URLs para varreduras posteriores em um pipeline de automação Rastrear aplicações de página única que dependem de conteúdo renderizado por JavaScript Coletar a estrutura de um site limitando o escopo a um domínio-alvo
- Como instalar katana?
- Instale o katana com Go (requer Go 1.26 ou posterior): CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest Rastreie uma URL de destino: katana -u https://tesla.com
- Onde consigo katana?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/projectdiscovery/katana
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework em Go para criar scrapers e crawlers que extraem dados estruturados de sites.
Microframework assíncrono de scraping web em Python, baseado em asyncio e aiohttp, que busca tornar a coleta de URLs o mais prática possível.
Ferramenta de auditoria de SEO de código aberto que rastreia sites e identifica problemas técnicos, como links quebrados, redirecionamentos e meta tags ausentes ou duplicadas.
Framework de web scraping em Python para requisições HTTP, navegadores stealth, parsing e crawls concorrentes completos com exportação de dados.
Crawler web open source em Python que transforma qualquer site em Markdown limpo e pronto para LLMs, com extração estruturada baseada em CSS/LLM e uma API hospedada opcional.