【教程】Rustscan端口扫描工具,3秒扫描6w+端口

Rustscan端口扫描工具

Rustscan是一款用Rust语言开发的高速端口扫描器,它可以在3秒内扫描所有65535个端口,并支持脚本引擎和自适应学习功能。它还可以自动将扫描结果导入Nmap,或者使用自定义的脚本进行进一步的操作。Rustscan的开发语言是Rust,这是一种现代的、安全的、并发的、实用的编程语言,它具有高性能、内存安全、类型安全、零成本抽象等特点。Rustscan使用Rust的优势来实现快速、智能、有效的端口扫描。

官方声称可以实现3秒扫描全端口,经过实测虽说达不到3秒,但是相对速度要比Nmap和Masscan快很多的。目前Github上Star数以达到10.4k。

RustScan 通过内置的 Rust sockets模块使用完整的 TCP 3次握手连接,可以说很少存在误报。


文章目录

  • Rustscan端口扫描工具
  • 安装方法
    • dpkg安装(简单)
    • docker安装(推荐)
  • 使用教程
    • 参数介绍
    • IP扫描
      • 单IP扫描
      • 多IP 扫描
    • 主机扫描
    • 网段扫描
    • 文件扫描
    • 端口扫描
      • 单端口扫描
      • 多端口扫描
      • 端口范围扫描
    • 与Namp联动
  • 参考


安装方法

  • 项目地址:RustScant项目地址

dpkg安装(简单)

  • 地址:https://github.com/RustScan/RustScan/releases/tag/2.0.1
  • 64位下载地址:rustscan_2.0.1_amd64.deb
  • 32位下载地址:rustscan_2.0.1_i386.deb
  1. 创建Rustscan文件夹
mkdir Rustscan
cd rustscan
  1. 下载 RustScan文件
64位地址:
wget https://github.com/RustScan/RustScan/releases/download/2.0.1/rustscan_2.0.1_amd64.deb
32位地址:
wget https://github.com/RustScan/RustScan/releases/download/2.0.1/rustscan_2.0.1_i386.deb
  1. 安装 RustScan
   sudo dpkg -i rustscan_2.0.1_amd64.deb
  1. 验证版本
 rustscan -V
  1. 解决依赖关系问题:

上述安装命令可能会提示一些依赖关系问题,其中可能包括缺少的软件包。使用以下命令来解决这些依赖关系问题。

   sudo apt update
   sudo apt install -f

【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第1张图片

docker安装(推荐)

使用docker安装rustscan的方法,前置条件是必须必须安装docker,请自行查阅网上安装教程。

  1. 安装 rustscan
    rustscan提供两种镜像:
    • rustscan/rustscan:alpine: 这是基于 Alpine Linux 发行版的 rustscan 镜像。Alpine Linux 是一个轻量级的 Linux 发行版,以其小巧、高效和安全而著名。使用该镜像可以获得较小的镜像大小和较快的启动时间,适合需要精简环境的应用场景。
    • rustscan/rustscan:latest: 这是最新版本的 rustscan 镜像标签。“latest” 标签通常表示最新的可用版本。它可能是基于不同的操作系统或基础镜像构建的,并且在逐步更新过程中可能会有不同的特性和改进。
    • 根据你的使用需求,可以选择适合的镜像标签。如果你有特定的环境要求或对镜像大小和性能敏感,可以选择 rustscan/rustscan:alpine。如果你只关心最新版本,并且不依赖于特定的基础镜像,可以选择 rustscan/rustscan:latest。
    • 一般都选择rustscan/rustscan:latest,docker在安装时也默认latest版本
      dockerhub—rustscan详细版本信息
docker pull rustscan/rustscan:latest
  1. 查看shell配置地址
echo $SHELL

