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.
The bird-lg-go project is a Go implementation of a BGP looking glass, providing both a web frontend and a proxy service for interacting with BIRD routing daemons. It allows users to view BGP protocol status, look up routes, perform traceroute and whois queries, and visualize AS paths via a graphical interface. The frontend and proxy can be used independently or together, and are compatible with the original Python-based bird-lg project. The architecture consists of two main components: the frontend, which serves as a web interface and API endpoint, and the proxy, which handles communication with the BIRD daemon and executes traceroute commands. The frontend uses the proxy to retrieve data, which it then formats and presents to users via HTML templates or JSON API responses. The project emphasizes security through features like command restriction in the proxy and IP-based access control. Key technical strengths include the VRF socket binding abstraction for Linux systems, a robust WHOIS implementation that supports both external servers and local binaries, a traceroute module with automatic binary detection and concurrency control, and a reusable batch request pattern for parallel backend queries. The codebase is well-tested, uses modern Go practices, and maintains compatibility with various BIRD versions and operating systems.
This is a comprehensive command-line tool and self-hosted web server for network reconnaissance, written entirely in Bash. It performs ASN lookups, BGP statistics, RPKI validation, IP geolocation, IP reputation checks (via StopForumSpam, IPQualityScore, GreyNoise), Shodan InternetDB scanning for open ports and vulnerabilities, AS path tracing with detailed hop information, and more. The architecture is a monolithic Bash script (~7000 lines) that integrates numerous public APIs (RIPEStat, Team Cymru, pWhois, PeeringDB, CAIDA, ipinfo.io, ip-api, Cloudflare Radar, etc.) and command-line tools (mtr, whois, jq, curl, ncat). It can run in interactive mode, JSON output mode (as an API), or as an HTTP server (using ncat) that generates HTML reports with clickable links and a bookmarklet for browser integration. The code is well-structured for a shell script, with extensive error handling, caching of API responses, and support for API tokens to enhance functionality. While it is not modular in a traditional sense (everything is in one file), it demonstrates high craftsmanship in Bash and is actively maintained.
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.