RustScan README

The project's README from github.com/bee-san/RustScan. As one markdown file: README.md.

➡️ Discord | Installation Guide | Usage Guide ⬅️

Fast, smart, effective.

Arch Linux package Built with Rust GitHub All Releases Crates.io Discord Actions

🤔 What is this?

fast

The Modern Port Scanner. Find ports quickly (3 seconds at its fastest). Run scripts through our scripting engine (Python, Lua, Shell supported).

🛠️ Installation

You can install RustScan's binary from our releases page.

We would prefer you to install with a package manager so it is tested and works for your system.

RustScan is in many repositories already. Install it with whatever tools you wish:

Packaging status

RustScan only officially supports Cargo installations, if you want to use that please install Rust and then cargo install rustscan

Example installations include:

MacOS:

  brew install rustscan

Arch:

  pacman -S rustscan

✨ Features

:book: Installation Guide :books: Documentation :parrot: Discord

🙋 Table of Contents

🔭 Why RustScan?

RustScan is a modern take on the port scanner. Sleek & fast. All while providing extensive extendability to you.

Not to mention RustScan uses Adaptive Learning to improve itself over time, making it the best port scanner for you.

🧋 Speed

fast

Speed is guaranteed via RustScan. However, if you want to run a slow scan due to stealth, that is possible too.

Firstly, let's talk code.

We have tests that check to see if RustScan is significantly slower than the previous version. If it is, the continuous integration fails, and we can't commit code to master unless we make it faster.

HyperFine is used to monitor RustScan's performance over time to answer the question, "Are we getting faster? Are we getting slower?".

Every pull request is reviewed by one person, but more often than not, two people review it. We test it manually and ensure the code doesn't negatively affect performance.

Read more here.

⚙️ Extensible

scripts

RustScan piping results into the custom Python script

RustScan has a new scripting engine that allows anyone to write scripts in most languages. Python, Lua, and Shell are all supported.

Want to take your found ports and pipe them into Nmap for further analysis? That's possible. Want to run smb-enum if SMB is found open? Possible.

The possibilities are endless -- and you can write scripts in whatever language you feel comfortable with.

Read more here.

🌊 Adaptive

adaptive

RustScan automatically fine-tunes itself to match the host OS

RustScan has a cool set of features called "Adaptive Learning". These features "learn" about the environment you are scanning and how you use RustScan to improve itself over time.

We use this umbrella term for any feature that fits this criterion. The list constantly changes, so check out our wiki for more information.

👩‍🦯 Accessible

fast

RustScan is one of the first penetration testing tools that aims to be entirely accessible.

Most penetration testing tools are not accessible, which negatively affects the whole industry.

RustScan has continuous integration testing that aims to ensure it is accessible, and we are constantly working on ways to improve our accessibility and ensure everyone can use RustScan.

🤸 Usage

We have 2 usage guides. Basic Usage and Things you may want to do.

We also have documentation about our config file here.

🎪 Community

Contributing Read this to learn how.

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):


Bee

🚇 ⚠️ 💻 🎨

SakiiR

💻 🐛

smackhack

🤔 💡

Bernardo Araujo

💻 🐛 🎨

Izzy Whistlecroft

🐛

imlonghao

🐛 🚧

royharoush

🤔 🎨

Atul Bhosale

💻

Thomas Gotwig

📦

Rémi Gourdon

📖 💻

Ben (CMNatic)

💻 📖 🎨

Alessandro Ferrari

🖋

Phenomite

🖋

Sandro

🖋 🐛 💻

Cass

📦 💻 🐛

Niklas Mohrin

📖 💻 🐛

Artem Polishchuk

📦

buermarc

💻

bergabman

💻 🐛 🎨

Dmitry Savintsev

💻

Sebastian Andersson

💻

Matt Corbin

💻

RootSploit

📝

eiffel-fl

💻

Y.Horie

💻

Oskar

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

RustScan (bee-san/RustScan)

Searching Database…

20.6K ·GitHub
这是干什么的?RustScan 是一个用 Rust 编写的开源端口扫描器:它能快速找到开放端口——扫描全部 6.5 万个端口最快只需 3 秒——还带一个支持 Python、Lua 和 Shell 的脚本引擎。
它能替代 Nmap,还是两者配合使用?配合使用——RustScan 快速找出开放端口,然后自动把它们传给 Nmap 做更深入的分析,所以它是在 Nmap 工作流程前面运行,而不是取而代之。
我需要先安装 Rust 吗?只有走 Cargo 这条路才需要。预编译的发布二进制文件和包管理器安装包都不需要 Rust 工具链,另外还有官方 Docker 镜像,README 推荐的就是这种分发方式。
我能让它扫得慢一点,好保持隐蔽吗?可以——默认就是追求速度,但在隐蔽比扫完更重要的情况下,你可以刻意进行慢速扫描。
它是怎么做到 3 秒内扫完全部 6.5 万个端口的?速度是在开发过程中强制保证的:如果某次改动让 RustScan 明显变慢,CI 就会失败,而且每个版本都会用 HyperFine 基准测试跟踪性能,所以变慢的代码进不了 master 分支。
脚本引擎能做什么?你脚本能写什么它就能做什么:把找到的端口传给 Nmap 做进一步分析,或者运行 Python、Lua 和 Shell 脚本——比如发现 SMB 端口开放时自动运行 smb-enum。
什么是 Adaptive Learning(自适应学习)?这是一系列功能的统称:它们会了解你正在扫描的主机以及你使用 RustScan 的方式,然后随时间对工具进行微调——第一步就是识别主机的操作系统。README 强调这只是基础数学,不是机器学习。
它对读屏软件用户友好吗?友好,这是一个明确的目标:团队称 RustScan 是最早致力于完全无障碍访问的渗透测试工具之一,而且 CI 测试会对改动检查无障碍性。
What are similar projects?bbot, Decepticon, httpx, masscan, Photon, nikto, nmap, gobuster
Creator
bee-san
Size
14.6 MB
Stars
20.6K
Age
6y
Commits · 90 Days