Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
tlsx — Быстрый и настраиваемый TLS-граббер, предназначенный для сбора данных на основе TLS. | Kitploit
Инструменты/GitHubGitHub/projectdiscovery/tlsx
РазведкаПеречисление DNS и поддоменовСбор информацииСетевая безопасностьНеправильная Конфигурация
GitHubprojectdiscovery/tlsx

tlsx

Быстрый и настраиваемый TLS-граббер, предназначенный для сбора данных на основе TLS.

Репозиторий
1.1k156506 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
<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">Возможности</a> •
  <a href="#installation">Установка</a> •
  <a href="#usage">Использование</a> •
  <a href="#running-tlsx">Запуск tlsx</a> •
  <a href="https://discord.gg/projectdiscovery">Присоединиться к Discord</a>
</p>


Быстрый и настраиваемый сборщик TLS, ориентированный на **сбор и анализ данных** на основе TLS.


# Возможности

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

 - Быстрое и полностью настраиваемое TLS-соединение
 - Несколько **режимов TLS-соединения**
 - Несколько **TLS-проб**
 - **Автоматический переход на резервный TLS** для старых версий TLS
 - **Pre Handshake** TLS-соединение (досрочное завершение)
 - Настраиваемый выбор **Cipher / SNI / TLS**
 - **JARM/JA3** TLS-отпечаток
 - **Ошибки конфигурации TLS**
 - Ввод **ASN,CIDR,IP,HOST,** и **URL**
 - STD **IN/OUT** и **TXT/JSON** вывод


## Установка

tlsx требует **Go 1.24** для успешной установки. Для установки просто выполните команду ниже или загрузите готовый бинарный файл со [страницы релизов](https://github.com/projectdiscovery/tlsx/releases).```console
go install github.com/projectdiscovery/tlsx/cmd/tlsx@latest
```
## Использование```console
tlsx -h
```
Это покажет справку для инструмента. Вот все переключатели, которые он поддерживает.```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
```
## Using tlsx as library

Examples of using tlsx as library are provided in the [examples](https://github.com/projectdiscovery/tlsx/blob/main/examples) folder.

## Running tlsx

### Input for tlsx

**tlsx** requires **ip** to make TLS connection and accept multiple format as listed below:```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
```
Входной хост можно указать с помощью флага `-host / -u`, несколько значений можно указать через запятую, аналогично поддерживается ввод из **файла** с помощью флага `-list / -l`.

Пример ввода хостов через запятую:```console
$ tlsx -u 93.184.216.34,example.com,example.com:443,https://example.com:443 -silent
```
Пример ввода хостов на основе файла:```console
$ tlsx -list host_list.txt
```
**Port Input:**

**tlsx** по умолчанию подключается к порту **443**, который можно изменить с помощью флага `-port / -p`. Можно указать один или несколько портов, используя ввод через запятую или файл с разделителями строк, содержащий список портов для подключения.


Пример ввода портов через запятую:```
$ tlsx -u hackerone.com -p 443,8443
```
Пример ввода портов из файла:```
$ tlsx -u hackerone.com -p port_list.txt
```
**Примечание:**

> Когда входной хост содержит порт, например, `8.8.8.8:443` или `hackerone.com:8443`, порт, указанный вместе с хостом, будет использоваться для TLS-подключения вместо порта по умолчанию или указанного с помощью флага `-port / -p`.

### TLS Probe (запуск по умолчанию)

Это запустит инструмент против заданного диапазона CIDR и вернет хосты, которые принимают TLS-подключение на порту 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
```
### Проверка SAN/CN

TLS-сертификат содержит DNS-имена в полях **subject alternative name** и **common name**, которые можно извлечь с помощью флагов `-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]
```
Для удобства автоматизации опционально можно использовать флаг `-resp-only`, чтобы выводить в CLI только DNS-имена.```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
```
**субдомены**, полученные из TLS-сертификатов, могут быть переданы по конвейеру в другие инструменты PD для дальнейшего исследования; вот пример передачи TLS-субдоменов в **[dnsx](https://github.com/projectdiscovery/dnsx)** для фильтрации пассивных субдоменов и их передачи в **[httpx](https://github.com/projectdiscovery/httpx)** для получения списка хостов с активными веб-сервисами.```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
```
### TLS / Cipher Probe```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]
```
# Неправильная конфигурация TLS

### Просроченный / самоподписанный / несоответствующий / отозванный / недоверенный сертификат

В tlsx можно передать список хостов для обнаружения **просроченных / самоподписанных / несоответствующих / отозванных / недоверенных** сертификатов.```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/) TLS-отпечаток```console
$ echo hackerone.com | tlsx -jarm -silent

hackerone.com:443 [29d3dd00029d29d00042d43d00041d5de67cc9954cc85372523050f20b5007]
```
### [JA3](https://github.com/salesforce/ja3) TLS-отпечаток```console
$ echo hackerone.com | tlsx -ja3 -silent

