Voltar às atualizações
New releaseSep 1, 2026

ja4 v1.0.1

JA4+ é um conjunto de padrões de fingerprinting de rede

Compartilhar

logo

Fingerprinting de Rede JA4+™

JA4+ é um conjunto de métodos de fingerprinting de rede da FoxIO que são fáceis de usar e fáceis de compartilhar. Esses métodos são legíveis tanto por humanos quanto por máquinas para facilitar uma caça a ameaças e uma análise mais eficazes. Os casos de uso dessas fingerprints incluem varredura de atores de ameaças, detecção de malware, prevenção de sequestro de sessão, automação de conformidade, rastreamento de localização, detecção de DDoS, agrupamento de atores de ameaças, detecção de reverse shell e muitos outros.

Para uma explicação rápida sobre JA4+ e para usar como referência durante a análise, veja:
JA4+ Cheat Sheet

Para detalhes aprofundados, leia nossos blogs sobre como o JA4+ funciona, por que funciona e exemplos do que pode ser detectado/prevenido com ele:
JA4+ Network Fingerprinting (JA4/S/H/L/X/SSH)
JA4T: TCP Fingerprinting (JA4T/TS/TScan)
Investigating Surfshark and NordVPN with JA4T (JA4T)
JA4D and JA4D6: DHCP Fingerprinting (JA4D/6)

Se você adora JA4+, considere comprar uma camiseta ou moletom:
JA4+ Shirts, Hoodies, and Stickers

Sumário

Métodos atuais e detalhes de implementação

Nome completoNome curtoDescrição
JA4JA4Fingerprinting de Cliente TLS
JA4ServerJA4SFingerprinting de Resposta do Servidor TLS / Sessão
JA4HTTPJA4HFingerprinting de Cliente HTTP
JA4LatencyJA4LMedição de Latência Cliente para Servidor / Distância da Luz
JA4LatencyServerJA4LSMedição de Latência Servidor para Cliente / Distância da Luz
JA4X509JA4XFingerprinting de Certificado TLS X509
JA4SSHJA4SSHFingerprinting de Tráfego SSH
JA4TCPJA4TFingerprinting de Cliente TCP
JA4TCPServerJA4TSFingerprinting de Resposta do Servidor TCP
JA4TCPScanJA4TScanScanner Ativo de Fingerprint TCP
JA4DHCPJA4DFingerprinting DHCP
JA4DHCPv6JA4D6Fingerprinting DHCPv6
JA4NTPJA4NFingerprinting NTP
JA4Scan-TLSJA4Scan-TLSScanner Ativo de Fingerprint de Servidor TLS
JA4Scan-QUICJA4Scan-QUICScanner Ativo de Fingerprint de Servidor QUIC

O nome completo ou o nome curto podem ser usados de forma intercambiável. Métodos adicionais de JA4+ estão em desenvolvimento...

Para entender como ler fingerprints JA4+, veja Detalhes Técnicos

Implementações

Este repositório inclui JA4+ em

Ferramentas que suportam JA4+

Ferramenta/FornecedorSuporte JA4+
WiresharkJA4+
ZeekJA4+
ArkimeJA4+ (nossa ferramenta JA4+ de código aberto recomendada)
SuricataJA4+ (em desenvolvimento)
GreyNoiseJA4+
HuntJA4+
DriftnetJA4+
GoLang (1)JA4X
GoLang (2)JA4
nzymeJA4+ (em desenvolvimento)
Netresec's CapLoaderJA4+ (em desenvolvimento)
Netresec's NetworkMinerJA4+ (em desenvolvimento)
NGINXJA4+
F5 BIG-IPJA4+
nfdumpJA4+
ntop's ntopngJA4+
ntop's nDPIJA4
Team CymruJA4+
NetQuestJA4+
CensysJA4+
Exploit.org's NetryxJA4 e JA4H
CloudflareJA4
FastlyJA4+ (solicite)
MISPJA4+
OCSFJA4+
VercelJA4
SeikaJA4+
VirusTotalJA4
AWS CloudfrontJA4
ELLIOJA4+
WebscoutJA4+
RamaJA4 e JA4H
VectraJA4+
AWS WAFJA4
TacticlyJA4+
Palo Alto NetworksJA4+
ngrokJA4
Vertex SynapseJA4 e JA4S
Google Cloud ArmorJA4
FortinetJA4
AppOmniJA4+
IntelliGenesisJA4+
HAProxyJA4 e JA4H plugins da OXL
SentinelOneJA4
AkamaiJA4
Alibaba CloudJA4
Huawei CloudJA4
Google Cloud LBsJA4
eSentireJA4+
Microsoft Azure Front Door CDNJA4
Synapse da Gen0SecJA4X
ZscalerJA4
ExtraHopJA4+
ValidinJA4+
Auth0JA4
Security OnionJA4+
bunny.netJA4
ENEAJA4+
F5 Distributed Cloud ServicesJA4+

