Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
tlsx — Grabber TLS rápido e configurável, focado na coleta de dados baseados em TLS. | Kitploit
Ferramentas/GitHubGitHub/projectdiscovery/tlsx
ReconhecimentoEnumeração de DNS e SubdomíniosColeta de InformaçõesSegurança de RedeConfiguração Incorreta
GitHubprojectdiscovery/tlsx

tlsx

Grabber TLS rápido e configurável, focado na coleta de dados baseados em TLS.

Ver Repositório
1.1k15652há 7 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
<h1 align="center">
<img src="https://assets.kitploit.com/production/public/readmes/41152/5378854a9ce1d6b8be992803fef258be9a652c389d699c22f4636b6db34acdf6.png" width="200px">
<br>
</h1>


<p align="center">
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-_red.svg"></a>
<a href="https://goreportcard.com/badge/github.com/projectdiscovery/tlsx"><img src="https://goreportcard.com/badge/github.com/projectdiscovery/tlsx"></a>
<a href="https://pkg.go.dev/github.com/projectdiscovery/tlsx/pkg/tlsx"><img src="https://img.shields.io/badge/go-reference-blue"></a>
<a href="https://github.com/projectdiscovery/tlsx/releases"><img src="https://img.shields.io/github/release/projectdiscovery/tlsx"></a>
<a href="https://twitter.com/pdiscoveryio"><img src="https://img.shields.io/twitter/follow/pdiscoveryio.svg?logo=twitter"></a>
<a href="https://discord.gg/projectdiscovery"><img src="https://img.shields.io/discord/695645237418131507.svg?logo=discord"></a>
</p>

<p align="center">
  <a href="#features">Funcionalidades</a> •
  <a href="#installation">Instalação</a> •
  <a href="#usage">Uso</a> •
  <a href="#running-tlsx">Executando tlsx</a> •
  <a href="https://discord.gg/projectdiscovery">Junte-se ao Discord</a>
</p>

Um coletor TLS rápido e configurável, focado em **coleta e análise de dados** baseados em TLS.

# Funcionalidades

