gitmyhub

RustScan

Rust ★ 20k updated 2d ago

🤖 The Modern Port Scanner 🤖

Fast port scanner written in Rust that checks which network ports are open on a target, scanning all 65,535 ports in ~3 seconds using parallel connections.

RustNmapPythonLuaShellDockerCargosetup: easycomplexity 3/5

RustScan is a fast port scanner written in Rust. A port scanner is a security tool that checks which network ports on a computer or server are open and accepting connections — an essential first step in security assessments and penetration testing, since open ports reveal what services are running and potentially reachable.

RustScan's defining feature is speed: it can scan all 65,535 possible ports on a target in approximately 3 seconds. It achieves this by making many simultaneous connection attempts in parallel, using Rust's performance characteristics to avoid the bottlenecks of older tools. The scan speed is enforced by automated tests in the project — if a code change makes RustScan significantly slower than the previous version, the continuous integration pipeline fails and the change cannot be merged.

After identifying which ports are open, RustScan can automatically hand off those results to Nmap, the industry-standard tool for deeper port analysis, so you get the best of both: RustScan's speed for initial discovery and Nmap's rich fingerprinting capabilities for analysis. RustScan also has a scripting engine that accepts scripts written in Python, Lua, or Shell, so you can automate follow-up actions based on what ports are found.

A feature called Adaptive Learning adjusts RustScan's behavior based on the operating system and environment it is running in, tuning itself for best results. It is available as a Homebrew package on macOS, through pacman on Arch Linux, via Cargo (Rust's package manager), and as a Docker image. Intended for authorized penetration testing and security research.

Where it fits