Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ja4 — JA4+ 是一套网络指纹识别标准 | Kitploit
工具/GitHubGitHub/foxio-llc/ja4
数据包嗅探与分析加密/解密工具物联网安全网络映射网络取证信息收集恶意软件分析移动安全威胁情报入侵检测指纹欺骗DNS 分析
2.0k184246天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
GitHubfoxio-llc/ja4

ja4

JA4+ 是一套网络指纹识别标准

查看仓库网站
分享

logo

JA4+™ 网络指纹识别

JA4+ 是由 FoxIO 开发的一套网络指纹识别方法,易于使用且易于共享。这些方法既适合人类阅读,也适合机器解析,有助于更有效地进行威胁狩猎和分析。这些指纹的用例包括扫描威胁行为者、恶意软件检测、会话劫持防护、合规自动化、位置追踪、DDoS 检测、威胁行为者分组、反向 Shell 检测等。

如需快速了解 JA4+ 并在分析时作为参考,请参阅:
JA4+ 速查表

如需深入了解,请阅读我们关于 JA4+ 工作原理、为何有效以及可检测/预防哪些内容的博客文章:
JA4+ 网络指纹识别 (JA4/S/H/L/X/SSH)
JA4T:TCP 指纹识别 (JA4T/TS/TScan)
使用 JA4T 调查 Surfshark 和 NordVPN (JA4T)
JA4D 和 JA4D6:DHCP 指纹识别 (JA4D/6)

如果您喜欢 JA4+,可以考虑购买一件 T 恤或连帽衫:
JA4+ T 恤、连帽衫和贴纸

目录

  • 当前方法及实现细节
  • 实现
  • 支持 JA4+ 的工具
  • 示例
  • 插件
  • 二进制文件
    • 发布资产
    • 安装 tshark
      • Linux
      • macOS
      • Windows
    • 运行 JA4+
  • 数据库
  • 发布流程
    • 如何创建发布
  • JA4+ 详情
