Skip to content
An asynchronous port scanner for Node.js.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
example
lib fix: options behaviour in `findAPortNotInUse` and `findAPortInUse` Nov 30, 2017
.eslintrc
.gitignore
.npmignore update .npmignore Nov 19, 2016
CHANGELOG.md
LICENSE Adds README and MIT license. Aug 11, 2011
README.md
package.json
test.js

README.md

portscanner

npm JavaScript Style Guide

The portscanner module is an asynchronous JavaScript port scanner for Node.js.

Portscanner can check a port, or range of ports, for 'open' or 'closed' statuses.

Looking for maintainer!

Install

npm install portscanner

Usage

A brief example:

var portscanner = require('portscanner')

// Checks the status of a single port
portscanner.checkPortStatus(3000, '127.0.0.1', function(error, status) {
  // Status is 'open' if currently in use or 'closed' if available
  console.log(status)
})

// Find the first available port. Asynchronously checks, so first port
// determined as available is returned.
portscanner.findAPortNotInUse(3000, 3010, '127.0.0.1', function(error, port) {
  console.log('AVAILABLE PORT AT: ' + port)
})

// Find the first port in use or blocked. Asynchronously checks, so first port
// to respond is returned.
portscanner.findAPortInUse(3000, 3010, '127.0.0.1', function(error, port) {
  console.log('PORT IN USE AT: ' + port)
})

// You can also pass array of ports to check
portscanner.findAPortInUse([3000, 3005, 3006], '127.0.0.1', function(error, port) {
  console.log('PORT IN USE AT: ' + port)
})

// And skip host param. Default is '127.0.0.1'
portscanner.findAPortNotInUse(3000, 4000, function(error, port) {
  console.log('PORT IN USE AT: ' + port)
})

// And use promises
portscanner.findAPortNotInUse(3000, 4000).then(function(port) {
  console.log('PORT IN USE AT: ' + port)
})

The example directory contains a more detailed example.

Test

npm test

Future

Please create issues or pull requests for port scanning related features you'd like to see included.

License (MIT)

MIT

You can’t perform that action at this time.