Skip to content

Georges999/NetworkVisualizer3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ NetworkVisualizer3D - Web-Based Network Visualization

Node.js React Three.js License Platform

A modern web-based 3D network visualization tool that discovers and displays network devices and their connections in real-time using Three.js and React.

โœจ Overview

NetworkVisualizer3D is a comprehensive network analysis platform that combines advanced packet capture capabilities with intelligent device detection, security threat analysis, and 3D network visualization. Built with .NET 9.0 and leveraging industry-standard libraries like SharpPcap and PacketDotNet, it provides both real-time monitoring and historical analysis capabilities.

๐ŸŽฏ Key Highlights

  • ๐Ÿ” Real-time Packet Capture - Advanced packet interception with multi-interface support
  • ๐Ÿค– Intelligent Device Detection - Automatic classification using MAC OUI database and traffic patterns
  • ๐Ÿ›ก๏ธ Security Analysis - Built-in threat detection for SQL injection, XSS, and suspicious traffic
  • ๐Ÿ“Š 3D Network Visualization - Interactive topology mapping with force-directed layouts
  • โšก High Performance - Optimized for high-throughput network environments
  • ๐ŸŽ›๏ธ Interactive Dashboard - Professional console interface with real-time statistics

๐Ÿš€ Quick Start

Prerequisites

Requirement Version Notes
Windows 10/11 Administrator privileges required
.NET 9.0+ Download here
Npcap Latest Download here - WinPcap successor

Installation

# 1. Clone the repository
git clone https://github.com/yourusername/NetworkVisualizer3D.git
cd NetworkVisualizer3D

# 2. Build the project
cd NetworkVisualizer3D.Core
dotnet restore
dotnet build

# 3. Run the application
dotnet run

First Run

  1. Install Npcap - Download from npcap.com and install with "WinPcap API-compatible Mode" enabled
  2. Run as Administrator - Required for packet capture functionality
  3. Select Network Interface - Choose from available interfaces in the dashboard

๐ŸŽฎ Usage

Interactive Dashboard

Launch the application to access the professional dashboard interface:

dotnet run
========================================
   NetworkVisualizer3D Dashboard
========================================
--- Network Capture ---
 1. Start Network Capture [Status: Stopped]
 2. Stop Network Capture
 3. Show Capture Statistics
 4. List Network Interfaces
--- API Server ---
 5. Start API Server [Status: Stopped]
 6. Stop API Server
--- Data Analysis ---
 7. Show Current Network Snapshot
 8. Show Configuration
--- System ---
 0. Exit
========================================

Command Line Interface

# List available network interfaces
dotnet run interfaces

# Start capture on specific interface
dotnet run capture "Wi-Fi"

# Show help
dotnet run help

# Demo mode (coming soon)
dotnet run demo

๐Ÿ—๏ธ Architecture

Project Structure

NetworkVisualizer3D.Core/
โ”œโ”€โ”€ ๐Ÿ“ Configuration/           # Application settings
โ”‚   โ””โ”€โ”€ AppSettings.cs         # Comprehensive configuration model
โ”œโ”€โ”€ ๐Ÿ“ Interfaces/             # Service contracts
โ”‚   โ”œโ”€โ”€ INetworkCaptureService.cs
โ”‚   โ”œโ”€โ”€ IApiService.cs
โ”‚   โ””โ”€โ”€ ILogger.cs
โ”œโ”€โ”€ ๐Ÿ“ Models/                 # Data models
โ”‚   โ””โ”€โ”€ NetworkModels.cs       # Network entities & enums
โ”œโ”€โ”€ ๐Ÿ“ Services/               # Core services
โ”‚   โ”œโ”€โ”€ NetworkCaptureService.cs  # Packet capture engine
โ”‚   โ””โ”€โ”€ ConsoleLogger.cs          # Logging implementation
โ”œโ”€โ”€ ๐Ÿ“ Utils/                  # Utility classes
โ”‚   โ”œโ”€โ”€ DeviceTypeDetector.cs     # Device classification
โ”‚   โ”œโ”€โ”€ PositionCalculator.cs     # 3D positioning algorithms
โ”‚   โ””โ”€โ”€ HttpAnalyzer.cs           # HTTP security analysis
โ”œโ”€โ”€ Program.cs                 # Application entry point
โ”œโ”€โ”€ appsettings.json          # Configuration file
โ””โ”€โ”€ NetworkVisualizer3D.Core.csproj

Core Components

๐Ÿ”ง NetworkCaptureService

  • Real-time packet capture using SharpPcap
  • Protocol analysis for TCP, UDP, ICMP, HTTP, DNS
  • Device discovery and connection tracking
  • Security threat detection with configurable rules

๐ŸŽฏ DeviceTypeDetector

  • MAC OUI database for vendor identification
  • Traffic pattern analysis for device classification
  • IP range detection for network topology mapping

