ruby-nmap is a Ruby library that provides programmatic access to the nmap network scanning tool. It consists of two main components: 1) A command-line interface builder (Nmap::Command) that allows Ruby programs to configure and execute nmap scans with full access to nmap's options through a Ruby DSL, and 2) An XML parser (Nmap::XML) that converts nmap's XML output into navigable Ruby objects representing hosts, ports, services, OS detection results, and script output. The library acts as a bridge between Ruby applications and the nmap executable, handling the complexity of command-line argument construction and XML parsing while providing an idiomatic Ruby interface. The project is actively maintained with recent commits, comprehensive test coverage, and support for multiple Ruby versions.
AssetsHunter is a Python-based information gathering framework designed for asset discovery and reconnaissance. It provides both active and passive modules for tasks such as web service detection (Hawkeye), information leakage checks (InfoRisk), CMS fingerprinting (WhatCMS), and various passive data collection methods including DNS resolution, WHOIS queries, SSL certificate transparency logs, and IP reputation services. The framework uses a modular architecture with command-line argument parsing to select specific reconnaissance modules. While functional, the code exhibits several quality issues: inconsistent error handling, tight coupling between modules and configuration, repetitive code patterns (especially in the passive modules), and limited use of modern Python practices. The framework demonstrates basic reconnaissance capabilities but lacks sophistication in areas like rate limiting, robust error handling, and modular extensibility.