TLSX

A fast and configurable TLS grabber focused on TLS based data collection and analysis.

Usage

Usage: tlsx [options]

Options

Input

OptionDescription
-u, -hosttarget host to scan (-u INPUT1,INPUT2)
-l, -listtarget list to scan (-l INPUT_FILE)
-p, -porttarget port to connect (default 443)

Scan Mode

OptionDescription
-sm, -scan-modetls connection mode to use (ctls, ztls, openssl, auto) (default “auto”)
-ps, -pre-handshakeenable pre-handshake tls connection (early termination) using ztls
-sa, -scan-all-ipsscan all ips for a host (default false)
-iv, -ip-versionip version to use (4, 6) (default 4)

Probes

OptionDescription
-sandisplay subject alternative names
-cndisplay subject common names
-sodisplay subject organization name
-tv, -tls-versiondisplay used tls version
-cipherdisplay used cipher
-hash stringdisplay certificate fingerprint hashes (md5, sha1, sha256)
-jarmdisplay jarm fingerprint hash
-ja3display ja3 fingerprint hash (using ztls)
-ja3sdisplay ja3s fingerprint hash (using ztls)
-wc, -wildcard-certdisplay host with wildcard ssl certificate
-tps, -probe-statusdisplay tls probe status
-ve, -version-enumenumerate and display supported tls versions
-ce, -cipher-enumenumerate and display supported cipher
-ct, -cipher-type valueciphers types to enumerate. possible values: all/secure/insecure/weak (comma-separated) (default all)
-ch, -client-helloinclude client hello in json output (ztls mode only)
-sh, -server-helloinclude server hello in json output (ztls mode only)
-se, -serialdisplay certificate serial number

Certificate Transperency Logs

OptionDescription
-ctl, -ct-logsenable certificate transparency logs streaming mode
-cb, -ctl-beginningstart streaming each CT log from index 0
-cti, -ctl-index string[]custom start index per log using source ID: <sourceID>=<index> (e.g. google_xenon2025h2=12345)

Misconfigurations

OptionDescription
-ex, -expireddisplay host with expired certificate
-ss, -self-signeddisplay host with self-signed certificate
-mm, -mismatcheddisplay host with mismatched certificate
-re, -revokeddisplay host with revoked certificate
-un, -untrusteddisplay host with untrusted certificate

Configurations

OptionDescription
-config stringpath to the tlsx configuration file
-r, -resolvers string[]list of resolvers to use
-cc, -cacert stringclient certificate authority file
-ci, -cipher-input string[]ciphers to use with tls connection
-sni string[]tls sni hostname to use
-rs, -random-sniuse random sni when empty
-rps, -rev-ptr-sniperform reverse PTR to retrieve SNI from IP
-min-version stringminimum tls version to accept (ssl30, tls10, tls11, tls12, tls13)
-max-version stringmaximum tls version to accept (ssl30, tls10, tls11, tls12, tls13)
-cert, -certificateinclude certificates in json output (PEM format)
-tc, -tls-chaininclude certificates chain in json output
-vc, -verify-certenable verification of server certificate
-ob, -openssl-binary stringOpenSSL Binary Path
-hf, -hardfailstrategy to use if encountered errors while checking revocation status
-proxy stringsocks5 proxy to use for tlsx

Optimizations

OptionDescription
-c, -concurrency intnumber of concurrent threads to process (default 300)
-cec, -cipher-concurrency intcipher enum concurrency for each target (default 10)
-timeout inttls connection timeout in seconds (default 5)
-retry intnumber of retries to perform for failures (default 3)
-delay stringduration to wait between each connection per thread (eg: 200ms, 1s)

Update

OptionDescription
-up, -updateupdate tlsx to latest version
-duc, -disable-update-checkdisable automatic tlsx update check

Output

OptionDescription
-o, -output stringfile to write output to
-j, -jsondisplay json format output
-dnsdisplay unique hostname from SSL certificate response
-ro, -resp-onlydisplay tls response only
-silentdisplay silent output
-nc, -no-colordisable colors in cli output
-v, -verbosedisplay verbose output
-versiondisplay project version

Debug

OptionDescription
-health-check, -hcrun diagnostic check up