explaingit

bee-san/rustscan

19,791RustAudience · developerComplexity · 3/5ActiveLicenseSetup · easy

TLDR

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.

Mindmap

mindmap
  root((RustScan))
    What it does
      Scans open ports
      Hands off to Nmap
      Runs custom scripts
    Key features
      Ultra-fast scanning
      Adaptive learning
      Parallel connections
    Use cases
      Security assessments
      Penetration testing
      Service discovery
    Tech stack
      Rust
      Nmap integration
      Python/Lua/Shell
    Installation
      Homebrew
      Cargo
      Docker
      Arch Linux

Things people build with this

USE CASE 1

Run a fast initial port scan on a target server to discover open services before deeper analysis.

USE CASE 2

Automatically pipe RustScan results into Nmap for detailed fingerprinting and vulnerability assessment.

USE CASE 3

Write Python or Lua scripts to automatically trigger follow-up actions when specific ports are discovered.

USE CASE 4

Perform authorized penetration testing and security assessments with speed-optimized scanning.

Tech stack

RustNmapPythonLuaShellDockerCargo

Getting it running

Difficulty · easy Time to first run · 5min
Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.

In plain English

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.

Copy-paste prompts

Prompt 1
How do I install RustScan and run my first port scan on a target IP address?
Prompt 2
Show me how to configure RustScan to automatically pass open ports to Nmap for deeper analysis.
Prompt 3
Write a Python script that RustScan can execute to log all discovered open ports to a file.
Prompt 4
How does RustScan's Adaptive Learning feature work and how do I enable it for my environment?
Prompt 5
What are the performance differences between RustScan and traditional port scanners like Nmap?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.