![image](https://assets.kitploit.com/production/public/readmes/41152/88f7e18778d1a4ca8377c8c4e53356c0032912729f5ddd0492ffedaaa3797e05.png)

 - Conexão TLS rápida e totalmente configurável
 - Múltiplos **modos de conexão TLS**
 - Múltiplas **sondas TLS**
 - **Fallback automático de TLS** para versões TLS mais antigas
 - Conexão TLS **pré-handshake** (terminação antecipada)
 - Seleção personalizável de **Cipher / SNI / TLS**
 - **JARM/JA3** impressão digital TLS
 - **Más configurações de TLS**
 - Entrada **ASN, CIDR, IP, HOST** e **URL**
 - STD **IN/OUT** e saída **TXT/JSON**

## Instalação

O tlsx requer **Go 1.24** para ser instalado com sucesso. Para instalar, basta executar o comando abaixo ou baixar o binário pré-compilado da [página de releases](https://github.com/projectdiscovery/tlsx/releases).```console
go install github.com/projectdiscovery/tlsx/cmd/tlsx@latest
```
## Uso```console
tlsx -h
```
Isto exibirá a ajuda da ferramenta. Aqui estão todas as opções que ela suporta.```console
TLSX is a tls data gathering and analysis toolkit.

Usage:
  tlsx [flags]

Flags:
INPUT:
   -u, -host string[]  target host to scan (-u INPUT1,INPUT2)
   -l, -list string    target list to scan (-l INPUT_FILE)
   -p, -port string[]  target port to connect (default 443)

SCAN-MODE:
   -sm, -scan-mode string     tls connection mode to use (ctls, ztls, openssl, auto) (default "auto")
   -ps, -pre-handshake        enable pre-handshake tls connection (early termination) using ztls
   -sa, -scan-all-ips         scan all ips for a host (default false)
   -iv, -ip-version string[]  ip version to use (4, 6) (default 4)

PROBES:
   -san                     display subject alternative names
   -cn                      display subject common names
   -so                      display subject organization name
   -tv, -tls-version        display used tls version
   -cipher                  display used cipher
   -hash string             display certificate fingerprint hashes (md5,sha1,sha256)
   -jarm                    display jarm fingerprint hash
   -ja3                     display ja3 fingerprint hash (using ztls)
   -wc, -wildcard-cert      display host with wildcard ssl certificate
   -tps, -probe-status      display tls probe status
   -ve, -version-enum       enumerate and display supported tls versions
   -ce, -cipher-enum        enumerate and display supported cipher
   -ct, -cipher-type value  ciphers types to enumerate. possible values: all/secure/insecure/weak (comma-separated) (default all)
   -ch, -client-hello       include client hello in json output (ztls mode only)
   -sh, -server-hello       include server hello in json output (ztls mode only)
   -se, -serial             display certificate serial number

MISCONFIGURATIONS:
   -ex, -expired      display host with host expired certificate
   -ss, -self-signed  display host with self-signed certificate
   -mm, -mismatched   display host with mismatched certificate
   -re, -revoked      display host with revoked certificate
   -un, -untrusted    display host with untrusted certificate

CONFIGURATIONS:
   -config string               path to the tlsx configuration file
   -r, -resolvers string[]      list of resolvers to use
   -cc, -cacert string          client certificate authority file
   -ci, -cipher-input string[]  ciphers to use with tls connection
   -sni string[]                tls sni hostname to use
   -rs, -random-sni             use random sni when empty
   -rps, -rev-ptr-sni           perform reverse PTR to retrieve SNI from IP
   -min-version string          minimum tls version to accept (ssl30,tls10,tls11,tls12,tls13)
   -max-version string          maximum tls version to accept (ssl30,tls10,tls11,tls12,tls13)
   -cert, -certificate          include certificates in json output (PEM format)
   -tc, -tls-chain              include certificates chain in json output
   -vc, -verify-cert            enable verification of server certificate
   -ob, -openssl-binary string  OpenSSL Binary Path
   -hf, -hardfail               strategy to use if encountered errors while checking revocation status
   -proxy string                socks5 proxy to use for tlsx

OPTIMIZATIONS:
   -c, -concurrency int  number of concurrent threads to process (default 300)
   -cec, -cipher-concurrency int  cipher enum concurrency for each target (default 10)
   -timeout int          tls connection timeout in seconds (default 5)
   -retry int            number of retries to perform for failures (default 3)
   -delay string         duration to wait between each connection per thread (eg: 200ms, 1s)

UPDATE:
   -up, -update                 update tlsx to latest version
   -duc, -disable-update-check  disable automatic tlsx update check

OUTPUT:
   -o, -output string  file to write output to
   -j, -json           display output in jsonline format
   -dns                display unique hostname from SSL certificate response
   -ro, -resp-only     display tls response only
   -silent             display silent output
   -nc, -no-color      disable colors in cli output
   -v, -verbose        display verbose output
   -version            display project version

PDCP:
   -pd, -dashboard              upload or view output in the PDCP UI dashboard
   -pdu, -dashboard-upload string  upload tlsx output file (JSONL format) to the PDCP UI dashboard
   -auth string                  PDCP API key for authentication
   -tid, -team-id string         upload asset results to a specified team ID
   -aid, -asset-id string        upload new assets to an existing asset ID
   -aname, -asset-name string    asset group name

DEBUG:
   -health-check, -hc  run diagnostic check up
```
## Usando tlsx como biblioteca

Exemplos de uso do tlsx como biblioteca são fornecidos na pasta [examples](https://github.com/projectdiscovery/tlsx/blob/main/examples).

## Executando o tlsx

### Entrada para tlsx

O **tlsx** requer **ip** para fazer a conexão TLS e aceita múltiplos formatos, conforme listado abaixo:```bash
AS1449 # ASN input
173.0.84.0/24 # CIDR input
93.184.216.34 # IP input
example.com # DNS input
example.com:443 # DNS input with port
https://example.com:443 # URL input port
```
O host de entrada pode ser fornecido usando o sinalizador `-host / -u`, e vários valores podem ser fornecidos usando entrada separada por vírgulas; da mesma forma, a entrada **por arquivo** é suportada usando o sinalizador `-list / -l`.

Exemplo de entrada de host separada por vírgulas:```console
$ tlsx -u 93.184.216.34,example.com,example.com:443,https://example.com:443 -silent
```
Exemplo de entrada de host baseada em arquivo:```console
$ tlsx -list host_list.txt
```
**Entrada de Portas:**

**tlsx** conecta na porta **443** por padrão, que pode ser personalizada usando a flag `-port / -p`; portas individuais ou múltiplas podem ser especificadas usando entrada separada por vírgulas ou arquivo delimitado por novas linhas contendo uma lista de portas para conectar. 


Exemplo de entrada de portas separada por vírgulas:```
$ tlsx -u hackerone.com -p 443,8443
```
Exemplo de entrada de porta baseada em arquivo:```
$ tlsx -u hackerone.com -p port_list.txt
```
**Nota:**

> Quando o host de entrada contém porta, por exemplo, `8.8.8.8:443` ou `hackerone.com:8443`, a porta especificada com o host será usada para fazer a conexão TLS em vez da padrão ou da fornecida usando a flag `-port / -p`.

### TLS Probe (execução padrão)

Isto executará a ferramenta contra a faixa CIDR fornecida e retornará os hosts que aceitam conexão TLS na porta 443.```console
$ echo 173.0.84.0/24 | tlsx 
  

  _____ _    _____  __
 |_   _| |  / __\ \/ /
   | | | |__\__ \>  < 
   |_| |____|___/_/\_\  v0.0.1

    projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.

173.0.84.69:443
173.0.84.67:443
173.0.84.68:443
173.0.84.66:443
173.0.84.76:443
173.0.84.70:443
173.0.84.72:443
```
### Sonda SAN/CN

O certificado TLS contém nomes DNS nos campos **subject alternative name** e **common name**, que podem ser extraídos usando as flags `-san`, `-cn`.```console
$ echo 173.0.84.0/24 | tlsx -san -cn -silent

173.0.84.104:443 [uptycspay.paypal.com]
173.0.84.104:443 [api-3t.paypal.com]
173.0.84.104:443 [api-m.paypal.com]
173.0.84.104:443 [payflowpro.paypal.com]
173.0.84.104:443 [pointofsale-s.paypal.com]
173.0.84.104:443 [svcs.paypal.com]
173.0.84.104:443 [uptycsven.paypal.com]
173.0.84.104:443 [api-aa.paypal.com]
173.0.84.104:443 [pilot-payflowpro.paypal.com]
173.0.84.104:443 [pointofsale.paypal.com]
173.0.84.104:443 [uptycshon.paypal.com]
173.0.84.104:443 [api.paypal.com]
173.0.84.104:443 [adjvendor.paypal.com]
173.0.84.104:443 [zootapi.paypal.com]
173.0.84.104:443 [api-aa-3t.paypal.com]
173.0.84.104:443 [uptycsize.paypal.com]
```
Para facilitar a automação, opcionalmente a flag `-resp-only` pode ser usada para listar apenas nomes de DNS na saída da CLI.```console
$ echo 173.0.84.0/24 | tlsx -san -cn -silent -resp-only

api-aa-3t.paypal.com
pilot-payflowpro.paypal.com
pointofsale-s.paypal.com
uptycshon.paypal.com
a.paypal.com
adjvendor.paypal.com
zootapi.paypal.com
api-aa.paypal.com
payflowpro.paypal.com
pointofsale.paypal.com
uptycspay.paypal.com
api-3t.paypal.com
uptycsize.paypal.com
api.paypal.com
api-m.paypal.com
svcs.paypal.com
uptycsven.paypal.com
uptycsven.paypal.com
a.paypal.com
api.paypal.com
pointofsale-s.paypal.com
pilot-payflowpro.paypal.com
```
**subdomínios** obtidos de certificados TLS podem ser canalizados para outras ferramentas PD para inspeção adicional, aqui está um exemplo de envio de subdomínios TLS via pipe para **[dnsx](https://github.com/projectdiscovery/dnsx)** para filtrar subdomínios passivos e passá-los para **[httpx](https://github.com/projectdiscovery/httpx)** para listar hosts que executam serviços web ativos.```console
$ echo 173.0.84.0/24 | tlsx -san -cn -silent -resp-only | dnsx -silent | httpx

    __    __  __       _  __
   / /_  / /_/ /_____ | |/ /
  / __ \/ __/ __/ __ \|   /
 / / / / /_/ /_/ /_/ /   |
/_/ /_/\__/\__/ .___/_/|_|
             /_/              v1.2.2

    projectdiscovery.io

Use with caution. You are responsible for your actions.
Developers assume no liability and are not responsible for any misuse or damage.
https://api-m.paypal.com
https://uptycsize.paypal.com
https://api.paypal.com
https://uptycspay.paypal.com
https://svcs.paypal.com
https://adjvendor.paypal.com
https://uptycshap.paypal.com
https://uptycshon.paypal.com
https://pilot-payflowpro.paypal.com
https://slc-a-origin-pointofsale.paypal.com
https://uptycsven.paypal.com
https://api-aa.paypal.com
https://api-aa-3t.paypal.com
https://uptycsbrt.paypal.com
https://payflowpro.paypal.com
http://pointofsale-s.paypal.com
http://slc-b-origin-pointofsale.paypal.com
http://api-3t.paypal.com
http://zootapi.paypal.com
http://pointofsale.paypal.com
```
### Sonda de TLS / Cifra```console
$ subfinder -d hackerone.com | tlsx -tls-version -cipher

mta-sts.hackerone.com:443 [TLS1.3] [TLS_AES_128_GCM_SHA256]
hackerone.com:443 [TLS1.3] [TLS_AES_128_GCM_SHA256]
api.hackerone.com:443 [TLS1.3] [TLS_AES_128_GCM_SHA256]
mta-sts.managed.hackerone.com:443 [TLS1.3] [TLS_AES_128_GCM_SHA256]
mta-sts.forwarding.hackerone.com:443 [TLS1.3] [TLS_AES_128_GCM_SHA256]
www.hackerone.com:443 [TLS1.3] [TLS_AES_128_GCM_SHA256]
support.hackerone.com:443 [TLS1.2] [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
```
# Má configuração de TLS

### Certificado Expirado / Autoassinado / Não Correspondente / Revogado / Não Confiável

Uma lista de hosts pode ser fornecida ao tlsx para detectar certificados **expirados / autoassinados / não correspondentes / revogados / não confiáveis**.```console
$ tlsx -l hosts.txt -expired -self-signed -mismatched -revoked -untrusted
  

  _____ _    _____  __
 |_   _| |  / __\ \/ /
   | | | |__\__ \>  < 
   |_| |____|___/_/\_\  v0.0.1

    projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.

wrong.host.badssl.com:443 [mismatched]
self-signed.badssl.com:443 [self-signed]
expired.badssl.com:443 [expired]
revoked.badssl.com:443 [revoked]
untrusted-root.badssl.com:443 [untrusted]
```
### [JARM](https://engineering.salesforce.com/easily-identify-malicious-servers-on-the-internet-with-jarm-e095edac525a/) Impressão Digital TLS```console
$ echo hackerone.com | tlsx -jarm -silent

hackerone.com:443 [29d3dd00029d29d00042d43d00041d5de67cc9954cc85372523050f20b5007]
```
### [JA3](https://github.com/salesforce/ja3) Impressão digital TLS```console
$ echo hackerone.com | tlsx -ja3 -silent

hackerone.com:443 [20c9baf81bfe96ff89722899e75d0190]
```
### Saída JSON

**tlsx** suporta múltiplas flags de probe para consultar dados específicos, mas toda a informação está sempre disponível em formato JSON. Para automação e pós-processamento, usar a saída `-json` é a opção mais conveniente.```console
echo example.com | tlsx -json -silent | jq .
```
The input chunk is empty — no content was provided to translate. Please resend chunk 35 with its text included.```json
{
  "timestamp": "2022-08-22T21:22:59.799053+05:30",
  "host": "example.com",
  "ip": "93.184.216.34",
  "port": "443",
  "probe_status": true,
  "tls_version": "tls13",
  "cipher": "TLS_AES_256_GCM_SHA384",
  "not_before": "2022-03-14T00:00:00Z",
  "not_after": "2023-03-14T23:59:59Z",
  "subject_dn": "CN=www.example.org, O=Internet Corporation for Assigned Names and Numbers, L=Los Angeles, ST=California, C=US",
  "subject_cn": "www.example.org",
  "subject_org": [
    "Internet Corporation for Assigned Names and Numbers"
  ],
  "subject_an": [
    "www.example.org",
    "example.net",
    "example.edu",
    "example.com",
    "example.org",
    "www.example.com",
    "www.example.edu",
    "www.example.net"
  ],
  "issuer_dn": "CN=DigiCert TLS RSA SHA256 2020 CA1, O=DigiCert Inc, C=US",
  "issuer_cn": "DigiCert TLS RSA SHA256 2020 CA1",
  "issuer_org": [
    "DigiCert Inc"
  ],
  "fingerprint_hash": {
    "md5": "c5208a47259d540a6e3404dddb85af91",
    "sha1": "df81dfa6b61eafdffffe1a250240db5d2e6cee25",
    "sha256": "7f2fe8d6b18e9a47839256cd97938daa70e8515750298ddba2f3f4b8440113fc"
  },
  "tls_connection": "ctls",
  "sni": "example.com"
}
```
### Integração com o Dashboard PDCP

**tlsx** suporta o envio de resultados de varredura para o painel da ProjectDiscovery Cloud Platform (PDCP) para visualização e análise.

#### Envio de Resultados em Tempo Real

Ative o upload para o painel para enviar automaticamente os resultados à medida que forem descobertos:```console
$ tlsx -u example.com -pd -json
```
Os resultados serão automaticamente enviados para o PDCP e você receberá um URL de dashboard para visualizá-los.

#### Enviando um arquivo existente

Envie um arquivo de saída JSONL salvo anteriormente para o PDCP:```console
$ tlsx -pdu results.jsonl -tid your-team-id -aname "My Scan"
```
#### Opções de Configuração

- `-pd, --dashboard`: Ativar upload em tempo real para o painel PDCP
- `-pdu, --dashboard-upload <file>`: Enviar um arquivo JSONL específico para o PDCP
- `-auth <key>`: Chave de API do PDCP (também pode ser definida via ambiente ou manipulador de credenciais)
- `-tid, --team-id <id>`: Especificar ID da equipe para uploads
- `-aid, --asset-id <id>`: Enviar para um ID de ativo existente
- `-aname, --asset-name <name>`: Definir um nome personalizado para o grupo de ativos

Exemplo com todas as opções:```console
$ tlsx -u example.com -pd -json -tid team123 -aname "Production Scan"
```
## Configuração

### Modo de varredura

O tlsx fornece vários modos para fazer conexão TLS -

- `auto` (fallback automático para outros modos em caso de falha) - **padrão**
- `ctls` (**[crypto/tls](https://github.com/golang/go/blob/master/src/crypto/tls/tls.go)**)
- `ztls` (**[zcrypto/tls](https://github.com/zmap/zcrypto)**)
- `openssl` (**[openssl](https://github.com/openssl/openssl)**)

Algumas dicas para o modo/biblioteca específico são destacadas em [discussões vinculadas](https://github.com/projectdiscovery/tlsx/discussions/2). O modo `auto` é suportado para garantir a cobertura máxima e a varredura dos hosts que executam versões mais antigas de TLS, repetindo a conexão usando os modos `ztls` e `openssl` em caso de qualquer erro de conexão.

Um exemplo de uso do modo `ztls` para escanear um site que usa versão antiga/desatualizada de TLS.```console
$ echo tls-v1-0.badssl.com | tlsx -port 1010 -sm ztls
  

  _____ _    _____  __
 |_   _| |  / __\ \/ /
   | | | |__\__ \>  < 
   |_| |____|___/_/\_\  v0.0.1

    projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.

tls-v1-0.badssl.com:1010
```
### OpenSSL

Para usar o modo de conexão openssl, você precisará ter o openssl instalado no seu sistema. A maioria dos sistemas modernos vem com openssl pré-instalado, mas se não estiver presente no seu sistema, você pode instalá-lo manualmente. Você pode verificar se o openssl está instalado executando o comando `openssl version`. Se o openssl estiver instalado, esse comando exibirá o número da versão.

<table>
<tr>
<td>

### Pré-handshake (encerramento antecipado)

**tlsx** suporta o encerramento antecipado da conexão SSL, o que permite varreduras mais rápidas e menos solicitações de conexão (desconectando após o `serverhello` do TLS e os dados do certificado serem coletados).

Para mais detalhes, consulte [Hunting-Certificates-And-Servers](https://github.com/erbbysam/Hunting-Certificates-And-Servers/blob/master/Hunting%20Certificates%20%26%20Servers.pdf) por [@erbbysam](https://twitter.com/erbbysam)

Um exemplo do uso do modo `-pre-handshake`:```console
$ tlsx -u example.com -pre-handshake 
  

  _____ _    _____  __
 |_   _| |  / __\ \/ /
   | | | |__\__ \>  < 
   |_| |____|___/_/\_\  v0.0.1

    projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.

example.com:443
```
> **Nota**:

> O modo **pre-handshake** utiliza `ztls` (**zcrypto/tls**), o que também significa que o suporte é limitado até `TLS v1.2`, pois `TLS v1.3` não é suportado pela biblioteca `ztls`.

</table>
</tr>
</td>

### Versão TLS

As versões **mínima** e **máxima** de TLS podem ser especificadas usando as flags `-min-version` e `-max-version`; por padrão, esses valores são definidos pela biblioteca subjacente utilizada.

Os valores aceitáveis para a versão de TLS estão especificados abaixo.

- `ssl30`
- `tls10`
- `tls11`
- `tls12`
- `tls13`

Aqui está um exemplo usando `max-version` para varrer hosts que suportam uma versão mais antiga de TLS, ou seja, **TLS v1.0**```console
$ tlsx -u example.com -max-version tls10
  

  _____ _    _____  __
 |_   _| |  / __\ \/ /
   | | | |__\__ \>  < 
   |_| |____|___/_/\_\  v0.0.1

    projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
example.com:443
```
### Cifra Personalizada

A cifra personalizada suportada pode ser fornecida usando a flag `-cipher-input / -ci`; a lista de cifras suportadas para cada modo está disponível na [página wiki](https://github.com/projectdiscovery/tlsx/wiki/Ciphers).```console
$ tlsx -u example.com -ci TLS_AES_256_GCM_SHA384 -cipher
```
No input content was provided to translate. Please provide the chunk text.```console
$ tlsx -u example.com -ci cipher_list.txt -cipher
```
## Agradecimentos

Este programa usa opcionalmente:

- biblioteca [zcrypto](https://github.com/zmap/zcrypto) da equipe zmap.
- biblioteca [cfssl](https://github.com/cloudflare/cfssl) da equipe cloudflare
- dados de cifras de [ciphersuite.info](https://ciphersuite.info) para classificação de ciphersuites

--------

<div align="center">

tlsx é feito com ❤️ pela equipe [projectdiscovery](https://projectdiscovery.io) e distribuído sob a [Licença MIT](https://github.com/projectdiscovery/tlsx/blob/main/LICENSE).


<a href="https://discord.gg/projectdiscovery"><img src="https://assets.kitploit.com/production/public/readmes/41152/d0624f94cb9ea6401be5a089bb694bc963c47fa82aa3b758c893e3b0bbfdf663.png" width="300" alt="Entrar no Discord"></a>

</div>

### Streaming de Logs de Certificate Transparency (CT)

O `tlsx` pode operar em modo _fire-hose_ que transmite continuamente certificados TLS recém-emitidos do ecossistema público de Certificate Transparency, fornecendo um feed quase em tempo real de nomes de host e metadados.

Ative o modo de logs de CT usando a opção `-ctl` (padrão quando nenhuma entrada é fornecida):```bash
tlsx -ctl -silent | jq .subject_an
```
#### Offsets iniciais

A ferramenta oferece três comportamentos de início mutuamente exclusivos controlados pelas seguintes flags:

| Flag | Comportamento |
|------|-----------|
| _default_ | Iniciar **agora** (tamanho da árvore na inicialização) – apenas certificados futuros são transmitidos |
| `-cb, --ctl-beginning` | Começar do índice **0** para cada log (replay histórico completo) |
| `-cti, --ctl-index <log>=<n>` | Índice personalizado por log (repetível). Define o índice inicial como _n_ para o URL/ID do log especificado. Exemplo: `--ctl-index https://ct.googleapis.com/logs/argon2023=123456` |```bash
# Replay the entire history
$ tlsx -ctl -cb -silent > all_certs.jsonl

# Resume at custom positions for two logs
$ tlsx -ctl -cti https://ct.googleapis.com/logs/argon2023=987654 -cti cloudflare-nimbus2024=543210 \
      -silent | jq -r .ct_source
```
Por padrão, duplicatas são filtradas usando um grande filtro Bloom inverso. Passe `-v` para observar estatísticas detalhadas.
Baixar ferramenta