Huginn Net

Huginn Net: Multi-Protocol Passive Fingerprinting

  • Documentation
  • GitHub

›Documentation

Documentation

  • Overview
  • Ecosystem
  • Quick Example
  • SYN and SYN+ACK Packets
  • MTU
  • Uptime
  • Http request and response
  • TLS

Overview

Huginn Net

Huginn Net is a modular ecosystem of Rust libraries for passive fingerprinting and analysis of multiple network protocols, including TCP, HTTP, and TLS.
Inspired by p0f and JA4, Huginn Net extends passive OS fingerprinting and TLS fingerprinting to support modern detection standards and multi-protocol analysis.
The ecosystem consists of 5 specialized crates that can be used independently or together, providing maximum flexibility for your network analysis needs.
It leverages pnet, pcap-file, and tls-parser to analyze raw packets and extract protocol-specific features for robust, non-intrusive network monitoring.
This ecosystem is under active development. Feedback and contributions welcome.

Network Stack (OSI Model)

Layer Name Protocol / Feature Example in Huginn Net
7 Application Layer TLS JA4 (FoxIO-style)
7 Application Layer HTTP HTTP/1.1 & HTTP/2, Headers, Cookies, Referer, User-Agent, Lang
4 Transport Layer TCP OS Fingerprinting (p0f-style)

Passive Fingerprinting Introduction

Passive fingerprinting is a technique that allows you to infer information about a remote host's operating system, network stack, and browser without sending any probes. By analyzing characteristics of incoming TCP packets (such as window size, TTL, and TCP options), HTTP requests and responses, and TLS handshake packets.

Huginn Net Ecosystem

The Huginn Net ecosystem consists of 5 specialized crates:

  • huginn-net - Complete multi-protocol analysis suite
  • huginn-net-tcp - TCP fingerprinting & OS detection
  • huginn-net-http - HTTP analysis & browser detection
  • huginn-net-tls - JA4 TLS client fingerprinting
  • huginn-net-db - P0f database parser & matching engine

For detailed information about each crate, see the Ecosystem documentation.

To get started with cargo, choose your approach:

Multi-Protocol Analysis

[dependencies]
huginn-net = ""

Protocol-Specific Analysis

[dependencies]
huginn-net-tcp = "" # TCP/OS fingerprinting only
huginn-net-http = "" # HTTP analysis only
huginn-net-tls = "" # TLS/JA4 analysis only

Why choose Huginn Net?

  • No third-party tools - No tshark, wireshark, or external tools required

  • Same accuracy as p0f - Validated against extensive device testing

  • Modern Rust implementation - Memory safety and zero-cost abstractions

  • Production performance - Processes packets in ~3.1ms with comparable speed to original p0f

  • Type-safe architecture - Prevents entire classes of bugs at compile time

  • Comprehensive testing - Full unit and integration test coverage

  • Simple integration - Pure Rust implementation, no system libraries required

  • Multi-protocol support - TCP, HTTP/1.x, HTTP/2, and TLS analysis in one unified interface

  • Optional packet filtering - Filter by port, IP address, or subnet to reduce processing overhead

  • Parallel processing - Multi-threaded worker pools for high-throughput live capture

  • Active development - Continuously improved and maintained

Use Cases

  • Network Security Analysis - Identify devices, applications, and TLS clients without active scanning

  • Asset Discovery - Map network infrastructure and application stack passively and safely

  • Threat Detection - Detect hidden systems, suspicious TLS clients, and malicious applications

  • Application Monitoring - Track browser types, versions, and TLS capabilities across networks

  • Research & Forensics - Analyze traffic patterns, TLS usage, and improve security posture

  • Compliance Monitoring - Track device types, OS versions, and TLS configurations

Inspiration

Library is heavily inspired by ideas from p0f and JA4.

  • p0f: Passive OS fingerprinting tool that analyzes TCP/IP stack behavior to identify operating systems without sending any probes.

  • JA4: Modern TLS fingerprinting standard that provides a structured way to identify client software and detect anomalies in TLS handshakes.

License

Licensed under the MIT License and Apache 2.0 License for best adaptability to different use cases.

Ecosystem →
  • Why choose Huginn Net?
  • Passive Fingerprinting introduction
  • Huginn Net Ecosystem
  • Use Cases
  • Inspiration
  • License

Huginn Net: Multi-Protocol Passive Fingerprinting