NETworkManager is a comprehensive Windows-based network administration and troubleshooting tool built with WPF and the MVVM pattern. It provides an integrated suite of network utilities including remote access (RDP, PowerShell, PuTTY, TigerVNC, WebConsole), network diagnostics (WiFi scanner, IP/port scanners, ping monitor, traceroute, DNS lookup), configuration tools (firewall, hosts file editor), and various network utilities (subnet calculator, bit calculator, OUI/port lookup, RDAP/Whois, IP geolocation). The application features a tabbed interface where each tool operates as a separate tab, profile-based configuration management for saving host/group settings, settings persistence with system-wide policy support, localization for 16+ languages, and data export capabilities (CSV, XML, JSON). The architecture follows clean separation of concerns with dedicated projects for Controls, Converters, Models, Profiles, Settings, Utilities, and ViewModels/View pairs.
NatTypeTester is a cross-platform NAT type testing tool that implements STUN protocols (RFC 3489 and RFC 5780) to determine network characteristics. The application provides desktop (Avalonia), Android, and command-line interfaces for testing NAT type, mapping behavior, filtering behavior, and public endpoint detection. It follows a clean layered architecture with MVVM pattern, dependency injection, and separation of concerns. The core STUN protocol implementation is packaged as a reusable NuGet library (Stun.Net) that supports UDP, TCP, TLS, and DTLS transports with SOCKS5 proxy capabilities.
nettrace is a Linux network diagnostic tool based on eBPF that traces network packet lifecycle, performs fault diagnosis, and monitors network abnormalities. The architecture centers around a main CLI application (nettrace.c) that loads and attaches eBPF programs (primarily in src/progs/kprobe.c) to kernel functions and tracepoints. As packets traverse the network stack, eBPF programs capture event data sent to user space via perf buffers, where it's processed by analysis.c for diagnostic rule matching and formatted by output.c for display. Key features include basic packet tracing, diagnostic mode with automated problem identification, drop monitoring, socket tracking, and latency/RTT analysis. The tool relies on external dependencies like libbpf, libelf, and bpftool for eBPF program loading and compilation.
IPQuality is a comprehensive bash-based CLI tool for evaluating the quality and risk profile of an IP address. It performs geolocation lookups (via Maxmind and IPinfo), IP type classification (ISP, hosting, business, etc.), risk scoring from multiple threat intelligence providers (AbuseIPDB, IP2Location, IPQS, Scamalytics, etc.), streaming media unlock detection (TikTok, Disney+, Netflix, YouTube, Amazon Prime Video, Reddit, ChatGPT), email service connectivity tests (Gmail, Outlook, Yahoo, etc.), and DNS blacklist checks against 400+ databases. The script is designed for VPS owners and network administrators to quickly assess whether an IP is clean, blocked, or associated with proxies/VPNs. It supports dual-stack IPv4/IPv6, multiple operating systems, Docker, and various output formats (ANSI, JSON, plain text). The architecture is a single monolithic bash script (~78000 tokens) with modular functions, progress bars, and extensive error handling. While not a reusable library, it demonstrates advanced bash scripting patterns for network diagnostics.
Dublin Traceroute is a NAT-aware multipath traceroute tool that extends the Paris-traceroute technique to enumerate ECMP load-balanced paths and detect NATs. It forges UDP packets with custom payloads to control the UDP checksum, which is used as a per-flow identifier and embedded in the IP ID field for NAT correlation. The system listens for ICMP Time Exceeded and Destination Unreachable responses, matches them to sent probes using IP ID (IPv4) or payload length (IPv6), and computes a NAT ID from checksum differences. Output is provided in JSON or DOT format for visualization. The repository contains two independent implementations: a primary C++ library/CLI using libtins and jsoncpp, and an experimental Go implementation with IPv6 support and additional tooling (routest for integration testing). The Go implementation demonstrates cleaner separation of concerns with reusable network protocol modules (ICMP, UDP, IPv6) and a layered protocol abstraction.
This is an Android application for network traffic capture and diagnostics, functioning as a mobile proxy similar to Fiddler. The core functionality revolves around intercepting HTTP/HTTPS traffic via a locally running BrowserMobProxy instance, capturing requests/responses in HAR format, and providing tools for modifying traffic (via response injection rules), exporting captures, and performing network diagnostics (ping, DNS, traceroute). The architecture follows standard Android patterns with Activities, Fragments, Services, and Utils classes, but integrates deeply with modified versions of Netty, BrowserMob Proxy, and LittleProxy for MITM capabilities. Key entry points include MainActivity (UI launcher), SysApplication (proxy initialization), MyVpnService (system-wide traffic capture via VPN), and LDNetDiagnoService (diagnostic tasks). The application requires manual installation of a CA certificate for HTTPS interception and stores configuration in SharedPreferences. While functional, the codebase exhibits maintenance challenges including reflection-heavy Android version-specific code, complex SSL/TLS management, static state risks, and dependencies on forked libraries that may lag upstream.