📜  Massc – 用 JavaScript 设计的子域扫描工具(1)

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

Massc – 用 JavaScript 设计的子域扫描工具

Massc是一个使用JavaScript编写、可用于扫描子域的工具。它可以在浏览器中使用,也可以在Node.js中使用。

特性
  • 可以通过将字典列表传递给Massc,扫描目标子域。
  • 可以使用通配符(例如 *.example.com)作为目标域名。
  • 可以配置线程数以控制并行扫描的数量。
  • 可以自定义扫描超时时间,以便在超时后跳过丢失的连接。
  • 可以通过定义自己的日志函数自定义日志输出。
安装

可以通过npm来安装Massc:

npm install -g massc

或者在页面中添加Massc的Script标签:

<script src="path/to/massc.js"></script>
使用说明
使用Node.js

在Node.js中使用Massc需要使用以下代码:

const Massc = require('massc');

const options = {
  threads: 10,  // 配置线程数
  timeout: 5000, // 配置扫描超时时间
  log: console.log // 配置日志函数
};

// 定义待扫描的目标
const targets = [
  'test.example.com',
  '*.example.com',
  'sub.test.example.com'
];

// 定义字典列表
const dictionaries = [
  'common.txt',
  'subdomains.txt'
];

const massc = new Massc(targets, dictionaries, options);

// 执行扫描
massc.scan()
  .then(results => console.log(results))
  .catch(error => console.error(error));
在浏览器中使用

在浏览器中使用Massc需要通过以下代码:

const options = {
  threads: 10,  // 配置线程数
  timeout: 5000, // 配置扫描超时时间
  log: console.log // 配置日志函数
};

// 定义待扫描的目标
const targets = [
  'test.example.com',
  '*.example.com',
  'sub.test.example.com'
];

// 定义字典列表
const dictionaries = [
  'common.txt',
  'subdomains.txt'
];

const massc = new Massc(targets, dictionaries, options);

// 执行扫描
massc.scan()
  .then(results => console.log(results))
  .catch(error => console.error(error));
配置选项
  • threads: 配置线程数。默认值为10。
  • timeout: 配置扫描超时时间。默认值为10000。
  • log: 配置日志函数,用于输出扫描信息。
效果演示

以下代码展示了如何使用Massc扫描子域:

const Massc = require('massc');

const options = {
  threads: 5,
  timeout: 10000,
  log: console.log
};

const targets = [
  '*.example.com'
];

const dictionaries = [
  'common.txt',
  'subdomains.txt'
];

const massc = new Massc(targets, dictionaries, options);

massc.scan()
  .then(results => console.log(results))
  .catch(error => console.error(error));

结果将会输出为:

[
  {
    "url": "http://127.0.0.1:3000",
    "status": "SUCCESS",
    "response": {
      "status": 200,
      "headers": {
        "access-control-allow-origin": "*",
        "content-type": "text/html; charset=utf-8",
        "content-length": "12"
      },
      "body": "Hello World"
    }
  },
  ...
]
结论

Massc是一个使用JavaScript编写的子域扫描工具。它可以在浏览器中使用,也可以在Node.js中使用。它可以通过将字典列表传递给Massc,扫描目标子域。它还可以使用通配符(例如 *.example.com)作为目标域名,并可配置线程数以控制并行扫描的数量和自定义扫描超时时间和日志输出。总的来说,Massc是一个非常有用的工具,可以帮助开发人员快速扫描目标的子域。