hackerone.com:443 [20c9baf81bfe96ff89722899e75d0190]
```
### Вывод в формате JSON

**tlsx** поддерживает несколько флагов проб для запроса конкретных данных, но вся информация всегда доступна в формате JSON; для автоматизации и постобработки использование вывода `-json` — наиболее удобный вариант.```console
echo example.com | tlsx -json -silent | jq .
```
...they are extracted). This is the end of a sentence and then a new paragraph begins.

When all modules are loaded, the [`start_ui()`](https://github.com/projectdiscovery/tlsx/blob/main/src/pysion/ui.py) method is called which launches the graphical user interface.```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"
}
```
### Интеграция с панелью PDCP

**tlsx** поддерживает загрузку результатов сканирования на панель ProjectDiscovery Cloud Platform (PDCP) для визуализации и анализа.

#### Загрузка результатов в реальном времени

Включите загрузку на панель, чтобы результаты автоматически загружались по мере их обнаружения:```console
$ tlsx -u example.com -pd -json
```
Результаты будут автоматически загружены в PDCP, и вы получите URL-адрес панели мониторинга для их просмотра.

#### Загрузка существующего файла

Загрузите ранее сохранённый выходной файл JSONL в PDCP:```console
$ tlsx -pdu results.jsonl -tid your-team-id -aname "My Scan"
```
#### Параметры конфигурации

- `-pd, --dashboard`: Включить загрузку в реальном времени на дашборд PDCP
- `-pdu, --dashboard-upload <file>`: Загрузить конкретный файл JSONL в PDCP
- `-auth <key>`: API-ключ PDCP (также можно задать через переменные окружения или обработчик учётных данных)
- `-tid, --team-id <id>`: Указать ID команды для загрузок
- `-aid, --asset-id <id>`: Загрузить в существующий ID актива
- `-aname, --asset-name <name>`: Задать собственное имя для группы активов

Пример со всеми параметрами:```console
$ tlsx -u example.com -pd -json -tid team123 -aname "Production Scan"
```
## Конфигурация

### Режим сканирования

tlsx предоставляет несколько режимов для установления TLS-соединения -

- `auto` (автоматический переход на другие режимы при сбое) - **по умолчанию**
- `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)**)

Некоторые указания по конкретному режиму / библиотеке приведены в [связанных обсуждениях](https://github.com/projectdiscovery/tlsx/discussions/2), режим `auto` поддерживается для обеспечения максимального охвата и сканирования хостов, работающих на более старой версии TLS, путем повторной попытки подключения с использованием режимов `ztls` и `openssl` при любой ошибке подключения.

Пример использования режима `ztls` для сканирования веб-сайта, использующего старую / устаревшую версию 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

Для использования режима подключения через openssl вам потребуется установить openssl в вашей системе. Большинство современных систем поставляются с предустановленным openssl, но если он отсутствует в вашей системе, вы можете установить его вручную. Проверить, установлен ли openssl, можно выполнив команду `openssl version`. Если openssl установлен, эта команда отобразит номер версии.

<table>
<tr>
<td>

### Pre-Handshake (Досрочное завершение)

**tlsx** поддерживает преждевременное завершение SSL-соединения, что обеспечивает более быстрое сканирование и меньшее количество запросов на подключение (отключение после получения `serverhello` TLS и данных сертификата).

Для получения дополнительной информации обратитесь к [Hunting-Certificates-And-Servers](https://github.com/erbbysam/Hunting-Certificates-And-Servers/blob/master/Hunting%20Certificates%20%26%20Servers.pdf) от [@erbbysam](https://twitter.com/erbbysam)

Пример использования режима `-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
```
> **Примечание**:

> Режим **pre-handshake** использует `ztls` (**zcrypto/tls**), что также означает, что поддержка ограничена до `TLS v1.2`, поскольку `TLS v1.3` не поддерживается библиотекой `ztls`.

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

### Версия TLS

**Минимальная** и **максимальная** версии TLS могут быть указаны с помощью флагов `-min-version` и `-max-version`; по умолчанию эти значения задаются используемой нижележащей библиотекой.

Допустимые значения версии TLS указаны ниже.

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

Вот пример использования `max-version` для сканирования хостов, поддерживающих более старую версию TLS, т.е. **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
```
### Пользовательский шифр

Пользовательский шифр можно задать с помощью флага `-cipher-input / -ci`, список поддерживаемых шифров для каждого режима доступен на [странице вики](https://github.com/projectdiscovery/tlsx/wiki/Ciphers).```console
$ tlsx -u example.com -ci TLS_AES_256_GCM_SHA384 -cipher
```
The input content for chunk 51 is empty — there is no source text to translate. Please provide the actual Markdown content for this chunk.```console
$ tlsx -u example.com -ci cipher_list.txt -cipher
```
## Благодарности

Эта программа опционально использует:

- библиотеку [zcrypto](https://github.com/zmap/zcrypto) от команды zmap.
- библиотеку [cfssl](https://github.com/cloudflare/cfssl) от команды cloudflare
- данные о шифрах с [ciphersuite.info](https://ciphersuite.info) для классификации наборов шифров

--------

<div align="center">

tlsx создан с ❤️ командой [projectdiscovery](https://projectdiscovery.io) и распространяется под [лицензией 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="Join Discord"></a>

</div>

### Потоковая передача журналов Certificate Transparency (CT)

`tlsx` может работать в режиме _fire-hose_, который непрерывно транслирует вновь выпущенные TLS-сертификаты из публичной экосистемы Certificate Transparency, обеспечивая поток имён хостов и метаданных, близкий к реальному времени.

Включите режим журналов CT с помощью флага `-ctl` (по умолчанию, если входные данные не указаны):```bash
tlsx -ctl -silent | jq .subject_an
```
#### Начальные смещения

Инструмент предлагает три взаимоисключающих варианта начала работы, управляемых следующими флагами:

| Флаг | Поведение |
|------|-----------|
| _по умолчанию_ | Начать **сейчас** (размер дерева на момент запуска) – будут передаваться только будущие сертификаты |
| `-cb, --ctl-beginning` | Начать с индекса **0** для каждого лога (полное воспроизведение истории) |
| `-cti, --ctl-index <log>=<n>` | Пользовательский индекс для каждого лога (можно повторять). Устанавливает начальный индекс в _n_ для указанного URL/ID лога. Пример: `--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
```
По умолчанию дубликаты отсеиваются с помощью большого инверсного фильтра Блума. Передайте `-v`, чтобы увидеть подробную статистику.
Скачать инструмент