Skip to content

R0Y00/EzRustScan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EzRustScan

EzRustScan 是一个用 Rust 编写的高性能端口扫描器,支持扫描单个 IP 或网络范围。它利用 Tokio 异步运行时实现了并发扫描,能够快速定位开放端口。


功能特点

  1. 并发扫描:使用 Tokio 异步框架,同时支持 100 个并发连接。
  2. 支持 IP 和网络范围扫描:可以扫描单个 IP 或网络段(如 192.168.1.0/24)。
  3. 可定制端口范围:用户可自由设置起始端口和结束端口。
  4. 连接超时控制:支持自定义扫描超时时间。
  5. 彩色输出:方便快速区分扫描结果。

使用方法

安装依赖

运行本工具之前,您需要确保以下条件:

  1. Rust 环境:安装最新的 Rust(推荐使用 Rust 官方工具链安装器)。
  2. 依赖库:使用 cargo 安装以下依赖。
cargo add tokio ipnetwork clap colored

编译项目

克隆或下载代码后,使用以下命令进行构建:

cargo build --release

运行示例

运行编译后的程序,支持以下命令行参数:

./ezrustscan --start_port 1 --end_port 1000 --ip 192.168.1.1 --timeout 2

支持的参数说明:

参数 说明 是否必须 示例
--ip 指定扫描的目标 IP 地址 可选 --ip 192.168.1.1
--network 指定扫描的目标网络范围(CIDR 格式) 可选 --network 192.168.1.0/24
--start_port 指定扫描的起始端口 必须 --start_port 1
--end_port 指定扫描的结束端口 必须 --end_port 65535
--timeout 连接超时时间(单位:秒),默认 1 秒 可选 --timeout 2
--show-closed 是否显示未开放的端口 可选 --show-closed

使用场景

单 IP 扫描

./ezrustscan --start_port 1 --end_port 100 --ip 192.168.0.1 --timeout 1

网络范围扫描

./ezrustscan --start_port 1 --end_port 100 --network 192.168.0.0/24 --timeout 2 --show-closed

输出示例

  • 开放端口:绿色显示
  • 关闭端口(如果开启 --show-closed):红色显示
  • 总扫描时间:黄色显示

示例输出:

开始扫描 IP: 192.168.0.1
端口 22 开放
端口 80 开放
扫描完成,总耗时: 2.345s

开源协议

本项目基于 MIT 开源协议发布,欢迎自由使用和修改。

About

一个简单快速的Rust端口扫描器

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages