Herramienta gratis

Decodificador de JA4 fingerprint

Pega un JA4 o JA4_r y lee lo que el cliente ofreció en su handshake TLS.

Un handshake, tres partes

t13d1516h2_8daaf6152771_e5627efa2ab1

  • tTCP
  • 13TLS 1.3
  • dNombre del servidor
  • 15Cipher suites
  • 16Extensiones
  • h2HTTP/2
  • Hash de cipher suites
  • Hash de extensiones

Decodificar una huella

Prueba

Se ejecuta en tu navegador. Nada de lo que pegas se envía.

Formato

Tres partes, un handshake

  1. t13d1516h2

    Legible: protocolo, versión, SNI, número de cipher suites, número de extensiones, primer valor ALPN.

  2. 8daaf6152771

    Cipher suites ordenadas y después SHA-256 recortado a 12 caracteres.

  3. e5627efa2ab1

    Extensiones ordenadas, sin SNI ni ALPN, y después los algoritmos de firma en su orden, con el mismo hash.

JA3 vs JA4

Por qué JA4 sustituyó a JA3

AspectoJA3JA4
HashUn solo MD5 de todos los camposPrefijo legible más dos hashes SHA-256 cortos
Orden de las extensionesSe hashea tal como se envía, así que el orden aleatorio de Chrome da un JA3 nuevo en cada conexiónSe ordena antes, el orden no importa
Legible sin consultar nadaNoProtocolo, versión, SNI, recuentos, ALPN
QUICSin marcaEmpieza por q
LicenciaBSD 3-ClauseBSD 3-Clause (solo JA4)

De dónde sale

Obtén el JA4 de una petición

Solo quien termina TLS ve el ClientHello. Un script en la página, nunca.

  • Cloudflare

    Bot Management lo pone en cf.bot_management.ja4 para las reglas y en request.cf.botManagement.ja4 en Workers.

  • AWS WAF

    Las reglas pueden filtrar por la huella JA4, y los logs del WAF la registran.

  • Tu propio proxy

    Cualquier cosa que termine TLS puede calcularlo y pasarlo en una cabecera como X-JA4.

  • Wireshark

    El plugin de FoxIO añade columnas JA4 a las capturas de paquetes.

Agentscan

El JA4 junto a cada veredicto

Envía el JA4 con cada comprobación de Agentscan. Se guarda con el veredicto, la dirección y la red, y el log muestra qué cliente TLS había detrás de cada petición.

  • Detrás de Cloudflare Bot Management, nuestro Worker lo lee y lo envía por ti.
  • En cualquier otro sitio, ponlo en el campo ja4 o en una cabecera X-JA4.
  • Sin edge no hay JA4: el log lo dice en vez de inventarse uno.
Comprobación de Agentscan con un JA4
curl -X POST https://ipscanner.io/v1/agentscan/check \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ip": "203.0.113.7",
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
    "ja4": "t13d1516h2_8daaf6152771_e5627efa2ab1"
  }'

FAQ

Huellas JA4: respuestas

¿Qué es una huella JA4?

Una cadena corta que describe un ClientHello TLS: el protocolo y la versión que ofreció el cliente, si envió un nombre de servidor, cuántas cipher suites y extensiones listó y su primer valor ALPN, seguidos de dos hashes de esas listas. FoxIO la publicó en 2023 como sucesora de JA3.

¿Qué significa t13d1516h2?

TLS sobre TCP, versión 1.3, un nombre de dominio en el SNI, 15 cipher suites, 16 extensiones y HTTP/2 como primer valor ALPN. Todo JA4 empieza con una parte así, y es la única que se lee sin consultar nada.

¿En qué se diferencia JA4 de JA3?

JA3 es un solo MD5 de los campos del handshake en el orden en que se enviaron. Chrome empezó a mezclar el orden de sus extensiones en 2023, así que el mismo navegador obtiene un JA3 nuevo en cada conexión. JA4 ordena antes las listas, se mantiene estable y conserva un prefijo legible.

¿Se puede falsificar un JA4?

Sí. Herramientas como curl-impersonate y uTLS copian el ClientHello de un navegador, así que un JA4 de navegador no demuestra por sí solo que haya un navegador. Sirve sobre todo cuando contradice otra cosa, como un user agent de Chrome que llega con un handshake de Python.

¿Puedo revertir los hashes de un JA4?

No. Las partes b y c son hashes SHA-256 recortados a 12 caracteres. Para ver las cipher suites y extensiones que hay detrás, registra el JA4_r, que guarda las listas en claro.

¿De dónde saco el JA4 de una petición?

De lo que termina TLS: tu CDN, tu balanceador de carga o tu proxy inverso. El JavaScript de la página no puede leerlo, porque el handshake termina antes de que se ejecute ningún script.

¿JA4 es de uso libre?

JA4, la huella del cliente TLS, tiene licencia BSD 3-Clause. Los demás métodos JA4+ (JA4S, JA4H, JA4X, JA4T y el resto) usan la FoxIO License 1.1, que pone condiciones al uso comercial, así que léela antes de integrarlos en un producto.