Icontem

Node nmap: Scan a network for computers using nmap

Recommend this page to a friend!

  Author Author  
Name: Jason Gerfen <contact>
Classes: 7 packages by
Country: United States United States
Innovation award
Innovation award
Nominee: 4x

Winner: 2x


  Detailed description   Download Download .zip .tar.gz   Install with Composer Install with Composer  
This is a Node.js module that can scan a network for computers using nmap.

It uses the nmap program to either discover local computers in the same network address range or scan a network of remote computers within a given range.

It outputs a listing of details computers found including IP addresses as well opened ports that were found.

Details
{startverticalbanner}
# 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.

  Classes of Jason Gerfen  >  Node nmap  >  Download Download .zip .tar.gz  >  Support forum Support forum  >  Blog Blog  >  RSS 1.0 feed RSS 2.0 feed Latest changes  
Name: Node nmap
Base name: node-libnmap
Description: Scan a network for computers using nmap
Version: 0.2.52
JavaScript version: 1.0
License: MIT/X Consortium License
 
  Groups   Applications   Files Files  

  Groups  
Group folder image Node.js Components that extend the Node.js framework View top rated classes
Group folder image Security Security protection and attack detection View top rated classes


  Innovation Award  
JavaScript Programming Innovation award winner
January 2014
Winner


Prize: One book of choice by Packt
nmap is a popular security tool for scanning networks and computers.

This is a Node.js module that can invoke the nmap program to perform security scans from JavaScript code.

Manuel Lemos

  Applications that use this package  
No pages of applications that use this class were specified.

Add link image If you know an application of this package, send a message to the author to add a link here.

  Files folder image Files  
File Role Description
Files folder imageexamples (12 files)
Files folder imagelib (1 file, 1 directory)
Files folder imagetest (2 files)
Accessible without login Plain text file .gitignore Data Auxiliary data
Accessible without login Plain text file .travis.yml Data Auxiliary data
Accessible without login Plain text file CHANGELOG Data Auxiliary data
Accessible without login Plain text file CONTRIBUTING.md Data Auxiliary data
Accessible without login Plain text file index.js Aux. Application script
Accessible without login Plain text file LICENSE Lic. Auxiliary data
Accessible without login Plain text file package.json Data Auxiliary data
Accessible without login Plain text file README.md Doc. Auxiliary data
Accessible without login Plain text file _config.yml Data Auxiliary data

  Files folder image Files  /  examples  
File Role Description
  Accessible without login Plain text file accuracy.js Example Example script
  Accessible without login Plain text file blocksize.js Example Example script
  Accessible without login Plain text file default.js Example Example script
  Accessible without login Plain text file default2io.js Example Example script
  Accessible without login Plain text file discover.js Example Example script
  Accessible without login Plain text file flags.js Example Example script
  Accessible without login Plain text file ipv6.js Example Example script
  Accessible without login Plain text file ports.js Example Example script
  Accessible without login Plain text file threshold.js Example Example script
  Accessible without login Plain text file timeout.js Example Example script
  Accessible without login Plain text file udp.js Example Example script
  Accessible without login Plain text file xml.js Example Example script

  Files folder image Files  /  lib  
File Role Description
Files folder imageclasses (4 files)
  Plain text file libnmap.js Class Class source

  Files folder image Files  /  lib  /  classes  
File Role Description
  Plain text file networking.js Class Class source
  Plain text file reporting.js Class Class source
  Plain text file tools.js Class Class source
  Plain text file validation.js Class Class source

  Files folder image Files  /  test  
File Role Description
  Accessible without login Plain text file discover.js Example Example script
  Accessible without login Plain text file scan.js Example Example script

Install with Composer Install with Composer - Download Download all files: node-libnmap.tar.gz node-libnmap.zip
NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.