com mais a serem anunciados...

Exemplos

AplicaçãoFingerprints JA4+
ChromeJA4=t13d1517h2_8daaf6152771_cb7bf5808d99 (TCP)
JA4=q13d0312h3_55b375c5d22e_178839b6cec1 (QUIC)
Dropper de Malware IcedIDJA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982
Malware IcedIDJA4=t13d201100_2b729b4bf6f3_9e7b989ebec8
JA4S=t120300_c030_5e2616a54c73
Malware SliverJA4=t13d190900_9dc949149365_97f8aa674fd9
JA4S=t130200_1301_a56c5b993250
JA4X=000000000000_4f24da86fad6_bf0f0589fc03
JA4X=000000000000_7c32fa18c13e_bf0f0589fc03
Cobalt StrikeJA4H=ge11cn060000_4e59edc1297a_4da5efaf0cbd
JA4X=2166164053c1_2166164053c1_30d204a01551
SoftEther VPNJA4=t13d880900_fcb5b95cb75a_b0d3b4ac2a14 (cliente)
JA4S=t130200_1302_a56c5b993250
JA4X=d55f458d5a6c_d55f458d5a6c_0fc8c171b6ae
QakbotJA4X=2bab15409345_af684594efb4_000000000000
PikabotJA4X=1a59268f55e5_1a59268f55e5_795797892f9c
DarkgateJA4H=po10nn060000_cdb958d032b0
LummaC2JA4H=po11nn050000_d253db9d024b
EvilginxJA4=t13d191000_9dc949149365_e7c285222651
Reverse SSH ShellJA4SSH=c76s76_c71s59_c0s70
Windows 11JA4T=64240_2-1-3-1-1-4_1460_8
Impressora EpsonJA4TScan=28960_2-4-8-1-3_1460_3_1-4-8-16
Windows 11JA4D=disco0000in_61-12-60-55_1-3-6-15-31-33-43-44-46-47-119-121-249-252
Receptor SonyJA4D6=solct0010nn_8-1-3-6_24-23

Para mais exemplos, veja ja4plus-mapping.csv
Para um banco de dados completo, veja ja4db.com

Plugins

Wireshark
Zeek
Arkime

Binários

Os binários JA4 são compilados a partir da implementação em Rust do conjunto. Para garantir funcionalidade completa, o tshark (versão 4.0.6 ou posterior) é necessário. Baixe os binários JA4 mais recentes na página de Releases. As versões de release da implementação em Rust seguem o Versionamento Semântico e são marcadas como vX.Y.Z, ao contrário dos releases do plugin do Wireshark.

Assets de Release

Os assets de release são nomeados de acordo com o componente e a plataforma:

  • Rust:
    • ja4-vX.Y.Z-<arquitetura>-<plataforma>.tar.gz (ex.: ja4-v0.18.5-x86_64-unknown-linux-musl.tar.gz)
  • Python:
    • ja4-python-vX.Y.Z.tar.gz (contém o diretório completo python/)
  • Wireshark:
    • ja4.so.linux, ja4.so.macos, ja4.dll (anexados a um release nomeado como wireshark-vX.Y.Z)

Escolha o arquivo apropriado para seu sistema e componente.

Instalando o tshark

Linux

Instale-o usando seu gerenciador de pacotes (o nome do pacote tshark ou wireshark-cli depende da distribuição). Por exemplo, no Ubuntu:```sh sudo apt install tshark

#### macOS

1. [Descarregue](https://www.wireshark.org/download.html) e instale o Wireshark (inclui o `tshark`).
2. Adicione o `tshark` ao seu `PATH`:   ```sh
   sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark

Windows

  1. Baixe e instale o Wireshark (inclui tshark.exe).
  2. Localize o tshark.exe (geralmente em C:\Program Files\Wireshark\tshark.exe).
  3. Adicione a pasta que contém o tshark.exe ao PATH do seu sistema:
    • Abra Propriedades do Sistema > Variáveis de Ambiente > Editar Path.

Executando o JA4+

Depois que o tshark e os binários JA4+ estiverem disponíveis, execute o JA4+ usando o seguinte comando:

  • No Linux e no macOS: ```sh ./ja4 [options] [pcap]
  • No Windows, abra o Prompt de Comando e execute: ```cmd ja4 [options] [pcap]

Para mais detalhes sobre a execução do JA4+ e suas configurações avançadas, consulte o README da implementação em Rust, que fornece informações sobre seus recursos, cenários de uso e opções de personalização.

