Skip to content

missinglink/netstat.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netstat.js

A simple js wrapper for the netstat daemon.

Allows you to output network statistics in real-time through stdout or via a socketio server.

Output is available in json or as raw stdout lines.


Installing

$ npm install netstat --save

Note: you will need node and npm installed first.

The easiest way to install node.js is with nave.sh by executing [sudo] ./nave.sh usemain 0.10

You will need netstat installed, this is not a replacement for netstat; just a wrapper. On most unix-like systems it should be provided by default in the net-tools package.


Getting data from netstat

var netstat = require('netstat');

netstat.on( 'stdout', function( data ){
  process.stdout.write(
    JSON.stringify( netstat.parse( data ), null, 2 ) + '\n'
  );
});

netstat.on( 'stderr', function( err ) {
  process.stderr.write( err );
});

Example output:

[
  {
    "Proto": "tcp",
    "Recv-Q": "0",
    "Send-Q": "0",
    "Local-Address": "192.168.0.15:13887",
    "Foreign-Address": "95.91.245.60:29101",
    "State": "ESTABLISHED",
    "User": "1000",
    "Inode": "151487",
    "PID/Program-name": "9738/spotify"
  },
  {
    "Proto": "tcp",
    "Recv-Q": "0",
    "Send-Q": "0",
    "Local-Address": "192.168.0.15:13887",
    "Foreign-Address": "148.177.128.81:21404",
    "State": "ESTABLISHED",
    "User": "1000",
    "Inode": "152049",
    "PID/Program-name": "9738/spotify"
  }
]

Binary version

You can install netstatjs globally by executing [sudo] npm install -g netstat

If you installed locally then you can execute it like this ./node_modules/netstat/bin/netstatjs --help

The binary version has a few nice features like daemonizing & sending json stats to stdout or via socketio.

peter@edgy:/var/www$ netstatjs --help

  Usage: netstatjs [options]

  Options:

    -h, --help             output usage information
    -V, --version          output the version number
    -s, --socketio [port]  bind socketio to port and stream stats in json
    -j, --json [indent]    pipe json stats to stdout/stderr
    -r, --raw              pipe raw stats to stdout/stderr

Examples

More examples can be found in /bin/command/*.

Status

This module is usable but not yet feature rich, netstat provides heaps more cool features that are not yet supported. Please star, fork and pull request if you find this useful.

License

Released under the MIT(Poetic) Software license

This work 'as-is' we provide.
No warranty express or implied.
Therefore, no claim on us will abide.
Liability for damages denied.

Permission is granted hereby,
to copy, share, and modify.
Use as is fit,
free or for profit.
These rights, on this notice, rely.

Bitdeli Badge

About

nodejs binding for netstat, just in case you felt the need to see what your network is up to.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors