RustScan logo

RustScan

Port scanner written in Rust that scans all 65k ports in about 3 seconds and can pipe open ports into Nmap or custom Python, Lua, and Shell scripts.

install

RustScan is a port scanner written in Rust. It finds open ports on target hosts and reports scanning all 65k ports in as little as 3 seconds at its fastest. Slower scans are also possible when stealth matters more than speed. It supports the usual inputs, including IPv6, CIDR ranges, and file input.

Its scripting engine runs scripts written in Python, Lua, or Shell against the discovered ports. RustScan can pipe open ports into Nmap automatically for further analysis. Scripts can also be conditional, such as running smb-enum when SMB is found open. Users can use the bundled scripts or write their own. A config file is documented for persistent settings.

RustScan also has "Adaptive Learning", a set of features that tune the scan to the host OS and to how the user runs it. The README describes this as basic maths rather than machine learning. For performance, CI tests compare each change against the previous version and fail the build if RustScan becomes significantly slower, with HyperFine used to track speed over time. The README also says CI checks accessibility. The tool is aimed at penetration testers, security researchers, and network administrators, and it has Docker usage documentation.

Installation

# via Homebrew
brew install rustscan
# via Pacman
pacman -S rustscan
# via Cargo
cargo install rustscan

Alternatives & related tools

add a badge to your README

Maintain RustScan? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/rustscan.svg)](https://www.trmn.sh/tools/rustscan?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/rustscan?utm_source=badge"><img src="https://www.trmn.sh/badge/rustscan.svg" alt="Featured on trmn" height="20"></a>