Comprehensive network monitoring and discovery tools for Node-RED with Bonjour/mDNS support
npm install node-red-contrib-network-toolsA comprehensive collection of network monitoring and discovery tools for Node-RED. This package provides four powerful nodes for network analysis, monitoring, and discovery in your Node-RED flows.
Install directly from the Node-RED palette manager or via npm:
``bash`
npm install node-red-contrib-network-tools
After installation, restart Node-RED and you'll find all nodes under the "networktools" category in the palette.
1. Install the package using the palette manager or npm
2. Drag nodes from the "networktools" category into your flow
3. Configure targets (IP addresses, hostnames, or network ranges)
4. Deploy and start monitoring your network!
Features:
- Simple ping operations
- IPv4 and IPv6 support
- Hostname resolution
- Configurable timeout
- Success/failure status reporting
Usage:
``
Input: { payload: "8.8.8.8" }
Output: { payload: true, latency: 23, target: "8.8.8.8" }
Features:
- Multiple ping attempts with statistics
- Continuous monitoring mode
- Jitter calculation
- Packet loss tracking
- Custom packet sizes
- Historical data storage
Usage:
``
Input: { payload: "google.com", count: 5 }
Output: {
payload: {
alive: true,
stats: { avg: 25, min: 20, max: 30, loss: 0, jitter: 2.5 }
}
}
Features:
- CIDR subnet scanning (e.g., 192.168.1.0/24)192.168.1.1-50
- IP range scanning (e.g., or 10.13.37.1-20)
- Port scanning capabilities
- Hostname resolution (traditional DNS)
- Bonjour/mDNS service discovery (.local hostnames, service advertisements)
- Zero-configuration networking support (printers, AirPlay, SSH, web servers, etc.)
- Service type detection (HTTP, SSH, FTP, SMB, printer services)
- Concurrent scanning with progress reporting
- Configurable timeouts and concurrency
Usage:
``
Input: { payload: "192.168.1.0/24", includeBonjourServices: true }
Output: {
payload: {
devices: [
{
ip: "192.168.1.1",
alive: true,
hostname: "router.local",
bonjourServices: [
{
name: "Router Web Interface",
type: "http",
port: 80,
host: "router.local"
}
],
serviceTypes: ["http"]
},
{
ip: "192.168.1.100",
alive: true,
hostname: "Johns-MacBook.local",
ports: [22, 80],
bonjourServices: [
{
name: "SSH on John's Mac",
type: "ssh",
port: 22
}
]
}
],
bonjourServices: [
{
name: "Office Printer",
type: "printer",
host: "HP-LaserJet.local",
port: 631
}
]
}
}
Features:
- Continuous network performance monitoring
- Multiple target monitoring
- Configurable thresholds for latency and availability
- Alert generation for threshold violations
- Performance trend analysis
- Historical data and reporting
- Start/stop monitoring commands
Usage:
``
Input: { command: "start" }
Output: {
payload: {
measurements: [
{ target: "8.8.8.8", alive: true, latency: 15 },
{ target: "1.1.1.1", alive: true, latency: 12 }
],
aggregateStats: { averageLatency: 13.5, aliveTargets: 2 }
}
}
All nodes are organized under "networktools" in the Node-RED palette for easy access.
192.168.1.1 (router)
192.168.1.0/24 (discover all devices)
8.8.8.8 (internet connectivity)
`$3
Monitor servers, switches, and critical infrastructure:
`
server.company.com
192.168.10.1 (main switch)
10.0.0.0/16 (corporate network scan)
`$3
Monitor external services and APIs:
`
api.service.com
cdn.provider.com
database.cloud.com
`Flow Examples
$3
`
[Inject] → [Ping IP: 8.8.8.8] → [Debug]
`
Simple flow to check if internet is reachable$3
`
[Inject: 192.168.1.0/24] → [Network Discovery] → [Function: Filter Alive] → [Debug]
`
Discover all devices on your local network$3
`
[Inject: start] → [Performance Monitor] → [Switch: Alert/Normal] → [Dashboard/Email]
`
Monitor multiple servers with alerting$3
`
[Inject] → [Enhanced Ping] → [Function: Parse Stats] → [Chart Widget]
`
Create network performance charts with statistics🎛️ Bonjour/mDNS Configuration
The Network Discovery node now supports Bonjour/mDNS (also known as zero-configuration networking) for discovering services that advertise themselves on the local network.
$3
Bonjour/mDNS enables automatic discovery of devices and services without requiring manual configuration. Common examples include:
- Printers advertising print services
- Apple devices (AirPlay, SSH, file sharing)
- Web servers on development machines
- IoT devices with web interfaces
- Network-attached storage (NAS) devices
- Smart home devices
$3
Enable Bonjour/mDNS Discovery: Checkbox to enable service discovery
Service Types: Comma-separated list of services to discover:
-
http - Web servers and web interfaces
- ssh - SSH servers
- ftp - FTP servers
- smb - Windows file sharing
- printer - Network printers
- airplay - Apple AirPlay devices
- afpovertcp - Apple Filing Protocol
- nfs - Network File SystemBonjour Timeout: How long to wait for service responses (1000-30000ms)
$3
Home Networks:
`
http,ssh,printer,airplay,smb
`Development Networks:
`
http,ssh,ftp,mongodb,redis,postgresql
`Office Networks:
`
http,ssh,smb,printer,afpovertcp
``1. Discover .local hostnames that don't exist in DNS
2. Identify device types based on advertised services
3. Find network services automatically without port scanning
4. Monitor service availability in real-time
5. Cross-platform compatibility (works on Windows, macOS, Linux)
"Host unreachable" errors:
- Check if the target IP/hostname is correct
- Verify network connectivity
- Increase timeout values for slow networks
No devices found in network discovery:
- Ensure the subnet notation is correct (e.g., 192.168.1.0/24)
- Check if devices respond to ping (some may have firewalls)
- Try smaller IP ranges first
Bonjour/mDNS services not found:
- Not all devices advertise services via Bonjour/mDNS
- Some networks may block multicast traffic (required for mDNS)
- Try increasing the Bonjour timeout value
- Check if devices are on the same network segment
- Some enterprise firewalls block mDNS traffic
Bonjour discovery slow or incomplete:
- Increase the timeout value (try 10000ms for large networks)
- Reduce the number of service types being searched
- Some devices may advertise services slowly after network changes
Performance monitor not starting:
- Verify at least one target is configured
- Check that targets are reachable
- Ensure monitoring interval is reasonable (minimum 10 seconds)
- Node Help: Each node includes detailed help text accessible in Node-RED
- Configuration: All settings have tooltips and validation
- Error Handling: Errors are displayed in Node-RED debug panel
- Node-RED: v1.0.0 or higher
- Node.js: v12.0.0 or higher
- Operating System: Windows, macOS, Linux
MIT License - Free for personal and commercial use.
Created by Brian Rodriguez - BRDC.nl for the Node-RED community.