下载工具
许可证
  • 常见问题
  • JA4+ 的创建者
  • 当前方法及实现细节

    全名简称描述
    JA4JA4TLS 客户端指纹识别
    JA4ServerJA4STLS 服务器响应 / 会话指纹识别
    JA4HTTPJA4HHTTP 客户端指纹识别
    JA4LatencyJA4L客户端到服务器延迟测量 / 光距离
    JA4LatencyServerJA4LS服务器到客户端延迟测量 / 光距离
    JA4X509JA4XX509 TLS 证书指纹识别
    JA4SSHJA4SSHSSH 流量指纹识别
    JA4TCPJA4TTCP 客户端指纹识别
    JA4TCPServerJA4TSTCP 服务器响应指纹识别
    JA4TCPScanJA4TScan主动 TCP 指纹扫描器
    JA4DHCPJA4DDHCP 指纹识别
    JA4DHCPv6JA4D6DHCPv6 指纹识别
    JA4NTPJA4NNTP 指纹识别
    JA4Scan-TLSJA4Scan-TLS主动 TLS 服务器指纹扫描器
    JA4Scan-QUICJA4Scan-QUIC主动 QUIC 服务器指纹扫描器

    全名和简称可以互换使用。更多 JA4+ 方法正在开发中……

    要了解如何解读 JA4+ 指纹,请参阅 技术细节

    实现

    本仓库包含以下语言的 JA4+ 实现

    • Python
    • Rust
    • C,作为 Wireshark 插件。
    • Zeek

    支持 JA4+ 的工具

    工具/厂商JA4+ 支持
    WiresharkJA4+
    ZeekJA4+
    ArkimeJA4+(我们推荐的开源 JA4+ 工具)
    SuricataJA4+(开发中)
    GreyNoiseJA4+
    HuntJA4+
    DriftnetJA4+
    GoLang (1)JA4X
    GoLang (2)JA4
    nzymeJA4+(开发中)
    Netresec 的 CapLoaderJA4+(开发中)
    Netresec 的 NetworkMinerJA4+(开发中)
    NGINXJA4+
    F5 BIG-IPJA4+
    nfdumpJA4+
    ntop 的 ntopngJA4+
    ntop 的 nDPIJA4
    Team CymruJA4+
    NetQuestJA4+
    Censys

    更多支持即将公布……

    示例

    应用JA4+ 指纹
    ChromeJA4=t13d1517h2_8daaf6152771_cb7bf5808d99 (TCP)
    JA4=q13d0312h3_55b375c5d22e_178839b6cec1 (QUIC)
    IcedID 恶意软件投放器JA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982
    IcedID 恶意软件JA4=t13d201100_2b729b4bf6f3_9e7b989ebec8
    JA4S=t120300_c030_5e2616a54c73
    Sliver 恶意软件JA4=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 (客户端)
    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
    反向 SSH ShellJA4SSH=c76s76_c71s59_c0s70
    Windows 11JA4T=64240_2-1-3-1-1-4_1460_8
    Epson 打印机JA4TScan=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
    Sony 接收器JA4D6=solct0010nn_8-1-3-6_24-23

    更多示例,请参阅 ja4plus-mapping.csv
    完整数据库,请访问 ja4db.com

    插件

    Wireshark
    Zeek
    Arkime

    二进制文件

    JA4 二进制文件基于该套件的 Rust 实现 构建。为确保完整功能,需要 tshark(4.0.6 或更高版本)。请从 Releases 页面下载最新的 JA4 二进制文件。Rust 实现的发布版本遵循 语义化版本控制,并标记为 vX.Y.Z,与 Wireshark 插件版本不同。

    发布资产

    发布资产根据组件和平台命名:

    • Rust:
      • ja4-vX.Y.Z-<架构>-<平台>.tar.gz(例如 ja4-v0.18.5-x86_64-unknown-linux-musl.tar.gz)
    • Python:
      • ja4-python-vX.Y.Z.tar.gz(包含完整的 python/ 目录)
    • Wireshark:
      • ja4.so.linux、ja4.so.macos、ja4.dll(附加到名为 wireshark-vX.Y.Z 的发布中)

    请根据您的系统和组件选择相应的文件。

    安装 tshark

    Linux

    使用您的包管理器进行安装(包名 tshark 或 wireshark-cli 取决于发行版)。例如,在 Ubuntu 上:```sh sudo apt install tshark

    root@kitploit:~
    #### macOS
    
    1. [下载](https://www.wireshark.org/download.html)并安装 Wireshark(包含 `tshark`)。
    2. 将 `tshark` 添加到你的 `PATH` 中:   ```sh
       sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
    

    Windows

    1. 下载并安装 Wireshark(包含 tshark.exe)。
    2. 找到 tshark.exe(通常位于 C:\Program Files\Wireshark\tshark.exe)。
    3. 将包含 tshark.exe 的文件夹添加到系统 PATH 中:
      • 打开 系统属性 > 环境变量 > 编辑 Path。

    运行 JA4+

    一旦 tshark 和 JA4+ 二进制文件可用,请使用以下命令运行 JA4+:

    • 在 Linux 和 macOS 上: ```sh ./ja4 [options] [pcap]
      root@kitploit:~
    • 在 Windows 上,打开命令提示符并运行: ```cmd ja4 [options] [pcap]
      root@kitploit:~

    如需了解运行 JA4+ 及其高级配置的更多详情,请参阅 Rust 实现 README,其中提供了有关其功能、使用场景和自定义选项的信息。

    数据库

    官方 JA4+ 指纹、相关应用及推荐检测逻辑数据库位于:ja4db.com
    该数据库正处于非常活跃的开发阶段。预计未来几个月内,指纹组合和数据的数量将呈数量级增长。

    另提供一份示例 ja4plus-mapping.csv 供快速参考。

    发布流程

    JA4+ 使用 GitHub Actions 来自动化其 Rust、Python、Wireshark 和 Zeek 组件的发布。发布通过向仓库推送带有特定前缀的标签来触发,但 Zeek 除外,它使用纯语义化版本(semver)标签。发布资产命名如下:

    • Rust: ja4-vX.Y.Z-<architecture>-<platform>.tar.gz
    • Python: ja4-python-vX.Y.Z.tar.gz
    • Wireshark: ja4.so.linux、ja4.so.macos、ja4.dll(在类似 wireshark-vX.Y.Z 的发布中)

    以下工作流可用:

    • Rust 发布:
      推送以 rust- 开头的标签,例如 rust-v0.18.5,以触发 Rust 二进制的发布。该工作流将自动构建并上传发布资产。

    • Python 发布:
      推送以 python- 开头的标签,例如 python-v0.1.0,以触发 Python 实现的发布。该工作流将创建 python/ 目录的压缩包,并将其作为发布资产发布。

    • Wireshark 插件发布:
      推送以 wireshark- 开头的标签,例如 wireshark-v0.1.1,以触发所有受支持平台的 Wireshark 插件二进制的发布。

    • Zeek 发布:
      推送一个无前缀的纯语义化版本标签(例如 v1.2.3),以触发 Zeek 发布。这将自动在 packages.zeek.org 上创建发布。

    如何创建发布

    1. 确保你的更改已合并到 main 分支。

    2. 为你想要发布的组件创建并推送标签:

      • 对于 Rust、Python 或 Wireshark,使用相应的前缀(例如 rust-v0.18.5、python-v0.1.0、wireshark-v0.1.1)。
      • 对于 Zeek,使用纯 semver 标签(例如 v1.2.3)。

      示例: ```sh git tag v1.2.3 git push origin v1.2.3

      root@kitploit:~

    (适用于 Zeek)

    或者,对于 Rust: ```sh git tag rust-v0.18.5 git push origin rust-v0.18.5

    root@kitploit:~
    3. 对应的 GitHub Actions 工作流将自动运行并发布发布资产。对于 Zeek,发布内容将出现在 [packages.zeek.org](https://packages.zeek.org/) 上。
    
    ## JA4+ 详情
    
    JA4+ 是一组针对多种协议的简单而强大的网络指纹,既便于人类阅读,也便于机器解析,有助于改进威胁狩猎和安全分析。如果你对网络指纹不熟悉,我建议你阅读我发布的关于 JA3 [此处](https://medium.com/salesforce-engineering/tls-fingerprinting-with-ja3-and-ja3s-247362855967)、JARM [此处](https://medium.com/salesforce-engineering/easily-identify-malicious-servers-on-the-internet-with-jarm-e095edac525a) 的博客,以及 Fastly 撰写的这篇关于 [TLS 指纹识别现状](https://www.fastly.com/blog/the-state-of-tls-fingerprinting-whats-working-what-isnt-and-whats-next) 的优秀博客,其中概述了上述方法的历史及其存在的问题。JA4+ 提供了专门的支持,随着行业的变化保持这些方法的更新。
    
    所有 JA4+ 指纹均采用 a_b_c 格式,以分隔构成指纹的不同部分。这使得仅利用 ab、ac 或仅 c 即可进行狩猎和检测。如果只想对进入应用的 cookie 进行分析,可以仅查看 JA4H_c。这种新的局部性保留格式有助于进行更深入、更丰富的分析,同时保持简单、易用,并支持可扩展性。
    
    例如,GreyNoise 是一家识别互联网扫描器的互联网监听服务商,正在将 JA4+ 集成到其产品中。他们有一个行为者使用不断变化的单一 TLS 密码套件扫描互联网。这会生成大量完全不同的 JA3 指纹,但使用 JA4 时,只有 JA4 指纹的 b 部分会变化,a 和 c 部分保持不变。因此,GreyNoise 可以通过查看 JA4_ac 指纹(合并 a+c,丢弃 b)来追踪该行为者。
    
    有关 JA4+ 方法及其描述的列表,请参阅 [当前方法及实现细节](#current-methods-and-implementation-details)。
    
    要了解如何解读 JA4+ 指纹,请参阅 [技术细节](https://github.com/foxio-llc/ja4/blob/main/technical_details/README.md)。
    
    ## 许可
    
    *JA4: TLS 客户端指纹识别* 是 [开源、BSD 3-Clause](https://github.com/foxio-llc/ja4/blob/main/LICENSE-JA4) 许可,与 JA3 相同。FoxIO 没有专利申请,也不计划为 JA4 TLS 客户端指纹识别申请专利覆盖。这使得任何目前使用 JA3 的公司或工具都能立即升级到 JA4,无需延迟。
    
    **JA4S、JA4L、JA4LS、JA4L-Delta、JA4H、JA4X、JA4SSH、JA4T、JA4TS、JA4TScan、JA4D、JA4D6、JA4Scan-TLS、JA4Scan-QUIC、JA4N 以及所有未来的新增项(统称为 JA4+)** 均处于专利申请中,并根据 [FoxIO 许可证 1.1](https://github.com/foxio-llc/ja4/blob/main/LICENSE) 授权。该许可证对大多数使用场景是宽松的,包括学术和内部业务用途,但不允许商业化。例如,如果一家公司希望内部使用 JA4+ 来帮助保护自身公司安全,这是允许的。例如,如果一家供应商希望将 JA4+ 指纹识别作为其产品的一部分出售,则需要向我们申请 OEM 许可证。
    
    JA4+ 是 FoxIO 的商标
    
    JA4+ 可以并且正在被集成到开源工具中,详情请参阅 [许可证常见问题](https://github.com/foxio-llc/ja4/blob/main/License%20FAQ.md)。
    
    这种许可方式使我们能够以开放且立即可用的方式向世界提供 JA4+,同时也为我们提供了一种资助持续支持、新方法研究以及 JA4+ 数据库开发的方式。我们希望每个人都能利用 JA4+,并乐于与供应商和开源项目合作,共同实现这一目标。
    
    ## 问答
    
    问:为什么要对密码套件进行排序?顺序不重要吗?  
    答:顺序确实重要,但在我们的研究中发现,应用程序和库选择独特密码套件列表的情况多于选择独特顺序的情况。这还降低了“密码套件截短”的有效性,这是一种通过随机化密码套件顺序来防止 JA3 检测的策略。
    
    问:为什么要对扩展进行排序?  
    答:2023 年初,Google [更新了 Chromium](https://chromestatus.com/feature/5124606246518784) 浏览器,使其扩展顺序随机化。与密码套件截短类似,这是一种防止 JA3 检测并“使 TLS 生态系统对变化更具鲁棒性”的策略。Google 担心服务器实现者会假设 Chrome 指纹永远不会改变,并围绕它构建逻辑,这会导致 Google 更新 Chrome 时出现问题。
    
    所以我想明确一点:JA4 指纹会随着应用程序 TLS 库的更新而变化,大约每年一次。在应用程序会更新的环境中,不要假设指纹会保持不变。无论如何,对扩展进行排序可以绕过这个问题,而添加签名算法则保持了唯一性。
    
    问:TLS 1.3 不是让 TLS 客户端指纹识别更难了吗?  
    答:不,它让指纹识别更容易了!自 TLS 1.3 以来,客户端拥有更大范围的扩展,尽管 TLS 1.3 只支持少数密码套件,但浏览器和应用程序仍然支持更多。
    
    ## JA4+ 的创建者
    
    [John Althouse](https://www.linkedin.com/in/johnalthouse/),并获得了以下人员的反馈:
    
    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
    
    以及来自 GreyNoise、Hunt、Google、ExtraHop、F5、Driftnet 等公司的工程师。
    
    有关许可和问题,请联系 John Althouse:[email protected]。
    
    <sub>JA4 和 JA4+ 是 FoxIO, Inc. 的商标。  
    版权所有 (c) 2026, FoxIO</sup>
    
    JA4+
    Exploit.org 的 NetryxJA4 和 JA4H
    CloudflareJA4
    FastlyJA4+(需申请)
    MISPJA4+
    OCSFJA4+
    VercelJA4
    SeikaJA4+
    VirusTotalJA4
    AWS CloudfrontJA4
    ELLIOJA4+
    WebscoutJA4+
    RamaJA4 和 JA4H
    VectraJA4+
    AWS WAFJA4
    TacticlyJA4+
    Palo Alto NetworksJA4+
    ngrokJA4
    Vertex SynapseJA4 和 JA4S
    Google Cloud ArmorJA4
    FortinetJA4
    AppOmniJA4+
    IntelliGenesisJA4+
    HAProxyJA4 和 JA4H 插件,由 OXL 开发
    SentinelOneJA4
    AkamaiJA4
    阿里云JA4
    华为云JA4
    Google Cloud LBsJA4
    eSentireJA4+
    Microsoft Azure Front Door CDNJA4
    Synapse,由 Gen0Sec 开发JA4X
    ZscalerJA4
    ExtraHopJA4+
    ValidinJA4+
    Auth0JA4
    Security OnionJA4+
    bunny.netJA4
    ENEAJA4+
    F5 Distributed Cloud ServicesJA4+