Narcissistic Passion Minified
    Have ideas to improve npm?Join in the discussion! »

    libnmap

    0.4.19 • Public • Published

    libnmap

    API to access nmap from node.js

    npm Build Status Dependencies Downloads Known Vulnerabilities

    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 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).

    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.

    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.

    contributing

    Contributions are welcome & appreciated. Refer to the contributing document to help facilitate pull requests.

    license

    This software is licensed under the MIT License.

    Copyright Jason Gerfen, 2013-2019.

    Install

    npm i libnmap

    DownloadsWeekly Downloads

    255

    Version

    0.4.19

    License

    MIT

    Unpacked Size

    129 kB

    Total Files

    27

    Last publish

    Collaborators

    • avatar