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

avatar
作者
筋斗云
阅读量:0

文章目录


最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能、开发运维相关技术分享,文章对您有用的话,辛苦您也关注下公众号,感谢!



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,可选值包括 NoneDefaultCustom
    • -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 示例

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

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

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

    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 
  4. 扫描网段

    rustscan -a 192.168.1.1/24 

4. 注意事项

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

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!