๐Ÿ›ก๏ธ HttpAnalyzer

  • Security threat detection (SQL injection, XSS)
  • Sensitive data exposure monitoring
  • Suspicious user agent detection
  • HTTP traffic analysis with payload inspection

PositionCalculator

  • Force-directed layout algorithms
  • Hierarchical positioning based on device types
  • 3D coordinate calculation for network visualization
  • Collision avoidance and optimal spacing

Configuration

Network Capture Settings

{
  "NetworkCapture": {
    "DefaultInterface": "",
    "CaptureTimeoutMs": 30000,
    "SnapshotIntervalMs": 5000,
    "MaxPacketsPerSnapshot": 10000,
    "EnableRealTimeCapture": true,
    "SaveCaptureFiles": true,
    "CaptureDirectory": "Captures",
    "FilteredProtocols": ["TCP", "UDP", "ICMP"],
    "EnableDeepPacketInspection": false,
    "BufferSizeKB": 1024
  }
}

Visualization Settings

{
  "Visualization": {
    "OutputDirectory": "Visualizations",
    "EnableRealTimeVisualization": true,
    "MaxDevicesDisplayed": 100,
    "MaxConnectionsDisplayed": 500,
    "EnableAnimations": true,
    "AnimationSpeedMultiplier": 1.0,
    "EnableTrafficFlow": true,
    "DefaultColorScheme": "Protocol",
    "RefreshIntervalMs": 1000
  }
}

Security Settings

{
  "Security": {
    "RequireAdminPrivileges": true,
    "EnableEncryption": false,
    "EnableAuditLogging": true,
    "TrustedNetworks": [
      "192.168.0.0/16",
      "10.0.0.0/8",
      "172.16.0.0/12"
    ],
    "EnableThreatDetection": false,
    "MaxFailedAttempts": 5,
    "LockoutDurationMinutes": 15
  }
}

Features

Device Detection & Classification

Automatically identifies and classifies network devices:

Device Type Detection Method Examples
Computers MAC OUI + Traffic patterns Desktops, Laptops
Servers IP ranges + Port analysis Web servers, Database servers
Network Equipment Vendor identification Routers, Switches, Access Points
IoT Devices Traffic behavior Smart home devices, Sensors
Mobile Devices MAC patterns + User agents Phones, Tablets
Printers Protocol analysis Network printers, Scanners

Security Analysis

Built-in threat detection capabilities:

  • ** SQL Injection Detection** - Pattern matching for malicious SQL queries
  • ** XSS Attack Prevention** - Cross-site scripting attempt identification
  • ** Traffic Anomaly Detection** - Unusual traffic pattern analysis
  • ** Suspicious User Agents** - Known attack tool identification
  • ** Sensitive Data Exposure** - Credit cards, SSNs, API keys detection
  • ** Unencrypted Communications** - Plain text sensitive data monitoring

3D Visualization Algorithms

Advanced positioning and layout algorithms:

  • Force-Directed Layout - Physics-based node positioning
  • Hierarchical Positioning - Device type-based layering
  • Subnet-Based Clustering - IP range grouping
  • Collision Avoidance - Optimal spacing algorithms
  • Real-time Updates - Dynamic position recalculation

๐Ÿ“Š Statistics & Monitoring

Real-time Metrics

  • Packets per second - Live capture rate monitoring
  • Bytes transferred - Network throughput analysis
  • Protocol distribution - Traffic composition breakdown
  • Device count - Active device tracking
  • Connection analysis - Active connection monitoring
  • Security alerts - Threat detection summary

Performance Optimization

  • Concurrent processing - Multi-threaded packet analysis
  • Memory management - Efficient buffer handling
  • Configurable limits - Adjustable performance parameters
  • Background processing - Non-blocking capture operations

๐Ÿ› ๏ธ Development

Building from Source

# Clone and build
git clone https://github.com/yourusername/NetworkVisualizer3D.git
cd NetworkVisualizer3D/NetworkVisualizer3D.Core

# Restore dependencies
dotnet restore

# Build project
dotnet build --configuration Release

# Run tests (when available)
dotnet test

Dependencies

Package Version Purpose
SharpPcap Latest Network packet capture
PacketDotNet Latest Packet parsing and analysis
Newtonsoft.Json Latest JSON serialization
Microsoft.Extensions.Configuration Latest Configuration management
Microsoft.Extensions.Configuration.Binder Latest Configuration binding

โญ Star this project | ๐Ÿ› Report Bug | ๐Ÿ’ก Request Feature

About

NetworkVisualizer3D transforms network traffic data into an interactive 3D city visualization, where devices appear as buildings, connections as roads, and data flows as vehicles. Built with typescript,three.js,js, it features real-time monitoring, protocol differentiation, timeline controls for historical playback, and threat visualization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors