RustScan: The Modern, Fast, and Extensible Port Scanner

RustScan: The Modern, Fast, and Extensible Port Scanner

Summary

RustScan is a cutting-edge port scanner designed for speed and efficiency, capable of scanning all 65k ports in just 3 seconds. It features a powerful scripting engine supporting Python, Lua, and Shell, allowing for automated task execution and seamless integration with tools like Nmap. With adaptive learning capabilities and a focus on accessibility, RustScan offers a modern and highly customizable solution for network security professionals.

Repository Info

Updated on November 24, 2025
View on GitHub

Tags

Click on any tag to explore related repositories

Introduction

RustScan is a modern, high-performance port scanner built in Rust, designed to quickly identify open ports on target systems. It distinguishes itself with its exceptional speed, capable of scanning all 65,535 ports in as little as 3 seconds. Beyond its rapid scanning capabilities, RustScan offers a robust scripting engine and adaptive learning features, making it a versatile and intelligent tool for network reconnaissance and penetration testing.

Installation

Installing RustScan is straightforward, with support for various package managers and direct installation via Cargo.

Recommended Installation (Package Managers):
RustScan is available in many system repositories. It is recommended to install it using your system's package manager for tested and stable versions.

  • MacOS:
    brew install rustscan
    
  • Arch Linux:
    pacman -S rustscan
    
  • For other distributions, check the Repology status for available packages.

Cargo Installation (Official Support):
If you have Rust installed, you can install RustScan using Cargo:

cargo install rustscan

Alternatively, you can download pre-compiled binaries from the releases page.

Examples

RustScan's power lies in its speed and its extensible scripting engine, which allows you to automate workflows and integrate with other tools.

Basic Usage:
To scan a target, simply run:

rustscan -a <target_IP_or_hostname>

Piping to Nmap:
One of RustScan's most popular features is its ability to automatically pipe discovered open ports directly into Nmap for more in-depth analysis. This significantly speeds up the initial port discovery phase.

rustscan -a <target_IP_or_hostname> -- -A -sC -sV

The -- separates RustScan arguments from Nmap arguments.

Scripting Engine:
RustScan includes a powerful scripting engine that supports Python, Lua, and Shell scripts. This allows users to write custom scripts to perform actions on discovered open ports, such as running specific enumeration tools if certain services are found. For example, you could write a script to automatically run smb-enum if SMB is detected.

Why Use RustScan?

RustScan stands out as a modern port scanner due to several key advantages:

  • Blazing Fast Speed: Scans all 65,535 ports in approximately 3 seconds, making initial reconnaissance incredibly efficient.
  • Extensible Scripting: Its scripting engine allows for custom automation in Python, Lua, or Shell, providing unparalleled flexibility for post-scan actions and integration with other tools.
  • Adaptive Learning: RustScan incorporates "Adaptive Learning" features that fine-tune its behavior based on the target environment and your usage patterns, improving its effectiveness over time.
  • Accessibility Focus: It is one of the first penetration testing tools designed with accessibility in mind, aiming to ensure it can be used by everyone.
  • Nmap Integration: Seamlessly pipes discovered ports to Nmap, combining RustScan's speed with Nmap's comprehensive scanning capabilities.

Important Links

For more detailed information, usage guides, and community support, refer to these official resources: