MCPcopy Index your code
hub / github.com/D4-project/sensor-d4-tls-fingerprinting

github.com/D4-project/sensor-d4-tls-fingerprinting @0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.0 ↗ · + Follow
86 symbols 198 edges 13 files 47 documented · 55%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

sensor-d4-tls-fingerprinting

<a href="https://github.com/D4-project/sensor-d4-tls-fingerprinting/releases/latest"><img alt="Release" src="https://img.shields.io/github/release/D4-project/sensor-d4-tls-fingerprinting/all.svg"></a>
<a href="https://github.com/D4-project/sensor-d4-tls-fingerprinting/blob/master/LICENSE"><img alt="Software License" src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
<a href="https://goreportcard.com/report/github.com/D4-Project/sensor-d4-tls-fingerprinting"><img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/D4-Project/sensor-d4-tls-fingerprinting"></a>

sensor-d4-tls-fingerprinting is intended to be used to feed a D4 project client (It can be used in standalone though).

Main features

  • extracts TLS certificates from pcap files or network interfaces
  • fingerprints TLS client/server interactions with ja3/ja3s
  • fingerprints TLS interactions with TLSH fuzzy hashing
  • write certificates in a folder
  • export in JSON to files, or stdout

Use

This project is currently in development and is subject to change, check the list of issues.

Compile from source

requirements

  • git
  • golang >= 1.5
  • libpcap
#apt install golang git libpcap-dev

Go get

$go get github.com/D4-project/sensor-d4-tls-fingerprinting
$cd $GOPATH/github.com/D4-project/sensor-d4-tls-fingerprinting
$

A "sensor-d4-tls-fingerprinting" compiled for your architecture should then be in $GOPATH/bin Alternatively, use make to compile arm/linux or amd64/linux

How to use

Read from pcap:

$ ./d4-tlsf-amd64l -r=file 

Read from interface (promiscious mode):

$ ./d4-tlsf-amd64l -i=interface 

Write x509 certificates to folder:

$ ./d4-tlsf-amd64l -w=folderName 

Write output json inside folder

$ ./d4-tlsf-amd64l -j=folderName 

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Has
called by 11
d4tls/flags.go
D4Fingerprinting
called by 10
d4tls/fingerprinter.go
New
called by 8
d4-tlsf.go
String
called by 6
etls/etls.go
Debug
called by 5
d4-tlsf.go
decodeFromBytes
called by 4
etls/etls_appdata.go
SetTimestamp
called by 4
d4tls/tlsdecoder.go
PopulateClientHello
called by 4
d4tls/tlsdecoder.go

Shape

Method 42
Function 19
Struct 15
TypeAlias 9
Interface 1

Languages

Go100%

Modules by API surface

d4-tlsf.go17 symbols
etls/etls.go14 symbols
d4tls/tlsdecoder.go13 symbols
etls/etls_handshake_messages.go8 symbols
d4tls/fingerprinter_test.go7 symbols
etls/etls_alert.go6 symbols
etls/etls_cipherspec.go4 symbols
d4tls/fingerprinter.go4 symbols
etls/etls_test.go3 symbols
etls/etls_common.go3 symbols
d4tls/flags.go3 symbols
etls/etls_handshake.go2 symbols

For agents

$ claude mcp add sensor-d4-tls-fingerprinting \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page