Banco de Dados

O banco de dados oficial do JA4+ de impressões digitais, aplicativos associados e lógica de detecção recomendada está aqui: ja4db.com
Este banco de dados está em desenvolvimento muito ativo. Espere ordens de magnitude a mais de combinações de impressões digitais e dados nos próximos meses.

Um exemplo de ja4plus-mapping.csv também está disponível para referência rápida.

Processo de Lançamento

O JA4+ usa GitHub Actions para automatizar lançamentos de seus componentes Rust, Python, Wireshark e Zeek. Os lançamentos são criados enviando uma tag com um prefixo específico para o repositório, exceto para o Zeek, que usa uma tag de versão semântica (semver) pura. Os artefatos de lançamento são nomeados da seguinte forma:

  • Rust: ja4-vX.Y.Z-<arquitetura>-<plataforma>.tar.gz
  • Python: ja4-python-vX.Y.Z.tar.gz
  • Wireshark: ja4.so.linux, ja4.so.macos, ja4.dll (em um lançamento nomeado como wireshark-vX.Y.Z)

Os seguintes fluxos de trabalho estão disponíveis:

  • Lançamento Rust:
    Envie uma tag começando com rust-, por exemplo, rust-v0.18.5, para acionar um lançamento dos binários Rust. O fluxo de trabalho criará e enviará os artefatos de lançamento automaticamente.

  • Lançamento Python:
    Envie uma tag começando com python-, por exemplo, python-v0.1.0, para acionar um lançamento da implementação Python. O fluxo de trabalho criará um tarball do diretório python/ e o publicará como um artefato de lançamento.

  • Lançamento do Plugin Wireshark:
    Envie uma tag começando com wireshark-, por exemplo, wireshark-v0.1.1, para acionar um lançamento dos binários do plugin Wireshark para todas as plataformas suportadas.

  • Lançamento Zeek:
    Envie uma tag que seja uma versão semântica pura (por exemplo, v1.2.3), sem prefixo, para acionar um lançamento do Zeek. Isso criará automaticamente um lançamento em packages.zeek.org.

Como Criar um Lançamento

  1. Garanta que suas alterações sejam mescladas no branch main.

  2. Crie e envie uma tag para o componente que você deseja lançar:

    • Para Rust, Python ou Wireshark, use o prefixo apropriado (por exemplo, rust-v0.18.5, python-v0.1.0, wireshark-v0.1.1).
    • Para Zeek, use uma tag semver pura (por exemplo, v1.2.3).

    Exemplo: ```sh git tag v1.2.3 git push origin v1.2.3

(Para Zeek)

Ou, para Rust: ```sh git tag rust-v0.18.5 git push origin rust-v0.18.5

