GitHunt
BA

bad-antics/nullsec-netseer

Pure Functional Network Traffic Analyzer in Haskell - Maximum type safety and immutability

๐ŸŒ NullSec NetSeer

Haskell
Security
Type Safety
License

Secure Passive Network Traffic Analyzer

Pure functional design with strong type safety and immutable data structures

Features โ€ข Installation โ€ข Usage โ€ข Security


๐ŸŽฏ Overview

NullSec NetSeer is a Secure passive network traffic analyzer written in Haskell. It leverages the power of pure functional programming to provide mathematically provable security guarantees through strong typing and immutability.

โœจ Features

  • ๐Ÿ“Š Traffic Analysis - Deep packet inspection and flow analysis
  • ๐Ÿ” Protocol Detection - Identify protocols in network streams
  • ๐Ÿ“ˆ Statistics - Real-time traffic statistics and metrics
  • ๐Ÿ›ก๏ธ Type-Safe - Strong typing prevents entire classes of bugs
  • โ™ป๏ธ Immutable - No side effects in core analysis logic
  • ๐Ÿ“ Reports - Comprehensive traffic reports

๐Ÿ›ก๏ธ Security Features

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚        NullSec NetSeer v2.0.0              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โœ“ Pure Functional Design                  โ”‚
โ”‚  โœ“ Strong Type Safety (Newtypes)           โ”‚
โ”‚  โœ“ Smart Constructors for Validation       โ”‚
โ”‚  โœ“ Bounded Data Structures                 โ”‚
โ”‚  โœ“ Immutable Data Throughout               โ”‚
โ”‚  โœ“ Explicit Error Handling (No Exceptions) โ”‚
โ”‚  โœ“ Memory Exhaustion Prevention            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ฆ Installation

From Source

# Clone the repository
git clone https://github.com/bad-antics/nullsec-netseer.git
cd nullsec-netseer

# Build with Cabal
cabal update
cabal build

# Or with Stack
stack build

# Install
cabal install

Requirements

  • GHC 9.4 or later
  • Cabal 3.8+ or Stack 2.9+
  • libpcap development libraries

Dependencies

- base >= 4.16
- bytestring >= 0.11
- containers >= 0.6
- time >= 1.12
- directory >= 1.3

๐Ÿš€ Usage

# Analyze pcap file
./nullsec-netseer --input capture.pcap

# Live capture (requires root)
sudo ./nullsec-netseer --interface eth0

# Generate statistics report
./nullsec-netseer --input capture.pcap --stats

# Filter by protocol
./nullsec-netseer --input capture.pcap --protocol tcp

# Export analysis
./nullsec-netseer --input capture.pcap --output analysis.json

Command Line Options

Flag Description
--input <file> Input pcap file to analyze
--interface <if> Live capture interface
--stats Show traffic statistics
--protocol <proto> Filter by protocol
--top <n> Show top N flows
--output <file> Output file for reports
--verbose Enable verbose output
--version Show version information

๐Ÿ“Š Output Example

โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— 
โ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•     โ–ˆโ–ˆโ•‘   โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘
โ•šโ•โ•  โ•šโ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•   โ•šโ•โ•   โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•
             bad-antics โ€ข Network Traffic Analyzer

[*] Analyzing: capture.pcap
[+] Packets processed: 142,857
[+] Flows identified: 3,421

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           Traffic Statistics             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Total Bytes:     2.4 GB                 โ”‚
โ”‚  Total Packets:   142,857                โ”‚
โ”‚  Unique IPs:      1,234                  โ”‚
โ”‚  Duration:        3h 24m 15s             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Protocol Breakdown:                     โ”‚
โ”‚    TCP:    78.4%  (111,999 pkts)        โ”‚
โ”‚    UDP:    19.2%  (27,428 pkts)         โ”‚
โ”‚    ICMP:    2.4%  (3,430 pkts)          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ” Type Safety Architecture

-- Smart constructors ensure validation at creation
mkValidIP :: Word32 -> Either String ValidIP
mkValidPort :: Word16 -> Either String ValidPort
mkValidPath :: FilePath -> Either String ValidPath

-- Newtypes prevent mixing different data types
newtype ValidIP = ValidIP { getIP :: Word32 }
newtype ValidPort = ValidPort { getPort :: Word16 }

-- Pure functions with no side effects
analyzePacket :: ValidPacket -> Either AnalysisError PacketInfo

๐Ÿ“œ License

NullSec Proprietary License - See LICENSE file for details.

๐Ÿ‘ค Author

bad-antics


Part of the NullSec Security Framework

"Mathematically provable security through pure functional programming"