RustScan 端口扫描器

RustScan 端口扫描器

RustScan可以将17分钟的Nmap扫描变为19秒。使用Rustscan 快速查找所有打开的端口,然后将它们自动传输到Nmap。
当您可以在不到一分钟的时间内完成所有65535个端口扫描时,为什么还要花时间运行快速扫描和手动复制端口,或等待20分钟的扫描?

RustScan特色

①在8秒钟内扫描所有端口65535(批量为10k时)
②自动将其传输到Nmap中可以节省您的时间。不再需要手动复制和粘贴!
③做一件事,做得很好。唯一的目的就是改善Nmap,而不是取代它!

完整安装指南

您需要Nmap。如果您已安装Kali Linux或Parrot OS,则您已经具有Nmap。如果不是,请遵循nmap安装指南

安装RustScan的最简单方法是使用系统提供的软件包之一,例如HomeBrew或Yay for Arch Linux。

最通用的方法是使用cargoRust的内置软件包管理器(请考虑Pip但不要使用Rust)。请按照本指南安装Rust&Cargo

①Debian / Kali

从发布页面下载.deb文件:
https://github.com/brandonskerritt/RustScan/releases/tag/1.0.1
dpkg -i xxx.deb
在文件上运行命令。
注意:有时您可以双击文件以达到相同的结果。

②HomeBrew

点击HomeBrew:

brew tap brandonskerritt/rustscan

安装它:

brew install rustscan

用法

rustscan -h
用法:
    rustscan [设置] <i>

FLAGS:
    -h, --help       帮助信息
    -V, --version    版本信息

OPTIONS:
    -T, --timeout <T>    假定端口关闭之前的超时。默认值为250,但可以增加到1000。[默认值:250]
    -t, --threads <t>   您想使用多少个线程?默认值1000

ARGS:
    <i>    要扫描的ip地址

格式是rustcan -b 500 -T 1500 192.168.0.1使用1500ms的超时扫描,500线程
超时是RustScan等待响应多长时间,直到它假定端口已关闭。

批处理大小决定RustScan的速度。将其设置为65535,它将同时扫描所有端口。
这意味着如果批量大小为65535,RustScan将花费TIMEOUT长时间扫描所有端口。本质上,如果超时为1000ms,RustScan可以在1秒内扫描

您的操作系统可能不支持此功能,但是值得一试,看看打开文件的限制在哪里。不久我将发布具有更大打开文件限制的dockerized版本,因此这将是可能的。

namp

要运行您自己的nmap命令,请在RustScan命令结尾加上-- -A--指示“ RustScan标志的结尾,请不要进一步解析”,此后的任何标志都将输入nmap。

RustScan自动运行nmap -vvv -p $PORTS $IP 要使其运行-A,请执行命令rustscan 127.0.0.1 -- -A

注意:由于Nmap的行为,有时您无法SIGINT ctrl + c 结束扫描,其行为就像它在后台运行,而是打印到STD :: OUT。除非我仅为运行Nmap的目的创建一个TTY shell,否则我无能为力。抱歉😓我将尝试修复即将发布的版本。如果有任何Rust专家想要帮助,请执行!

提高速度/精度

  • 批处理大小通过允许我们一次处理更多内容,这提高了速度。我正在进行的实验工作,正在更改打开文件的限制。您可以使用手动执行此操作,ulimit -n 70000然后使用来运行rustscan -B 65535。这应该在完全相同的时间扫描所有65535端口。但这是实验性质的。

为了提高非实验速度,请缓慢增加批处理大小,直到不再打开端口或它崩溃为止。

  • 准确性(和某些速度)要提高准确性,最简单的方法是增加超时时间。默认值为1.5秒,通过将其设置为4秒(4000),我们告诉RustScan“如果4秒钟内未从端口收到回音,则假定它已关闭”。

精度的降低会带来一些速度上的好处,但是我的测试发现,批处理量极大地改变了速度,而超时却确实改变了速度,但并没有那么大。

注意:版本1.1在8秒内以10,000的批处理量运行,版本1在1k线程上以〜26秒运行,或平均1-2分钟。我正在更新其他软件包,但要获得最大速度和最新支持,请使用Cargo

下载地址:

①雨苁网盘: https://w.ddosi.workers.dev/github/RustScan/
②GitHub: deb文件