暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

3秒内搞定服务器端口扫描!用RustScan快速查看开放端口

编程与架构 2024-08-27
783

3秒内搞定服务器端口扫描!用RustScan快速查看开放端口

1. RustScan简介

RustScan 是一款开源的现代端口扫描器,因其极快的扫描速度和灵活的功能而著称。它能够在短短 3 秒内扫描所有 65,000 个端口,并自动将扫描结果传输到 Nmap 以进行更深入的分析。RustScan 支持多种网络配置(如 IPv6、CIDR 和文件输入),并提供了简单易用的命令行接口,适合快速发现开放端口的场景。

2. RustScan特点

  • • 极快的扫描速度:RustScan能够在短短3秒内扫描所有65,000个端口,是目前最快的端口扫描工具之一。这使得它特别适合于需要快速发现开放端口的场景。

  • • 自动集成Nmap:RustScan能够将扫描结果自动传输到Nmap中,以进行更深入的分析。这样,用户可以快速定位开放端口,并进一步利用Nmap执行详细的漏洞扫描和渗透测试。

  • • 自适应性能优化:RustScan具有自适应学习的特性,其性能会随着使用频率的增加而不断优化。尽管没有使用复杂的机器学习算法,但通过基本的数学模型来提高效率,使得扫描速度和准确性能够不断改进。

  • • 广泛的适应性:RustScan支持IPv6、CIDR和文件输入等常见网络配置,使其能够适应多种不同的使用场景。无论是单一IP地址、网段还是更复杂的网络拓扑,RustScan都能高效地进行扫描。

  • • 简单易用的命令行接口:RustScan提供了友好的命令行界面,支持各种常用参数和标志。例如,用户可以指定IP地址、端口范围、扫描顺序等,还可以创建alias别名以简化操作流程。这使得RustScan易于集成到不同的工作流中。

3. RustScan的基本使用

3.1 创建alias别名

为了提高使用效率,可以为 RustScan 创建一个 alias 别名,使其通过 Docker 容器运行时更加便捷。这不仅节省了时间,还能确保在不同环境中使用相同的命令。

alias rustscan="docker run -it --rm --name rustscan rustscan/rustscan:latest" 

rustscan
 是一个用 Rust 编写的快速端口扫描工具。以下是一些基本的使用方法和参数说明:

3.2 基本用法

rustscan [FLAGS] [OPTIONS] [-- <command>...]

3.3 常用参数说明

  • • FLAGS (标志):

    • • --accessible
      :启用无障碍模式,关闭可能影响屏幕阅读器的功能。

    • • -g, --greppable
      :仅输出端口号,不执行 Nmap,适合将结果输出到文件或与 grep
       命令结合使用。

    • • -h, --help
      :显示帮助信息。

    • • -n, --no-config
      :忽略配置文件。

    • • --top
      :扫描最常用的 1000 个端口。

    • • -V, --version
      :显示版本信息。

-OPTIONS (选项):

  • • -a, --addresses <addresses>
    :指定要扫描的 IP、主机或 CIDR 列表,支持逗号分隔或换行分隔的文件。

  • • -b, --batch-size <batch-size>
    :指定批次大小,以调整扫描速度,默认值为 4500。

  • • -c, --config-path <config-path>
    :指定自定义配置文件的路径。

  • • -p, --ports <ports>
    :指定要扫描的端口列表,例如 80,443,8080

  • • -r, --range <range>
    :指定要扫描的端口范围,例如 1-1000

  • • --scan-order <scan-order>
    :指定扫描顺序,可以选择 serial
    (顺序)或 random
    (随机)。

  • • --scripts <scripts>
    :指定脚本级别,默认为 default
    ,可选值包括 None
    Default
    Custom

  • • -t, --timeout <timeout>
    :设置端口超时时间(毫秒),默认值为 1500 毫秒。

  • • --tries <tries>
    :设置在判断端口关闭前的尝试次数,默认值为 1。

  • • -u, --ulimit <ulimit>
    :自动提升系统的 ULIMIT
     值。

  • • ARGS (参数):

    • • <command>
      :脚本的参数。若需使用 -A
       等参数,需在 rustscan
       参数之后用 --
       结束。例如:rustscan -T 1500 -a 127.0.0.1 -- -A -sC

3.4 示例

  • • 扫描指定 IP 地址的前 1000 个端口

   rustscan -a 192.168.1.1 --top
  • • 扫描指定的端口范围

   rustscan -a 192.168.1.1 -r 1-1000
  • • 扫描指定服务器

   rustscan -a 192.168.1.1 

结果示例:

可以看到能够扫描出哪些端口是开放的,并且能够初步判断是哪些服务

Open 192.168.1.1:80
Open 192.168.1.1:22
...
Open 192.168.1.1:50079
Nmap scan report for 192.168.1.1
Host is up, received syn-ack (0.018s latency).
Scanned at 2024-08-25 01:13:13 UTC for 7s

PORT      STATE SERVICE         REASON
22/tcp    open  ssh             syn-ack
53/tcp    open  domain          syn-ack
80/tcp    open  http            syn-ack
111/tcp   open  rpcbind         syn-ack
443/tcp   open  https           syn-ack
1569/tcp  open  ets             syn-ack
2049/tcp  open  nfs             syn-ack
2181/tcp  open  eforward        syn-ack
3306/tcp  open  mysql           syn-ack
3888/tcp  open  ciphire-serv    syn-ack

  • • 扫描网段rustscan -a 192.168.1.1/24

4. 注意事项

使用 rustscan
 进行扫描时,请务必遵循道德和法律规定,避免对未经授权的目标进行扫描,以免对目标服务器造成不必要的影响。


欢迎关注我的公众号“编程与架构”,原创技术文章第一时间推送。



文章转载自编程与架构,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论