masscan
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

masscan-node

Node.js wrapper for masscan.

Installation

only supported on linux. requires masscan to already be installed.
please make an issue if you need support for other platforms.

yarn add masscan
# or
npm install masscan

Usage

const {Masscan} = require('masscan');

// scan the whole internet for open ports 80 and 443 at 10k packets per second
// see original masscan docs for more info on the available options
const masscan = new Masscan({
  ports: '80,443',
  range: '0.0.0.0/0',
  exclude: '255.255.255.255',
  rate: 10000,
}, '/usr/bin/masscan');

masscan.on('stats', (status) => {
  console.log('stats', status);
});

masscan.on('status', (status) => {
  console.log('status', status);
});

masscan.on('error', (error) => {
  console.log('error', error);
});

masscan.scan().then(() => {
  console.log('done');
}).catch((error) => {
  console.log('scan error', error);
});

Example output

Check out masscan.d.ts for all the possible outputs.

Example status

{
  ip: '1.1.1.1',
  timestamp: '1693342291',
  port: 80,
  proto: 'tcp',
  rec_type: 'status',
  data: { status: 'open', reason: 'syn-ack', ttl: 236 }
}

Example stat

{
  state: 'running',
  rate: { kpps: 9.96, pps: 9960.26 },
  progress: {
    percent: 0,
    eta: { hours: 935, mins: 48, seconds: 20 },
    syn: { sent: 7652, total: 4294967295, remaining: 4294959643 },
    found: 82
  }
}

Package Sidebar

Install

npm i masscan

Weekly Downloads

2

Version

0.1.2

License

MIT

Unpacked Size

21.4 kB

Total Files

9

Last publish

Collaborators

  • dumbaspl