Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ja4 — JA4+ est une suite de normes de fingerprinting réseau | Kitploit
Outils/GitHubGitHub/foxio-llc/ja4
Sniffing et Analyse de PaquetsOutils de Chiffrement/DéchiffrementSécurité IoTCartographie RéseauCriminalistique RéseauCollecte d'InformationsAnalyse de MalwareSécurité MobileRenseignement sur les MenacesDétection d'IntrusionUsurpation d'Empreinte Numérique
2.0k18496il y a 5 joursVérifié par Kitploit
Analyse DNS
GitHubfoxio-llc/ja4

ja4

JA4+ est une suite de normes de fingerprinting réseau

Voir le dépôtSite web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/6520/8c33d49cec0b788f1dbf683023b315183230f23b75d0b45004c116a43f4e8996.png" alt="logo" width="250"/>
</p>

# Empreinte réseau JA4+™ <!-- omit from toc -->

JA4+ est une suite de méthodes d'empreinte réseau par [FoxIO](https://foxio.io/) qui sont faciles à utiliser et à partager. Ces méthodes sont à la fois lisibles par l'humain et par la machine pour faciliter une chasse aux menaces et une analyse plus efficaces. Les cas d'utilisation de ces empreintes incluent la recherche d'acteurs de menaces, la détection de logiciels malveillants, la prévention du détournement de session, l'automatisation de la conformité, le suivi de localisation, la détection DDoS, le regroupement d'acteurs de menaces, la détection de shells inversés, et bien d'autres encore.

