libnmap
Access nmap using node.js
install
To install npm install libnmap
methods
scan
Performs scan given available range & optional portdiscover
Retrieves list of online network neighbors
options
nmap
{String} Path to NMAP binaryverbose
{Boolean} Turn on verbosity during scan(s)ports
{String} Range of ports to scanrange
{Array} An array of hostnames/ipv4/ipv6, CIDR or rangestimeout
{Number} Number of minutes to wait for host/port responseblocksize
{Number} Number of hosts per network scanning blockthreshold
{Number} Max number of spawned processflags
{Array} Array of flags for .spawn()udp
{Boolean} UDP scan mode enabledjson
{Boolean} JSON object as output, false produces XML
tests
To test npm test
example
A default usage example. For more advanced and possible options please
see here
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).
var nmap = require('libnmap')
, 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 (var 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.
var nmap = require('libnmap');
nmap.discover(opts, function(err, report) {
if (err) throw new Error(err);
for (var item in report) {
console.log(JSON.stringify(report[item]));
}
});
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-2015.