📜  Evilscan – 海量 IP 端口扫描器(1)

📅  最后修改于: 2023-12-03 15:14:54.890000             🧑  作者: Mango

Evilscan – 海量 IP 端口扫描器

简介

Evilscan 是一个基于 Node.js 的开源端口扫描器,可以快速扫描广域网和内部网络的所有IP地址和端口,用于检测未授权服务/敏感信息和漏洞。

Evilscan 可以通过插件的方式扫描大量的协议和服务,如:FTP、SSH、SMTP、DNS、HTTP、MySQL 等,并且支持自定义的插件和自定义的端口范围,方便扩展和适应不同的场景。

特点
  • 支持快速扫描大量 IP 地址和端口
  • 支持扫描不同协议和服务
  • 支持自定义插件和自定义端口范围
  • 易于安装和使用
安装

Evilscan 支持 Windows、Linux 和 macOS 等多个平台,可以通过 npm 安装:

npm install -g evilscan
使用

Evilscan 的使用非常简单,基本命令格式为:

evilscan [options] <target>

其中,“target” 可以是一个单个的 IP 地址,也可以是一个 IP 地址范围或者一个 IP 地址列表。具体的选项可以通过查看帮助文档或者官方网站获得。

以下是一些常用的例子:

# 扫描单个 IP 的所有端口并输出
evilscan 192.168.0.1

# 扫描一个 IP 地址范围内指定端口
evilscan 192.168.0.1-192.168.0.255 -p 21,22,23,80

# 扫描一个 IP 地址列表指定端口并保存结果
evilscan -i myips.txt -p 3306,5432 -o myscan.txt
插件

Evilscan 的插件是一种可扩展的机制,用户可以自定义添加插件来扫描协议和服务。该插件机制可以通过两种方式进行扩展:

  • 内置插件:Evilscan 自带了一些常用的插件,可以直接使用。
  • 自定义插件:用户可以自行编写插件。插件的编写需要遵循特定的规范和格式。

以下是一个简单的自定义插件的例子:

module.exports = {
    name: 'myplugin',
    description: 'My Custom Plugin',
    opts: {},
    handle: (scope, opts, callback) => {
        // 插件的处理逻辑
        // scope 为当前 IP 地址和端口
        // opts 为插件的选项
        // callback 为回调方法,将结果返回给主程序
        callback({
            ip: scope.ip,
            port: scope.port,
            status: 'open'
        })
    }
}
参考资料