Node wrapper for the ICMP protocol.
npm install icmp
On Windows, Windows Build Tools are required: npm install -g windows-build-tools
const ICMP = require('icmp')
or
import * as ICMP from 'icmp';
The requested HOST (can be an IP)
The requested IP, when host parameter is given to the constructor, the DNS will be resolved to get this IP adress
This property will be true
or false
, depending on the ping response
ICMP response type, will be one from this array:
['REPLY', 'NA', 'NA', 'DESTINATION_UNREACHABLE', 'SOURCE_QUENCH', 'REDIRECT']
ICMP response code, will be one from this array:
['NET', 'HOST', 'PROTOCOL', 'PORT', 'FRAGMENTATION', 'ROUTE_FAILED', 'NET_UNKNOWN', 'HOST_UNKNOWN', 'HOST_ISOLATED', 'NET_PROHIBITED', 'HOST_PROHIBITED', 'NET_UNREACHABLE', 'HOST_UNREACHABLE', 'COMM_PROHIBITED', 'HOST_PRECEDENCE', 'PRECEDENCE_CUTOFF', 'NETWORK', 'HOST', 'SERVICE_NETWORK', 'HOST_NETWORK']
Note: default timeout
of each methods is 5000ms
.
Send a ping to a specific host. Returns a Promise resolving an ICMP instance and rejecting an Error.
Send a ping to the defined ICMP instance's host. Returns a Promise, resolving nothing and rejecting an Error.
Send data to a specific host through ICMP. Returns a Promise resolving an ICMP instance and rejecting an Error.
icmp.send('10.43.65.9', "Hey, I'm sending a message!")
.then(obj => {
console.log(obj.open ? 'Done' : 'Failed')
})
.catch(err => console.log(err));
Send data to the defined ICMP instance's host. Returns a Promise resolving nothing and rejecting an Error.
Listen to incomming ICMP requests.
Listen to incomming ICMP requests.
Close the raw socket stream. Can be used to stop a request.
👤 Nathanael Demacon
- Twitter: @qtmsheep
- Github: @quantumsheep
Give a ⭐️ if this project helped you!