An asynchronous network scanning and enumeration tool written in Rust: async TCP/UDP port scanning, host discovery, optional Nmap enrichment, and seven opt-in protocol enumeration modules (DNS, HTTP, TLS, FTP, SNMP, SMB, NFS) that extract service data as structured, severity-tagged findings.
- docs/FEATURES.md — full feature list
- docs/ARCHITECTURE.md — how it's built, directory structure
- docs/USAGE.md — usage examples, one per feature
- docs/SCOPE.md — authorization and scope guardrails
- docs/SCRIPTING.md — the bundled
etcd-info.nsescript
# Install Rust (the SMB module needs rustc 1.89+)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal
source "$HOME/.cargo/env"
# Optional: install Nmap for enrichment
sudo apt-get install nmap # or: sudo dnf install nmap
# Build and install
cargo build --release
sudo mv target/release/netenum /usr/local/bin/Every scan requires an explicit authorization acknowledgment:
netenum 10.0.0.1 -p 22,80,443 --i-have-authorizationSee docs/USAGE.md for the full set of examples, including every enumeration module (--dns, --http, --tls, --ftp, --snmp, --smb, --nfs).
This project is a personal learning project. Its direction, architecture, and feature roadmap were my own design, refined iteratively across each version into what exists today. AI (Claude) was used as a coding assistant throughout development to speed up implementation, research third-party crate APIs, and validate code against real servers.