Kostenloses Tool
Fügen Sie einen JA4 oder JA4_r ein und sehen Sie, was der Client im TLS-Handshake angeboten hat.
t13d1516h2_8daaf6152771_e5627efa2ab1
Läuft in Ihrem Browser. Nichts, was Sie einfügen, wird gesendet.
Format
Lesbar: Protokoll, Version, SNI, Anzahl Cipher Suites, Anzahl Extensions, erster ALPN-Wert.
Cipher Suites, sortiert, dann SHA-256, gekürzt auf 12 Zeichen.
Extensions, sortiert, ohne SNI und ALPN, dann die Signaturalgorithmen in ihrer Reihenfolge, genauso gehasht.
JA3 vs. JA4
| Merkmal | JA3 | JA4 |
|---|---|---|
| Hash | Ein MD5 über alle Felder | Lesbares Präfix plus zwei kurze SHA-256-Hashes |
| Reihenfolge der Extensions | Gehasht wie gesendet, Chromes gemischte Reihenfolge ergibt pro Verbindung einen neuen JA3 | Erst sortiert, die Reihenfolge spielt keine Rolle |
| Ohne Nachschlagen lesbar | Nein | Protokoll, Version, SNI, Zählwerte, ALPN |
| QUIC | Keine Kennzeichnung | Beginnt mit q |
| Lizenz | BSD 3-Clause | BSD 3-Clause (nur JA4) |
Woher er kommt
Nur wer TLS terminiert, sieht das ClientHello. Skripte in der Seite sehen es nie.
Bot Management stellt ihn als cf.bot_management.ja4 für Regeln und als request.cf.botManagement.ja4 in Workers bereit.
Regeln können auf den JA4-Fingerprint prüfen, und die WAF-Logs zeichnen ihn auf.
Alles, was TLS terminiert, kann ihn berechnen und in einem Header wie X-JA4 weitergeben.
Das Plugin von FoxIO ergänzt Paketmitschnitte um JA4-Spalten.
Agentscan
Senden Sie den JA4 mit jeder Agentscan-Prüfung. Er wird mit dem Urteil, der Adresse und dem Netzwerk gespeichert, sodass das Log zeigt, welcher TLS-Client hinter jeder Anfrage stand.
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
Ein kurzer String, der ein TLS-ClientHello beschreibt: Protokoll und Version, die der Client angeboten hat, ob er einen Servernamen gesendet hat, wie viele Cipher Suites und Extensions er aufgeführt hat und seinen ersten ALPN-Wert, gefolgt von zwei Hashes dieser Listen. FoxIO hat ihn 2023 als Nachfolger von JA3 veröffentlicht.
TLS über TCP, Version 1.3, ein Domainname im SNI, 15 Cipher Suites, 16 Extensions und HTTP/2 als erster ALPN-Wert. Jeder JA4 beginnt mit so einem Teil, und nur diesen Teil kann man ohne Nachschlagen lesen.
JA3 ist ein einziger MD5 über die Handshake-Felder in der gesendeten Reihenfolge. Chrome mischt die Reihenfolge seiner Extensions seit 2023, wodurch derselbe Browser bei jeder Verbindung einen neuen JA3 bekommt. JA4 sortiert die Listen vorher, bleibt dadurch stabil und behält ein lesbares Präfix.
Ja. Werkzeuge wie curl-impersonate und uTLS kopieren das ClientHello eines Browsers, ein Browser-JA4 allein beweist also keinen Browser. Am nützlichsten ist er, wenn er etwas anderem widerspricht, etwa ein Chrome-User-Agent mit einem Python-Handshake.
Nein. Die Teile b und c sind auf 12 Zeichen gekürzte SHA-256-Hashes. Um die Cipher Suites und Extensions dahinter zu sehen, protokollieren Sie den JA4_r, der die Listen im Klartext enthält.
Von dem, was TLS terminiert: Ihrem CDN, Load Balancer oder Reverse Proxy. JavaScript in der Seite kann ihn nicht lesen, weil der Handshake vorbei ist, bevor ein Skript läuft.
JA4, der TLS-Client-Fingerprint, steht unter BSD 3-Clause. Die übrigen JA4+-Methoden (JA4S, JA4H, JA4X, JA4T und weitere) stehen unter der FoxIO License 1.1, die Bedingungen für kommerzielle Nutzung stellt. Lesen Sie sie, bevor Sie diese in ein Produkt einbauen.