fingerprints

package
v1.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Package fingerprints implements the fingerprints library for the Crowler

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CityHash64

func CityHash64(data []byte) uint64

CityHash64 computes the CityHash64 of the given data

Types

type BLAKE2

type BLAKE2 struct{}

BLAKE2 implements the Fingerprint interface for BLAKE2 fingerprints.

func (BLAKE2) Compute

func (b BLAKE2) Compute(data string) string

Compute computes the BLAKE2 fingerprint of a given data.

type CityHash

type CityHash struct{}

CityHash implements the Fingerprint interface for CityHash fingerprints.

func (CityHash) Compute

func (c CityHash) Compute(data string) string

Compute computes the CityHash64 of the given data

type CustomTLS

type CustomTLS struct{}

CustomTLS implements the Fingerprint interface for custom TLS fingerprints.

func (CustomTLS) Compute

func (c CustomTLS) Compute(data string) string

Compute computes the custom TLS fingerprint of a given data.

type Fingerprint

type Fingerprint interface {
	Compute(data string) string
}

Fingerprint is the interface that wraps the basic Compute method.

func FingerprintFactory

func FingerprintFactory(fType FingerprintType) (Fingerprint, error)

FingerprintFactory creates an instance of a Fingerprint implementation.

type FingerprintType

type FingerprintType int

FingerprintType represents the type of fingerprint algorithm.

const (
	// TypeJA3 represents the JA3 fingerprint type.
	TypeJA3 FingerprintType = iota
	// TypeJA3S represents the JA3S fingerprint type.
	TypeJA3S
	// TypeHASSH represents the HASSH fingerprint type.
	TypeHASSH
	// TypeHASSHServer represents the HASSHServer fingerprint type.
	TypeHASSHServer
	// TypeTLSH represents the TLSH fingerprint type.
	TypeTLSH
	// TypeSimHash represents the SimHash fingerprint type.
	TypeSimHash
	// TypeMinHash represents the MinHash fingerprint type.
	TypeMinHash
	// TypeBLAKE2 represents the BLAKE2 fingerprint type.
	TypeBLAKE2
	// TypeSHA256 represents the SHA256 fingerprint type.
	TypeSHA256
	// TypeCityHash represents the CityHash fingerprint type.
	TypeCityHash
	// TypeMurmurHash represents the MurmurHash fingerprint type.
	TypeMurmurHash
	// TypeCustomTLS represents the CustomTLS fingerprint type.
	TypeCustomTLS
	// TypeJARM represents the JARM fingerprint type.
	TypeJARM
)

type HASSH

type HASSH struct{}

HASSH implements the Fingerprint interface for HASSH fingerprints.

func (HASSH) Compute

func (h HASSH) Compute(data string) string

Compute computes the HASSH fingerprint of a given data.

type HASSHServer

type HASSHServer struct{}

HASSHServer implements the Fingerprint interface for HASSHServer fingerprints.

func (HASSHServer) Compute

func (h HASSHServer) Compute(data string) string

Compute computes the HASSHServer fingerprint of a given data.

type JA3

type JA3 struct{}

JA3 implements the Fingerprint interface for JA3 fingerprints.

func (JA3) Compute

func (j JA3) Compute(data string) string

Compute computes the JA3 fingerprint of a given data.

type JA3S

type JA3S struct{}

JA3S implements the Fingerprint interface for JA3S fingerprints.

func (JA3S) Compute

func (j JA3S) Compute(data string) string

Compute computes the JA3S fingerprint of a given data.

type JA4 added in v0.9.5

type JA4 struct {
	Version             uint16
	Ciphers             []uint16
	Extensions          []uint16
	SupportedGroups     []uint16
	SignatureAlgorithms []uint16
	SNI                 string
	ALPN                []string
}

JA4 implements the Fingerprint interface for JA4 fingerprints.

func (JA4) Compute added in v0.9.5

func (j JA4) Compute(data string) string

Compute computes the JA4 fingerprint of a given TLS data string. The data string should be constructed from the TLS handshake fields relevant to JA4.

type JA4S added in v0.9.5

type JA4S struct {
	Version             uint16
	Ciphers             []uint16
	Extensions          []uint16
	SupportedGroups     []uint16
	SignatureAlgorithms []uint16
	SNI                 string
	ALPN                []string
}

JA4S implements the Fingerprint interface for JA4S fingerprints.

func (JA4S) Compute added in v0.9.5

func (j JA4S) Compute(data string) string

Compute computes the JA4S fingerprint of a given TLS data string. The data string should be constructed from the TLS server handshake fields.

type JARM

type JARM struct{}

JARM implements the Fingerprint interface for JARM fingerprints.

func (JARM) Compute

func (j JARM) Compute(data string) string

Compute computes the JARM fingerprint of a given data.

type MinHash

type MinHash struct {
	// contains filtered or unexported fields
}

MinHash implements the Fingerprint interface for MinHash fingerprints.

func NewMinHash

func NewMinHash(numHash int) *MinHash

NewMinHash creates a new MinHash fingerprint with the given number of hashes.

func (MinHash) Compute

func (mh MinHash) Compute(data string) string

Compute computes the MinHash fingerprint of a given data.

func (*MinHash) Push

func (mh *MinHash) Push(data []byte)

Push pushes the given data into the MinHash fingerprint.

func (*MinHash) Signature

func (mh *MinHash) Signature() []uint64

Signature returns the MinHash fingerprint signature.

type MurmurHash

type MurmurHash struct{}

MurmurHash implements the Fingerprint interface for MurmurHash fingerprints.

func (MurmurHash) Compute

func (m MurmurHash) Compute(data string) string

Compute computes the MurmurHash fingerprint of a given data.

type SHA256

type SHA256 struct{}

SHA256 implements the Fingerprint interface for SHA-256 fingerprints.

func (SHA256) Compute

func (s SHA256) Compute(data string) string

Compute computes the SHA-256 fingerprint of a given data.

type SimHash

type SimHash struct{}

SimHash implements the Fingerprint interface for SimHash fingerprints.

func (SimHash) Compute

func (s SimHash) Compute(data string) string

Compute computes the SimHash fingerprint of a given data.

type TLSH

type TLSH struct {
	// contains filtered or unexported fields
}

TLSH implements the Fingerprint interface for TLSH fingerprints.

func NewTLSH

func NewTLSH() *TLSH

NewTLSH creates a new TLSH fingerprint.

func (TLSH) Compute

func (t TLSH) Compute(data string) string

Compute computes the TLSH fingerprint of a given data.

func (*TLSH) Finalize

func (t *TLSH) Finalize() string

Finalize finalizes the TLSH fingerprint.

func (*TLSH) Update

func (t *TLSH) Update(data []byte)

Update updates the TLSH fingerprint with new data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL