3 个不稳定版本
0.2.1 | 2022年7月22日 |
---|---|
0.2.0 | 2022年7月22日 |
0.1.0 | 2022年7月22日 |
#9 in #端口扫描
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