File: README.md

Recommend this page to a friend!
  Classes of Jason Gerfen   Node nmap   README.md   Download  
File: README.md
Role: Documentation
Content type: text/plain
Description: Auxiliary data
Class: Node nmap
Scan a network for computers using nmap
Author: By
Last change: Update of README.md
Date: 2 years ago
Size: 3,032 bytes
 

Contents

Class file image Download
# libnmap API to access nmap from node.js [![npm](https://img.shields.io/npm/v/libnmap.svg)](https://npmjs.com/package/libnmap) [![Build Status](https://travis-ci.org/jas-/node-libnmap.png?branch=master)](https://travis-ci.org/jas-/node-libnmap) [![Dependencies](https://img.shields.io/david/jas-/node-libnmap.svg)](https://david-dm.org/jas-/node-libnmap) ![Downloads](https://img.shields.io/npm/dm/libnmap.svg) [![Known Vulnerabilities](https://snyk.io/test/github/jas-/node-libnmap/badge.svg?targetFile=package.json)](https://snyk.io/test/github/jas-/node-libnmap?targetFile=package.json) ## install ## To install `npm install libnmap` ## methods ## * `scan` Performs scan given available range & optional port * `discover` Retrieves list of online network neighbors ## options ## * `nmap` {String} Path to NMAP binary * `verbose` {Boolean} Turn on verbosity during scan(s) * `ports` {String} Range of ports to scan * `range` {Array} An array of hostnames/ipv4/ipv6, CIDR or ranges * `timeout` {Number} Number of seconds to wait for host/port response * `blocksize` {Number} Number of hosts per network scanning block * `threshold` {Number} Max number of spawned process * `flags` {Array} Array of flags for .spawn() * `udp` {Boolean} UDP scan mode enabled * `json` {Boolean} JSON object as output, false produces XML ## tests ## To test `npm test` ## examples ## A default usage example. For more advanced and possible options please see [here](https://github.com/jas-/node-libnmap/tree/master/examples) or simply look in the included `examples/` folder. ### scan ### The example show shows the types of host ranges supported. In this example the default IANA range of reserved ports is scanned per host in each range (1024). ```javascript const nmap = require('libnmap'); const opts = { range: [ 'scanme.nmap.org', '10.0.2.0/25', '192.168.10.80-120', 'fe80::42:acff:fe11:fd4e/64' ] }; nmap.scan(opts, function(err, report) { if (err) throw new Error(err); for (let item in report) { console.log(JSON.stringify(report[item])); } }); ``` ### discover ### The discover method requires nodejs < `v0.11.2` and can be used to aquire information about neighbors per network interface. ```javascript const nmap = require('libnmap'); nmap.discover(function(err, report) { if (err) throw new Error(err); for (let item in report) { console.log(JSON.stringify(report[item])); } }); ``` ### sample reports ### To see some output examples please take a look at the [json (default) & xml reports](https://gist.github.com/jas-/23e2a32110562388bef5). ## contributing ## Contributions are welcome & appreciated. Refer to the [contributing document](https://github.com/jas-/node-libnmap/blob/master/CONTRIBUTING.md) to help facilitate pull requests. ## license ## This software is licensed under the [MIT License](https://github.com/jas-/node-libnmap/blob/master/LICENSE). Copyright Jason Gerfen, 2013-2019.