# bee-san/RustScan

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bee-san-rustscan).**

19,236 stars · 1,282 forks · Rust · gpl-3.0

## Links

- GitHub: https://github.com/bee-san/RustScan
- awesome-repositories: https://awesome-repositories.com/repository/bee-san-rustscan.md

## Topics

`docker` `hacking` `hacktoberfest` `networking` `nmap` `pentesting` `port` `rust` `scanning` `security` `security-tools`

## Description

RustScan is a high-speed network reconnaissance tool designed for automated port discovery and service enumeration. It functions as an automated vulnerability scanner that identifies open ports and active services across network environments, providing a foundation for mapping attack surfaces and gathering intelligence on target systems.

The tool distinguishes itself through its ability to dynamically adjust scanning parameters and concurrency in real-time based on system feedback, ensuring efficient performance while preventing network congestion. It features an extensible architecture that supports the execution of custom scripts and the automated piping of discovered data into external security utilities, including native integration with Nmap for deep service analysis.

Beyond basic port discovery, the software supports payload-driven service probing to accurately classify network services and includes capabilities for UDP service identification. It is built as a cross-platform utility, utilizing a unified codebase to generate native binaries for multiple operating systems.

## Tags

### Networking & Communication

- [Port Scanners](https://awesome-repositories.com/f/networking-communication/port-scanners.md) — Identifies open network services and automates further enumeration through integration with external security utilities.
- [Network Scanning Tools](https://awesome-repositories.com/f/networking-communication/network-scanning-tools.md) — Identifies open ports and active services across a network to discover potential vulnerabilities and map the attack surface.
- [Service Enumeration Tools](https://awesome-repositories.com/f/networking-communication/service-enumeration-tools.md) — Runs custom scripts and external tools against discovered ports to gather detailed information about running network services.
- [Performance Optimization](https://awesome-repositories.com/f/networking-communication/network-scanning-tools/performance-optimization.md) — Optimizes scan performance by adjusting scanning behavior based on environmental feedback and usage patterns. ([source](https://github.com/bee-san/RustScan#readme))
- [Event-Driven Networking](https://awesome-repositories.com/f/networking-communication/event-driven-networking.md) — Uses non-blocking I/O and event loops to manage thousands of concurrent socket connections for high-speed port discovery.
- [Payload Mapping](https://awesome-repositories.com/f/networking-communication/network-scanning-tools/payload-mapping.md) — Maps network payloads by parsing external port and payload definitions to create optimized lookup structures for efficient network scanning. ([source](https://github.com/bee-san/RustScan/blob/master/build.rs))

### Security & Cryptography

- [Vulnerability Scanners](https://awesome-repositories.com/f/security-cryptography/security/utilities/security-tools/vulnerability-assessment-tools/vulnerability-scanners.md) — Probes network ports and executes custom scripts to identify active services and potential vulnerabilities across target hosts.
- [Network Reconnaissance Tools](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/network-reconnaissance-tools.md) — Maps network environments by dynamically adjusting scanning parameters and piping results to secondary analysis tools.
- [UDP Service Probers](https://awesome-repositories.com/f/security-cryptography/web-asset-probing/service-probing-tools/udp-service-probers.md) — Identifies active services by sending specific data payloads to UDP ports to elicit responses. ([source](https://github.com/bee-san/RustScan/blob/master/nmap-payloads))
- [Service Probing](https://awesome-repositories.com/f/security-cryptography/web-asset-probing/service-probing.md) — Matches target ports against predefined data structures to elicit specific responses for accurate service identification.

### Development Tools & Productivity

- [Network Mapping Integrations](https://awesome-repositories.com/f/development-tools-productivity/external-service-integrations/network-mapping-integrations.md) — Integrates with external network mapping tools to automate detailed service enumeration and analysis on discovered open ports. ([source](https://github.com/bee-san/RustScan/blob/master/Cargo.toml))
- [Network Throttling](https://awesome-repositories.com/f/development-tools-productivity/execution-throttling/network-throttling.md) — Adjusts scanning concurrency and packet transmission rates in real-time to prevent network congestion.
- [Scan Configurations](https://awesome-repositories.com/f/development-tools-productivity/scan-configurations.md) — Configures scanning parameters dynamically based on the target environment and historical usage patterns to achieve better performance. ([source](https://github.com/bee-san/RustScan/blob/master/README.md))
- [Script Execution Engines](https://awesome-repositories.com/f/development-tools-productivity/script-execution-engines.md) — Executes custom scripts in multiple languages against discovered ports to automate further analysis or service enumeration tasks. ([source](https://github.com/bee-san/RustScan#readme))

### Software Engineering & Architecture

- [Security Tool Integrations](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/autonomous-agent-frameworks/external-tool-integrations/security-tool-integrations.md) — Pipes discovered port data to other security utilities automatically to facilitate deeper inspection and service identification. ([source](https://github.com/bee-san/RustScan#readme))