Pour une explication rapide de JA4+ et à utiliser comme référence lors de l'analyse, voir :  
[JA4+ Cheat Sheet](https://x.com/4A4133/status/1887269972545839559)

Pour des détails approfondis, veuillez lire nos blogs sur le fonctionnement de JA4+, pourquoi il fonctionne, et des exemples de ce qui peut être détecté/prévenu avec :  
[Empreinte réseau JA4+](https://foxio.io/blog/ja4-network-fingerprinting) (JA4/S/H/L/X/SSH)  
[JA4T : Empreinte TCP](https://foxio.io/blog/ja4t-tcp-fingerprinting) (JA4T/TS/TScan)  
[Enquête sur Surfshark et NordVPN avec JA4T](https://foxio.io/blog/investigating-surfshark-and-nordvpn-with-ja4t) (JA4T)  
[JA4D et JA4D6 : Empreinte DHCP](https://foxio.io/blog/ja4d-and-ja4d6-dhcp-fingerprinting) (JA4D/6)

Si vous aimez JA4+, pensez à acheter un t-shirt ou un sweat à capuche :  
[T-shirts, sweats à capuche et autocollants JA4+](https://store.foxio.io/)

## Table des matières <!-- omit from toc -->

- [Méthodes actuelles et détails d'implémentation](#current-methods-and-implementation-details)
- [Implémentations](#implementations)
- [Outils prenant en charge JA4+](#tools-that-support-ja4)
- [Exemples](#examples)
- [Plugins](#plugins)
- [Binaires](#binaries)
  - [Actifs de version](#release-assets)
  - [Installation de tshark](#installing-tshark)
    - [Linux](#linux)
    - [macOS](#macos)
    - [Windows](#windows)
  - [Exécution de JA4+](#running-ja4)
- [Base de données](#database)
- [Processus de version](#release-process)
  - [Comment créer une version](#how-to-create-a-release)
- [Détails JA4+](#ja4-details)
- [Licence](#licensing)
- [Q\&A](#qa)
- [JA4+ a été créé par](#ja4-was-created-by)

## Méthodes actuelles et détails d'implémentation

| Nom complet | Nom court | Description |
|---|---|---|
| JA4 | JA4 | Empreinte client TLS |
| JA4Server | JA4S | Empreinte de réponse serveur / session TLS |
| JA4HTTP | JA4H | Empreinte client HTTP |
| JA4Latency | JA4L | Mesure de latence client vers serveur / distance lumineuse |
| JA4LatencyServer | JA4LS | Mesure de latence serveur vers client / distance lumineuse |
| JA4X509 | JA4X | Empreinte de certificat TLS X509 |
| JA4SSH | JA4SSH | Empreinte de trafic SSH |
| JA4TCP | JA4T | Empreinte client TCP |
| JA4TCPServer | JA4TS | Empreinte de réponse serveur TCP |
| [JA4TCPScan](https://github.com/FoxIO-LLC/ja4tscan) | [JA4TScan](https://github.com/FoxIO-LLC/ja4tscan) | [Scanner actif d'empreintes TCP](https://github.com/FoxIO-LLC/ja4tscan) |
| JA4DHCP | JA4D | Empreinte DHCP |
| JA4DHCPv6 | JA4D6 | Empreinte DHCPv6 |
| JA4NTP | JA4N | Empreinte NTP |
| JA4Scan-TLS | JA4Scan-TLS | Scanner actif d'empreintes de serveur TLS |
| JA4Scan-QUIC | JA4Scan-QUIC | Scanner actif d'empreintes de serveur QUIC |

Le nom complet ou le nom court peuvent être utilisés de manière interchangeable. Des méthodes JA4+ supplémentaires sont en cours de développement...

Pour comprendre comment lire les empreintes JA4+, voir [Détails techniques](https://github.com/foxio-llc/ja4/blob/main/technical_details/README.md)

## Implémentations

Ce dépôt inclut JA4+ en

- [Python](https://github.com/foxio-llc/ja4/blob/main/python/README.md)
- [Rust](https://github.com/foxio-llc/ja4/blob/main/rust/README.md)
- [C, en tant que plugin Wireshark](https://github.com/foxio-llc/ja4/blob/main/wireshark/README.md).
- [Zeek](https://github.com/foxio-llc/ja4/blob/main/zeek/README.md)

## Outils prenant en charge JA4+

| Outil/Fournisseur | Prise en charge JA4+ |
|-------------|--------------|
| [Wireshark](https://github.com/FoxIO-LLC/ja4/tree/main/wireshark) | JA4+ |
| [Zeek](https://github.com/FoxIO-LLC/ja4/tree/main/zeek) | JA4+ |
| [Arkime](https://arkime.com/) | JA4+ (notre outil open source JA4+ recommandé) |
| [Suricata](https://docs.suricata.io/en/latest/rules/ja-keywords.html#ja4-hash) | JA4+ (en cours de développement) |
| [GreyNoise](https://www.greynoise.io/) | JA4+ |
| [Hunt](https://hunt.io/) | JA4+ |
| [Driftnet](https://driftnet.io/) | JA4+ |
| [GoLang (1)](https://github.com/driftnet-io/go-ja4x) | JA4X |
| [GoLang (2)](https://github.com/exaring/ja4plus) | JA4 |
| [nzyme](https://www.nzyme.org/) | JA4+ (en cours de développement) |
| [CapLoader de Netresec](https://www.netresec.com/?page=Blog&month=2023-11&post=CapLoader-1-9-6-Released) | JA4+ (en cours de développement) |
| [NetworkMiner de Netresec](https://www.netresec.com/?page=NetworkMiner) | JA4+ (en cours de développement) |
| [NGINX](https://github.com/FoxIO-LLC/ja4-nginx-module) | JA4+ |
| [F5 BIG-IP](https://github.com/f5devcentral/f5-ja4) | JA4+ |
| [nfdump](https://github.com/phaag/nfdump) | JA4+ |
| [ntopng de ntop](https://github.com/ntop/ntopng) | JA4+ |
| [nDPI de ntop](https://github.com/ntop/nDPI) | JA4 |
| [Team Cymru](https://www.team-cymru.com/) | JA4+ |
| [NetQuest](https://netquestcorp.com/) | JA4+ |
| [Censys](https://censys.com/) | JA4+ |
| [Netryx d'Exploit.org](https://github.com/OWASP/www-project-netryx) | JA4 et JA4H |
| [Cloudflare](https://developers.cloudflare.com/bots/concepts/ja3-ja4-fingerprint/) | JA4 |
| [Fastly](https://www.fastly.com/documentation/reference/vcl/variables/client-connection/tls-client-ja4/) | JA4+ (demandez-le) |
| [MISP](https://www.misp-project.org/) | JA4+ |
| [OCSF](https://schema.ocsf.io/1.3.0-dev/objects/ja4_fingerprint?extensions=) | JA4+ |
| [Vercel](https://vercel.com/docs/security/tls-fingerprints) | JA4 |
| [Seika](https://seika.io/) | JA4+ |
| [VirusTotal](https://www.virustotal.com/) | JA4 |
| [AWS Cloudfront](https://aws.amazon.com/about-aws/whats-new/2024/10/amazon-cloudfront-ja4-fingerprinting/) | JA4 |
| [ELLIO](https://ellio.tech/) | JA4+ |
| [Webscout](https://webscout.io/) | JA4+ |
| [Rama](https://github.com/plabayo/rama) | JA4 et JA4H |
| [Vectra](https://www.vectra.ai/) | JA4+ |
| [AWS WAF](https://aws.amazon.com/about-aws/whats-new/2025/03/aws-waf-ja4-fingerprinting-aggregation-ja3-ja4-fingerprints-rate-based-rules/) | JA4 |
| [Tacticly](https://tactic.ly/) | JA4+ |
| [Palo Alto Networks](https://www.paloaltonetworks.com/) | JA4+ |
| [ngrok](https://ngrok.com/docs/traffic-policy/variables/connection/#conntlsja4_fingerprint) | JA4 |
| [Vertex Synapse](https://vertex.link/) | JA4 et JA4S |
| [Google Cloud Armor](https://cloud.google.com/armor/docs/rules-language-reference#allow_or_deny_traffic_based_on_a_known_ja4_fingerprint) | JA4 |
| [Fortinet](https://docs.fortinet.com/document/fortindr-cloud/25.2.c/user-guide/393114/event-fields#SSL) | JA4 |
| [AppOmni](https://appomni.com/) | JA4+ |
| [IntelliGenesis](https://intelligenesisllc.com/) | JA4+ |
| [HAProxy](https://www.haproxy.org/) | [JA4](https://github.com/O-X-L/haproxy-ja4-fingerprint) et [JA4H](https://github.com/O-X-L/haproxy-ja4h-fingerprint) plugins par [OXL](https://www.o-x-l.com/) |
| [SentinelOne](https://www.sentinelone.com/) | JA4 |
| [Akamai](https://techdocs.akamai.com/application-security/reference/get-ja4-fingerprint-settings) | JA4 |
| [Alibaba Cloud](https://www.alibabacloud.com/help/en/anti-ddos/anti-ddos-pro-and-premium/user-guide/fields-included-in-full-logs) | JA4 |
| [Huawei Cloud](https://support.huaweicloud.com/intl/en-us/usermanual-waf/waf_01_3157.html) | JA4 |
| [Google Cloud LBs](https://cloud.google.com/release-notes#July_28_2025) | JA4 |
| [eSentire](https://www.esentire.com/) | JA4+ |
| [Microsoft Azure Front Door CDN](https://learn.microsoft.com/en-us/azure/frontdoor/front-door-http-headers-protocol) | JA4 |
| [Synapse](https://github.com/gen0sec/synapse) par [Gen0Sec](https://gen0sec.com) | JA4X |
| [Zscaler](https://www.zscaler.com/blogs/product-insights/zscaler-endpoint-context-endpoint-cloud-visibility-and-enforcement-secops) | JA4 |
| [ExtraHop](https://www.extrahop.com/) | JA4+ |
| [Validin](https://www.validin.com/) | JA4+ |
| [Auth0](https://auth0.com/changelog#40upcFBPuFxKG7nacgSlQc) | JA4 |
| [Security Onion](https://blog.securityonion.net/2026/03/security-onion-300-now-available-with.html) | JA4+ |
| [bunny.net](https://docs.bunny.net/cdn/security/ja4-fingerprinting) | JA4 |
| [ENEA](https://www.enea.com/) | JA4+ |
| [F5 Distributed Cloud Services](https://www.f5.com/products/distributed-cloud-services) | JA4+ |

avec plus à annoncer...  

## Exemples

| Application |Empreintes JA4+ |
|----|----|
| Chrome | ```JA4=t13d1517h2_8daaf6152771_cb7bf5808d99``` (TCP) <br/> ```JA4=q13d0312h3_55b375c5d22e_178839b6cec1``` (QUIC) |
| Dropper de logiciel malveillant IcedID | ```JA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982``` |
| Logiciel malveillant IcedID | ```JA4=t13d201100_2b729b4bf6f3_9e7b989ebec8``` <br/> ```JA4S=t120300_c030_5e2616a54c73``` |
| Logiciel malveillant Sliver | ```JA4=t13d190900_9dc949149365_97f8aa674fd9``` <br/> ```JA4S=t130200_1301_a56c5b993250``` <br/> ```JA4X=000000000000_4f24da86fad6_bf0f0589fc03``` <br/> ```JA4X=000000000000_7c32fa18c13e_bf0f0589fc03``` |
| Cobalt Strike | ```JA4H=ge11cn060000_4e59edc1297a_4da5efaf0cbd``` <br/> ```JA4X=2166164053c1_2166164053c1_30d204a01551``` |
| SoftEther VPN | ```JA4=t13d880900_fcb5b95cb75a_b0d3b4ac2a14``` (client) <br/> ```JA4S=t130200_1302_a56c5b993250``` <br/> ```JA4X=d55f458d5a6c_d55f458d5a6c_0fc8c171b6ae``` |
| Qakbot | ```JA4X=2bab15409345_af684594efb4_000000000000``` |
| Pikabot | ```JA4X=1a59268f55e5_1a59268f55e5_795797892f9c``` |
| Darkgate | ```JA4H=po10nn060000_cdb958d032b0``` |
| LummaC2 | ```JA4H=po11nn050000_d253db9d024b``` |
| Evilginx | ```JA4=t13d191000_9dc949149365_e7c285222651``` |
| Shell SSH inversé | ```JA4SSH=c76s76_c71s59_c0s70``` |
| Windows 11 | ```JA4T=64240_2-1-3-1-1-4_1460_8``` |
| Imprimante Epson | ```JA4TScan=28960_2-4-8-1-3_1460_3_1-4-8-16``` |
| Windows 11 | ```JA4D=disco0000in_61-12-60-55_1-3-6-15-31-33-43-44-46-47-119-121-249-252``` |
| Récepteur Sony | ```JA4D6=solct0010nn_8-1-3-6_24-23``` |

Pour plus d'exemples, voir [ja4plus-mapping.csv](https://github.com/foxio-llc/ja4/blob/main/ja4plus-mapping.csv)  
Pour une base de données complète, voir [ja4db.com](https://ja4db.com/)

## Plugins

[Wireshark](https://github.com/FoxIO-LLC/ja4/tree/main/wireshark)  
[Zeek](https://github.com/FoxIO-LLC/ja4/tree/main/zeek)  
[Arkime](https://arkime.com/settings#ja4plus)

## Binaires

Les binaires JA4 sont construits à partir de l'[implémentation Rust](https://github.com/foxio-llc/ja4/blob/main/rust/README.md) de la suite. Pour garantir une fonctionnalité complète, `tshark` (version 4.0.6 ou ultérieure) est requis. Téléchargez les derniers binaires JA4 depuis la page [Releases](https://github.com/FoxIO-LLC/ja4/releases). Les versions de publication pour l'implémentation Rust suivent le [Versionnement sémantique](https://semver.org/) et sont marquées comme `vX.Y.Z`, contrairement aux versions du plugin Wireshark.

### Actifs de version


Les actifs de version sont nommés selon le composant et la plateforme :

- **Rust :**
  - `ja4-vX.Y.Z-<architecture>-<plateforme>.tar.gz` (par exemple, `ja4-v0.18.5-x86_64-unknown-linux-musl.tar.gz`)
- **Python :**
  - `ja4-python-vX.Y.Z.tar.gz` (contient le répertoire complet `python/`)
- **Wireshark :**
  - `ja4.so.linux`, `ja4.so.macos`, `ja4.dll` (attachés à une version nommée comme `wireshark-vX.Y.Z`)

Choisissez le fichier approprié pour votre système et votre composant.

### Installation de tshark

#### Linux

Installez-le à l'aide de votre gestionnaire de paquets (le nom du paquet `tshark` ou `wireshark-cli` dépend de la distribution). Par exemple, sur Ubuntu :```sh
sudo apt install tshark
```
#### macOS

1. [Téléchargez](https://www.wireshark.org/download.html) et installez Wireshark (inclut `tshark`).
2. Ajoutez `tshark` à votre `PATH` :   ```sh
   sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
   ```
#### Windows

1. [Téléchargez](https://www.wireshark.org/download.html) et installez Wireshark (inclut `tshark.exe`).
2. Localisez `tshark.exe` (généralement dans `C:\Program Files\Wireshark\tshark.exe`).
3. Ajoutez le dossier contenant `tshark.exe` à votre `PATH` système :
   - Ouvrez **Propriétés système** > **Variables d'environnement** > **Modifier le chemin**.

### Exécution de JA4+

Une fois `tshark` et les binaires JA4+ disponibles, exécutez JA4+ à l'aide de la commande suivante :

- Sous Linux et macOS :  ```sh
  ./ja4 [options] [pcap]
  ```
- Sous Windows, ouvrez l'**Invité de commandes** et exécutez :  ```cmd
  ja4 [options] [pcap]
  ```
Pour plus de détails sur l'exécution de JA4+ et ses configurations avancées, consultez le [README de l'implémentation Rust](https://github.com/foxio-llc/ja4/blob/main/rust/README.md), qui fournit des informations sur ses fonctionnalités, ses scénarios d'utilisation et ses options de personnalisation.

## Base de données

La base de données officielle JA4+ des empreintes, des applications associées et de la logique de détection recommandée se trouve ici : [ja4db.com](https://ja4db.com/)  
Cette base de données est en cours de développement très actif. Attendez-vous à des ordres de grandeur supplémentaires de combinaisons d'empreintes et de données au cours des prochains mois.

Un exemple de [ja4plus-mapping.csv](https://github.com/foxio-llc/ja4/blob/main/ja4plus-mapping.csv) est également disponible pour une référence rapide.

## Processus de publication

JA4+ utilise GitHub Actions pour automatiser les publications de ses composants Rust, Python, Wireshark et Zeek. Les publications sont créées en poussant une balise avec un préfixe spécifique vers le dépôt, sauf pour Zeek, qui utilise une balise de version sémantique (semver) pure. Les artefacts de publication sont nommés comme suit :

- **Rust :** `ja4-vX.Y.Z-<architecture>-<plateforme>.tar.gz`
- **Python :** `ja4-python-vX.Y.Z.tar.gz`
- **Wireshark :** `ja4.so.linux`, `ja4.so.macos`, `ja4.dll` (dans une publication nommée comme `wireshark-vX.Y.Z`)

Les workflows suivants sont disponibles :

- **Publication Rust :**  
  Poussez une balise commençant par `rust-`, par exemple `rust-v0.18.5`, pour déclencher une publication des binaires Rust. Le workflow compilera et téléversera automatiquement les artefacts de publication.

- **Publication Python :**  
  Poussez une balise commençant par `python-`, par exemple `python-v0.1.0`, pour déclencher une publication de l'implémentation Python. Le workflow créera une archive tar du répertoire `python/` et la publiera comme artefact de publication.

- **Publication du plugin Wireshark :**  
  Poussez une balise commençant par `wireshark-`, par exemple `wireshark-v0.1.1`, pour déclencher une publication des binaires du plugin Wireshark pour toutes les plateformes prises en charge.

- **Publication Zeek :**  
  Poussez une balise qui est une version sémantique pure (par exemple `v1.2.3`), sans préfixe, pour déclencher une publication Zeek. Cela créera automatiquement une publication sur [packages.zeek.org](https://packages.zeek.org/).

### Comment créer une publication

1. Assurez-vous que vos modifications sont fusionnées dans la branche `main`.

2. Créez et poussez une balise pour le composant que vous souhaitez publier :
   - Pour Rust, Python ou Wireshark, utilisez le préfixe approprié (par exemple `rust-v0.18.5`, `python-v0.1.0`, `wireshark-v0.1.1`).
   - Pour Zeek, utilisez une balise semver pure (par exemple `v1.2.3`).

   Exemple :   ```sh
   git tag v1.2.3
   git push origin v1.2.3
   ```
(Pour Zeek)

   Ou, pour Rust :   ```sh
   git tag rust-v0.18.5
   git push origin rust-v0.18.5
   ```
3. Le workflow GitHub Actions correspondant s'exécutera et publiera automatiquement les artefacts de la version. Pour Zeek, la version apparaîtra sur [packages.zeek.org](https://packages.zeek.org/).

## Détails de JA4+

JA4+ est un ensemble d'empreintes réseau simples mais puissantes pour plusieurs protocoles, à la fois lisibles par l'humain et par la machine, facilitant une meilleure chasse aux menaces et une analyse de sécurité améliorée. Si vous n'êtes pas familier avec l'empreinte réseau, je vous encourage à lire mes articles de blog publiant JA3 [ici](https://medium.com/salesforce-engineering/tls-fingerprinting-with-ja3-and-ja3s-247362855967), JARM [ici](https://medium.com/salesforce-engineering/easily-identify-malicious-servers-on-the-internet-with-jarm-e095edac525a), et cet excellent article de Fastly sur l'[État de l'empreinte TLS](https://www.fastly.com/blog/the-state-of-tls-fingerprinting-whats-working-what-isnt-and-whats-next) qui décrit l'historique des méthodes susmentionnées ainsi que leurs problèmes. JA4+ apporte un support dédié, en maintenant les méthodes à jour à mesure que l'industrie évolue.

Toutes les empreintes JA4+ ont un format a_b_c, délimitant les différentes sections qui composent l'empreinte. Cela permet la chasse et la détection en utilisant uniquement ab ou ac ou c seulement. Si l'on souhaitait simplement faire une analyse sur les cookies entrants dans son application, on regarderait uniquement JA4H_c. Ce nouveau format préservant la localité facilite une analyse plus approfondie et plus riche tout en restant simple, facile à utiliser et extensible.

Par exemple, GreyNoise est un écouteur internet qui identifie les scanners internet et implémente JA4+ dans son produit. Ils ont un acteur qui scanne internet avec un seul chiffrement TLS en constante évolution. Cela génère une quantité massive d'empreintes JA3 complètement différentes, mais avec JA4, seule la partie b de l'empreinte JA4 change, les parties a et c restent identiques. Ainsi, GreyNoise peut suivre l'acteur en regardant l'empreinte JA4_ac (en joignant a+c, en supprimant b).

Pour une liste des méthodes JA4+ et leurs descriptions, voir [Méthodes actuelles et détails d'implémentation](#current-methods-and-implementation-details).

Pour comprendre comment lire les empreintes JA4+, voir [Détails techniques](https://github.com/foxio-llc/ja4/blob/main/technical_details/README.md).

## Licence

*JA4 : Empreinte client TLS* est [open-source, BSD 3-Clause](https://github.com/foxio-llc/ja4/blob/main/LICENSE-JA4), tout comme JA3. FoxIO n'a pas de revendications de brevet et ne prévoit pas de poursuivre une couverture par brevet pour l'empreinte client TLS JA4. Cela permet à toute entreprise ou outil utilisant actuellement JA3 de passer immédiatement à JA4 sans délai.

**JA4S, JA4L, JA4LS, JA4L-Delta, JA4H, JA4X, JA4SSH, JA4T, JA4TS, JA4TScan, JA4D, JA4D6, JA4Scan-TLS, JA4Scan-QUIC, JA4N et toutes les futures ajouts (collectivement appelés JA4+)** sont en attente de brevet et sous licence [FoxIO License 1.1](https://github.com/foxio-llc/ja4/blob/main/LICENSE). Cette licence est permissive pour la plupart des cas d'utilisation, y compris pour des fins académiques et commerciales internes, mais n'est pas permissive pour la monétisation. Si, par exemple, une entreprise souhaite utiliser JA4+ en interne pour aider à sécuriser sa propre entreprise, cela est autorisé. Si, par exemple, un fournisseur souhaite vendre l'empreinte JA4+ dans le cadre de son offre de produits, il devra demander une licence OEM auprès de nous.

JA4+ est une marque déposée de FoxIO

JA4+ peut être et est implémenté dans des outils open-source, voir la [FAQ sur la licence](https://github.com/foxio-llc/ja4/blob/main/License%20FAQ.md) pour plus de détails.

Cette licence nous permet de fournir JA4+ au monde d'une manière ouverte et immédiatement utilisable, mais nous offre également un moyen de financer le support continu, la recherche de nouvelles méthodes et le développement de la base de données JA4+. Nous voulons que chacun ait la possibilité d'utiliser JA4+ et nous sommes heureux de travailler avec les fournisseurs et les projets open-source pour y parvenir.

## Q&R

Q : Pourquoi triez-vous les chiffrements ? L'ordre n'a-t-il pas d'importance ?  
R : Il en a, mais dans nos recherches, nous avons constaté que les applications et les bibliothèques choisissent une liste de chiffrements unique plus qu'un ordre unique. Cela réduit également l'efficacité du « cipher stunting », une tactique consistant à randomiser l'ordre des chiffrements pour empêcher la détection JA3.

Q : Pourquoi triez-vous les extensions ?  
R : Plus tôt en 2023, Google a [mis à jour les navigateurs Chromium](https://chromestatus.com/feature/5124606246518784) pour randomiser leur ordre d'extensions. Tout comme le cipher stunting, c'était une tactique pour empêcher la détection JA3 et « rendre l'écosystème TLS plus robuste aux changements ». Google craignait que les implémenteurs de serveurs supposent que l'empreinte Chrome ne changerait jamais et finissent par construire une logique autour d'elle, ce qui causerait des problèmes chaque fois que Google mettrait à jour Chrome.

Je veux donc être clair : les empreintes JA4 changeront à mesure que les bibliothèques TLS des applications seront mises à jour, environ une fois par an. Ne supposez pas que les empreintes resteront constantes dans un environnement où les applications sont mises à jour. Dans tous les cas, trier les extensions contourne ce problème et l'ajout des algorithmes de signature préserve l'unicité.

Q : TLS 1.3 ne rend-il pas l'empreinte des clients TLS plus difficile ?  
R : Non, cela le rend plus facile ! Depuis TLS 1.3, les clients ont un ensemble d'extensions beaucoup plus large et même si TLS 1.3 ne prend en charge que quelques chiffrements, les navigateurs et les applications en prennent en charge beaucoup plus.

## JA4+ a été créé par

[John Althouse](https://www.linkedin.com/in/johnalthouse/), avec les retours de :

Josh Atkins  
Jeff Atkinson  
Joshua Alexander  
W.  
Joe Martin  
Ben Higgins  
Andrew Morris  
Chris Ueland  
Ben Schofield  
Matthias Vallentin  
Valeriy Vorotyntsev  
Timothy Noel  
Gary Lipsky

Michael Barbine

Et des ingénieurs travaillant chez GreyNoise, Hunt, Google, ExtraHop, F5, Driftnet et d'autres.

Contactez John Althouse à [email protected] pour les licences et les questions.

<sub>JA4 et JA4+ sont des marques déposées de FoxIO, Inc.  
Copyright (c) 2026, FoxIO</sup>
Télécharger l’outil