以下是一些常见的终端程序及其配置文件的示例:

  1. Bash(Bourne Again Shell):

    • 终端程序:gnome-terminal、konsole、xterm 等
    • 配置文件: ~/.bashrc、 ~/.bash_profile、/etc/profile、/etc/bash.bashrc 等
  2. Zsh(Z Shell):

    • 终端程序:gnome-terminal、konsole、xterm 等
    • 配置文件:~/.zshrc、/etc/zsh/zshrc 等
  3. Fish(Friendly Interactive Shell):

    • 终端程序:fish、gnome-terminal、konsole 等
    • 配置文件:/.config/fish/config.fish、/.config/fish/fish.config 等
  4. Tmux:

    • 终端程序:tmux
    • 配置文件:~/.tmux.conf
  5. Terminator:

    • 终端程序:terminator
    • 配置文件:~/.config/terminator/config、/etc/terminator/config 等
  1. 将docker运行rustscan的命令写入到shell的配置中
    注意修改自己的配置文件地址,以下是~/.zshrc:
 echo "alias rustscan='docker run -it --rm --name rustscan rustscan/rustscan:latest'" >> ~/.zshrc
  1. 重新打开控制台或者输入命令
source ~/.zshrc
  1. 验证是否将命令写入到alias中
alias
  1. 验证版本
rustsacn -V

注:我这里和dpkg安装方法的命令冲突,故将docker方法调用命令更改为rustscan_docker
【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第2张图片


使用教程

参数介绍

  • 使用方式:
    rustscan [标识] [选项] [-- …]

  • 标识:

    --accessible        可访问模式。关闭对屏幕阅读器有负面影响的功能。
    -g, --greppable     Greppable 模式,仅输出端口。无 Nmap,适用于 grep 或输出到文件。
    -h, --help          显示帮助信息。
    -n, --no-config     是否忽略配置文件。
        --top           使用前 1000 个端口。
    -V, --version       显示版本信息。
    
  • 选项:

    -a, --addresses ...   要扫描的 CIDR、IP 或主机的逗号分隔列表。
    -b, --batch-size     端口扫描的批量大小,它会增加或减慢扫描速度。
            取决于您的操作系统的最大文件句柄数。如果您使用 65535,它将同时扫描所有端口。
            但是,您的操作系统可能不支持此操作。[默认值:4500]
    
    -p, --ports ...           要扫描的端口列表。示例:80、443、8080
    -r, --range               端口范围,格式为 start-end。示例:1-1000
        --scan-order     要执行的扫描顺序。"serial" 选项将按升序扫描端口
                                     而"random" 选项将随机扫描端口。
                                     [默认值:serial][选项值:Serial、Random]
    --scripts               RustScan 运行所需的脚本级别。
                                     [默认值:default] [选项值:None、Default、Custom]
    -t, --timeout       在假定端口已关闭之前的超时时间(以毫秒为单位) [默认值:1500]
         --tries            在假定端口已关闭之前的尝试次数。如果设置为 0
                                   rustscan 将将其更正为 1。[默认值:1]
    -u, --ulimit             自动将 ULIMIT 增加到您提供的值。
    
  • 释义:(nmpa联动)
    … 要运行的脚本参数。要使用参数 -A,请在 RustScan 的参数后加上“-- -A”。示例:
    ‘rustscan -T 1500 127.0.0.1 – -A -sC’。此命令会自动将 -Pn -vvv -p $PORTS 添加到 nmap。对于像 --script ‘(safe and vuln)’ 这样的内容,请用引号将其括起来。

IP扫描

单IP扫描

rustscan -a 192.168.16.34

【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第3张图片

多IP 扫描

rustscan -a 192.168.16.34,192.168.16.58

主机扫描

rustscan -a www.example.com

【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第4张图片

网段扫描

rustscan -a 192.168.16.0/24 -u 5000

文件扫描

文件名:1.txt

192.168.16.34
www.example.com
www.kali.org
rustscan -a ./1.txt

【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第5张图片

端口扫描

单端口扫描

 rustscan -a 192.168.16.34 -p 445 -g

多端口扫描

 rustscan -a 192.168.16.34 -p 445,3306,80 -g

端口范围扫描

 rustscan -a 192.168.16.34 -r 1-1000 -g

【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第6张图片

与Namp联动

使用该功能必须安装nmap扫描工具,目前,RustScan 默认运行 Nmap,参数“-g”是关闭nmap联动

rustscan -a 192.168.16.34 -- -A
实际上就等于要运行:
nmap -Pn -vvv -p $PORTS -A 192.168.16.34

【教程】Rustscan端口扫描工具,3秒扫描6w+端口_第7张图片
在这里插入图片描述


参考

Rustscan文档:英文-rustscan使用方法
Namp 命令手册:Nmap中文手册 - Nmap中文网

你可能感兴趣的:(#,工具教程,网络安全,web安全,网络,测试工具,网络协议)