信息搜集工具篇、rustscan


💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢

🙄 简介

| 💡 快速,聪明,有效。现代端口扫描器,快速查找端口(最快3秒)。通过官方脚本引擎运行脚本(支持Python,Lua,Shell)。在3秒内扫描所有65k端口。

快速安装

  • docker pull rustscan/rustscan:version
  • yay -S rustscan
  • brew install rustscan
  • apt install rustscan
jsx 复制代码
🎶 你可能需要 Nmap 作为依赖执行一些其他功能


🤖 基本使用

  • rustscan --help 显示帮助选项参数

⚠️ WARNING ⚠️

  • 默认情况下,RustScan每秒扫描3000个端口。这可能会对服务器造成损坏,或者使您正在扫描服务器变得非常明显,从而触发不受欢迎的响应,例如阻止您的IP地址。
  • rustscan -b 10 将一次扫描10个端口,每个端口的默认超时为1000(1秒)。
  • 增加超时: rustscan -t 5000 表示RustScan将等待端口上的响应长达5秒。

参数列表 🐦

  • --accessible 关闭高亮等阅读显示
  • -g, --greppable 只输出端口,不进行 nmap 扫描 ,极简显示
  • -h or --help 显示帮助选项参数信息
  • --top 扫描前1000个流行端口
  • -V 显示 rustscan 版本
  • -a 指定扫描目标。以逗号分隔的 cidr、ip或 cidr 的列表或以换行分隔的文件
  • -b, --batch-size 取决于操作系统的打开文件限制。 如果你使用65535,它将同时扫描每个端口。端口扫描的批处理大小,它会增加或减慢扫描的速度。一次扫描多少个端口。
  • -c,--config-path <config-path> 配置文件的自定义路径
  • -p,--ports <ports> ... 指定扫描端口,要扫描的以逗号分隔的端口列表。例子:80、443、8080
  • -r,--range <range> start-end格式的端口范围。例如:1 - 1000
  • --scan-order <scan-order> 取值范围: Serial, Random "serial" 选项将按升序扫描端口,而 "random" 选项将随机扫描端口。
  • --scripts <scripts> 运行所需的脚本级别[default: default] [可能的值:None,Default,Custom]
  • -t,--timeout <timeout>假定端口关闭前的超时时间(毫秒)[默认值:1500]
  • --tries <tries> 在端口被假定为关闭之前的尝试次数。如果设置为0, rustscan会将其修正为1[默认值:1]
  • -u,--ulimit <ulimit> 使用你提供的值,自动提高ulimit
  • -- 传递脚本参数,如-- -sC -sV 会把参数传递给 nmap 。如果要传递脚本测试,使用引号括括起来。

🧌 优化

  • 使用 ulimit -n 70000 手动执行此操作,然后使用 -b 65535 运行rustscan。这将同时扫描所有65535端口。但这是非常实验性的。更容易被发现,被拦截,被识别出扫描特征。反之,可以降低同时扫描端口情况。
  • 为了提高准确性,最简单的方法是增加超时。默认值为1.5秒,通过将其设置为4秒(4000),我们告诉RustScan"如果我们在4秒内没有收到来自端口的回复,则假定它已关闭"。 -t 4000

| 💡 **RustScan通过内置的Rust sockets模块使用完整的TCP 3次握手连接。误报的概率极低。**

👅 配置文件

| 💡 rustscan 命令 接受从用户的主目录读取的配置文件,目标是使某些参数默认用于每次扫描。

⚠️ 任何直接传递给二进制文件的参数都将覆盖此配置文件中提供的默认值。 ⚠️

  • ~/.rustscan.toml 路径

配置文件选项 ✍️

它遵循TOML格式并接受以下字段:

  • addresses
  • ports
  • range
  • scan_order
  • command
  • accessible
  • quiet
  • batch-size
  • timeout
  • ulimit
jsx 复制代码
格式示范:

addresses = ["127.0.0.1", "192.168.0.0/30", "www.google.com"]
command = ["-A"]
ports = [80, 443, 8080]
range = { start = 1, end = 10 }
greppable = false
accessible = true
scan_order = "Serial"
batch_size = 1000
timeout = 1000
tries = 3
ulimit = 1000

💢 使用组合

jsx 复制代码
rustscan -a ip/ipfile  -p port1,port2 -r 1-1000 port  --scan-order Random -t 4000 --tries 2
指定扫描目标,端口,随机扫描端口,超时时间4000ms,4s。重试次数2次

Over 。 o O 🫡

Over 。 o O 🫡

Over 。 o O 🫡

相关推荐
犬大犬小12 小时前
什么是 webSocket?攻击面、安全风险与测试要点
安全·web安全·安全性测试
介一安全1 天前
【Web安全】泛微OA框架SRC高频漏洞分析总结
web安全·网络安全·安全性测试
介一安全7 天前
【Web安全】OAuth2.0框架高频安全漏洞分析总结
web安全·网络安全·安全性测试
汽车仪器仪表相关领域8 天前
工业商业安全 “哨兵”:GT-NHVR-20-A1 点型可燃气体探测器实操解析与场景适配
大数据·人工智能·功能测试·安全·安全性测试
介一安全9 天前
【Frida Android】基础篇12:Native层hook基础——调用原生函数
android·网络安全·逆向·安全性测试·frida·1024程序员节
介一安全12 天前
【Frida Android】基础篇9:Java层Hook基础——Hook构造函数
android·网络安全·逆向·安全性测试·frida
介一安全12 天前
【Frida Android】基础篇10:Native层Hook基础--普通 Hook
android·网络安全·逆向·安全性测试·frida
小彭律师13 天前
博客安全攻防演练技术指南
xss·安全性测试·攻防
汽车仪器仪表相关领域15 天前
汽车排放检测的实操痛点突破:南华 NHA-604/605 测试仪核心技术难点解决方案
车载系统·汽车·可用性测试·安全性测试·汽车检测
介一安全19 天前
【Frida Android】基础篇8:Java层Hook基础——调用带对象参数的方法
android·网络安全·逆向·安全性测试·frida