1.2.1 • Published 2 years ago

nodejs-traceroute-ts v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

nodejs-traceroute

NPM

Node.js wrapper around tracert and traceroute process - TypeScript port

Install

npm install --save nodejs-traceroute-ts

Force IPv4 or IPv6

By default, the domain name given will be automatically resolved. Explicitly force IPv4 or IPv6 tracerouting by passing either ipv4 or ipv6 to the constructor.

Usage Example

import Traceroute from './index';

try {
    const tracer = new Traceroute();
    tracer
        .on('pid', (pid) => {
        console.log(`pid: ${pid}`);
        })
        .on('destination', (destination) => {
        console.log(`destination: ${destination}`);
        })
        .on('hop', (hop) => {
        console.log(`hop: ${JSON.stringify(hop)}`);
        })
        .on('close', (code) => {
        console.log(`close: code ${code}`);
        });

        tracer.trace('github.com');
} catch (ex) {
    console.log(ex);
}

Result Example

pid: 4414
destination: 192.30.253.112
hop: {"hop":1,"ip":"192.168.0.1","rtt1":"1.817 ms"}
hop: {"hop":2,"ip":"10.233.33.58","rtt1":"3.149 ms"}
hop: {"hop":3,"ip":"10.55.96.182","rtt1":"7.820 ms"}
hop: {"hop":4,"ip":"128.241.1.205","rtt1":"178.187 ms"}
hop: {"hop":5,"ip":"129.250.2.9","rtt1":"211.609 ms"}
hop: {"hop":6,"ip":"129.250.3.43","rtt1":"229.458 ms"}
hop: {"hop":7,"ip":"129.250.2.163","rtt1":"237.948 ms"}
hop: {"hop":8,"ip":"129.250.2.138","rtt1":"237.913 ms"}
hop: {"hop":9,"ip":"129.250.2.133","rtt1":"241.748 ms"}
hop: {"hop":10,"ip":"*","rtt1":"*"}
hop: {"hop":11,"ip":"*","rtt1":"*"}
hop: {"hop":12,"ip":"*","rtt1":"*"}
hop: {"hop":13,"ip":"*","rtt1":"*"}
hop: {"hop":14,"ip":"*","rtt1":"*"}
hop: {"hop":15,"ip":"*","rtt1":"*"}
hop: {"hop":16,"ip":"*","rtt1":"*"}
hop: {"hop":17,"ip":"*","rtt1":"*"}
hop: {"hop":18,"ip":"*","rtt1":"*"}
hop: {"hop":19,"ip":"*","rtt1":"*"}
hop: {"hop":20,"ip":"*","rtt1":"*"}
hop: {"hop":21,"ip":"*","rtt1":"*"}
hop: {"hop":22,"ip":"*","rtt1":"*"}
hop: {"hop":23,"ip":"*","rtt1":"*"}
hop: {"hop":24,"ip":"*","rtt1":"*"}
hop: {"hop":25,"ip":"*","rtt1":"*"}
hop: {"hop":26,"ip":"*","rtt1":"*"}
hop: {"hop":27,"ip":"*","rtt1":"*"}
hop: {"hop":28,"ip":"*","rtt1":"*"}
hop: {"hop":29,"ip":"*","rtt1":"*"}
hop: {"hop":30,"ip":"*","rtt1":"*"}
close: code 0