3. O fluxo de trabalho correspondente do GitHub Actions será executado e publicará os artefatos de lançamento automaticamente. Para o Zeek, o lançamento aparecerá em [packages.zeek.org](https://packages.zeek.org/).

## Detalhes do JA4+

JA4+ é um conjunto de impressões digitais de rede simples, porém poderosas, para múltiplos protocolos, que são legíveis tanto por humanos quanto por máquinas, facilitando uma melhor caça a ameaças e análise de segurança. Se você não está familiarizado com impressões digitais de rede, encorajo você a ler meus blogs sobre o lançamento do JA3 [aqui](https://medium.com/salesforce-engineering/tls-fingerprinting-with-ja3-and-ja3s-247362855967), do JARM [aqui](https://medium.com/salesforce-engineering/easily-identify-malicious-servers-on-the-internet-with-jarm-e095edac525a), e este excelente blog da Fastly sobre o [Estado da Impressão Digital TLS](https://www.fastly.com/blog/the-state-of-tls-fingerprinting-whats-working-what-isnt-and-whats-next), que descreve a história dos mencionados anteriormente, juntamente com seus problemas. O JA4+ traz suporte dedicado, mantendo os métodos atualizados à medida que a indústria muda.

Todas as impressões digitais JA4+ têm um formato a_b_c, delimitando as diferentes seções que compõem a impressão digital. Isso permite caça e detecção utilizando apenas ab ou ac ou apenas c. Se alguém quisesse apenas fazer análise dos cookies recebidos em seu aplicativo, eles olhariam apenas para o JA4H_c. Este novo formato que preserva a localidade facilita uma análise mais profunda e rica, permanecendo simples, fácil de usar e permitindo extensibilidade.

Por exemplo, a GreyNoise é um ouvinte da internet que identifica scanners da internet e está implementando o JA4+ em seu produto. Eles têm um ator que escaneia a internet com uma única cifra TLS em constante mudança. Isso gera uma quantidade massiva de impressões digitais JA3 completamente diferentes, mas com o JA4, apenas a parte b da impressão digital JA4 muda, as partes a e c permanecem as mesmas. Assim, a GreyNoise pode rastrear o ator observando a impressão digital JA4_ac (unindo a+c, descartando b).

Para uma lista de métodos JA4+ e suas descrições, veja [Métodos atuais e detalhes de implementação](#current-methods-and-implementation-details).

Para entender como ler as impressões digitais JA4+, veja [Detalhes Técnicos](https://github.com/foxio-llc/ja4/blob/main/technical_details/README.md).

## Licenciamento

*JA4: Impressão Digital de Cliente TLS* é [open-source, BSD 3-Clause](https://github.com/foxio-llc/ja4/blob/main/LICENSE-JA4), assim como o JA3. A FoxIO não possui reivindicações de patente e não planeja buscar cobertura de patente para a Impressão Digital de Cliente TLS JA4. Isso permite que qualquer empresa ou ferramenta que atualmente utilize o JA3 atualize imediatamente para o JA4 sem atraso.

**JA4S, JA4L, JA4LS, JA4L-Delta, JA4H, JA4X, JA4SSH, JA4T, JA4TS, JA4TScan, JA4D, JA4D6, JA4Scan-TLS, JA4Scan-QUIC, JA4N e todas as adições futuras (coletivamente referidas como JA4+)** têm patente pendente e são licenciadas sob a [FoxIO License 1.1](https://github.com/foxio-llc/ja4/blob/main/LICENSE). Esta licença é permissiva para a maioria dos casos de uso, incluindo fins acadêmicos e comerciais internos, mas não é permissiva para monetização. Se, por exemplo, uma empresa quiser usar o JA4+ internamente para ajudar a proteger sua própria empresa, isso é permitido. Se, por exemplo, um fornecedor quiser vender a impressão digital JA4+ como parte de sua oferta de produto, eles precisariam solicitar uma licença OEM de nós.

JA4+ é uma marca registrada da FoxIO

O JA4+ pode e está sendo implementado em ferramentas open-source, veja o [FAQ de Licença](https://github.com/foxio-llc/ja4/blob/main/License%20FAQ.md) para detalhes.

Este licenciamento nos permite fornecer o JA4+ ao mundo de uma forma aberta e imediatamente utilizável, mas também nos fornece uma maneira de financiar suporte contínuo, pesquisa em novos métodos e o desenvolvimento do Banco de Dados JA4+. Queremos que todos tenham a capacidade de utilizar o JA4+ e estamos felizes em trabalhar com fornecedores e projetos open-source para ajudar a tornar isso possível.

## Perguntas e Respostas

P: Por que vocês estão ordenando as cifras? A ordem não importa?  
R: Importa, mas em nossa pesquisa descobrimos que aplicativos e bibliotecas escolhem uma lista de cifras única mais do que uma ordenação única. Isso também reduz a eficácia do "encurtamento de cifras", uma tática de randomizar a ordem das cifras para impedir a detecção do JA3.

P: Por que vocês estão ordenando as extensões?  
R: No início de 2023, o Google [atualizou os navegadores Chromium](https://chromestatus.com/feature/5124606246518784) para randomizar a ordem de suas extensões. Muito parecido com o encurtamento de cifras, isso era uma tática para impedir a detecção do JA3 e "tornar o ecossistema TLS mais robusto a mudanças". O Google estava preocupado que implementadores de servidores assumissem que a impressão digital do Chrome nunca mudaria e acabassem construindo lógica em torno dela, o que causaria problemas sempre que o Google atualizasse o Chrome.

Então quero deixar isso claro: as impressões digitais JA4 mudarão à medida que as bibliotecas TLS de aplicativos forem atualizadas, cerca de uma vez por ano. Não assuma que as impressões digitais permanecerão constantes em um ambiente onde os aplicativos são atualizados. De qualquer forma, ordenar as extensões contorna isso e adicionar os Algoritmos de Assinatura preserva a unicidade.

P: O TLS 1.3 não torna a impressão digital de clientes TLS mais difícil?  
R: Não, torna mais fácil! Desde o TLS 1.3, os clientes têm um conjunto muito maior de extensões e, embora o TLS 1.3 suporte apenas algumas cifras, navegadores e aplicativos ainda suportam muitas mais.

## JA4+ foi criado por

[John Althouse](https://www.linkedin.com/in/johnalthouse/), com feedback 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

E engenheiros que trabalham na GreyNoise, Hunt, Google, ExtraHop, F5, Driftnet e outros.

Contate John Althouse em [email protected] para licenciamento e perguntas.

<sub>JA4 e JA4+ são marcas registradas da FoxIO, Inc.  
Copyright (c) 2026, FoxIO</sup>

Categorias