#端口扫描 #端口 #扫描 #网络 #DNS 查询

应用程序 rscan

简单的快速可靠的端口扫描工具

3 个不稳定版本

0.2.1 2022年7月22日
0.2.0 2022年7月22日
0.1.0 2022年7月22日

#9 in #端口扫描

MIT 协议

23KB
447 代码行

rscan

rscan 是一个用于快速扫描本地或远程主机开放端口的简单工具。

动机

该项目主要是为了在端口扫描过程中节省人们(包括我自己)的时间。有一个名为 nmap 的优秀工具,被认为是网络发现和扫描的黄金标准,而 rscan 没有所有 nmap 的功能,但当涉及到简单的端口扫描时 - rscan 可以做得更快。

rscan 的工作原理

目前,rscan 只能执行 SYN 扫描(或半开扫描)。它通常被称为“隐身扫描”,因为 TCP 握手永远不会完成。默认情况下,它会在扫描开始之前通过ping目标来检查主机是否启动(这可以更改,更多信息请查看 --help)。rscan 更快,因为它默认以多线程模式运行(默认情况下,线程数为4,但您可以更改此设置。更多信息请参阅 --help 页面)。

安装

目前,安装 rscan 的唯一方式是通过 cargo

$ cargo install rscan
$ sudo setcap cap_net_raw+ep ~/.cargo/bin/rscan

用法

使用 en0 接口扫描 google.com

$ sudo rscan -i en0 google.com
DNS lookup results: google.com is at 216.58.209.14
Host is up, starting scan...
Scanning 216.58.209.14 using SYN scan:
 *Interface: en0
 *Threads: 4
 *Port: 58058
---
Stats: 65533 filtered/closed port(s) (RST or no response), 2 open port(s)
PORT    STATUS
80      Open
443     Open

扫描完成耗时10秒(请注意,这强烈取决于您网络的负载和当前的 CPU 使用率)。

已知问题和限制

  • rscan 应始终以 sudo 运行。这是因为 rscan 在后台使用原始套接字。
  • 您应始终明确指定网络接口
  • 不支持 IPv6
  • 目前只提供一种扫描类型
  • 由于该项目严重依赖于 libpnet 包,因此 Windows 上构建 rscan 与基于 Unix 的系统相比并不简单。更多信息请参阅 libpnet 的用法部分

依赖关系

~4.5–6MB
~112K SLoC