xmegz / MndpTray

MikroTik Neighbor Discovery Protocol Tools
https://xmegz.github.io/MndpTray/
GNU General Public License v3.0
30 stars 11 forks source link
broadcast cpd discovery dotnet linux lldp mikrotik mikrotik-router mndp net-framework network network-discovery routeros tool udp windows

MikroTik Neighbor Discovery Protocol Tools

Build status CodeFactor GitHub All Releases NuGet NuGetDownload MyGet

MndpTray

MndpTray is a Windows utility that allows you, to monitor and manage MikroTik devices, on your network from the system tray.

The information is broadcast using the MikroTik Discovery Protocol (MNDP), which allows MikroTik RouterOS devices to discover other MikroTik RouterOS devices on the same network segment. This makes it possible for MndpTray to provide information about the host, to other MikroTik RouterOS devices and for other MikroTik RouterOS devices, to retrieve this information and display it in their own management interfaces.

By providing this information, MndpTray makes it easier for network administrators to monitor and manage their MikroTik RouterOS devices, as they can quickly see the status of all the devices on their network without having to log in to each device individually.

windows application list window mikrotik winbox neighbor interface

Downloads

winget install --accept-source-agreements mndptray.core
mndptray

Details

MNDP similar to CDP and LLDP, but Mikrotik specific, typically includes the following information:

More functions

Tested

MndpService

MndpService is a background service, which is send information about running host

Linux install one-liner

sudo su -c "bash <(wget -qO- https://github.com/xmegz/MndpTray/releases/download/v2.2.0/install.sh)" root

MndpProtocol

Standalone package for intergation and testing

Package feeds

Usage

namespace MndpTray.Protocol.Test
{
    using System;
    using System.Threading;

    /// <summary>
    /// Startup Class.
    /// </summary>
    public static class Program
    {
        /// <summary>
        /// Startup Method.
        /// </summary>
        public static void Main()
        {
            MndpListener.Instance.Start();
            MndpListener.Instance.OnDeviceDiscovered += Instance_OnDeviceDiscovered;
            MndpSender.Instance.Start(MndpHostInfo.Instance);

            Console.WriteLine("--- Start ---");
            Console.WriteLine("Press any key to stop");

            while (!Console.KeyAvailable)
                Thread.Sleep(100);

            Console.WriteLine("--- Stop ---");

            MndpListener.Instance.Stop();
            MndpSender.Instance.Stop();
        }

        private static void Instance_OnDeviceDiscovered(object sender, MndpListener.DeviceDiscoveredEventArgs e)
        {
            Console.WriteLine(e.Message.ToString());
        }
    }
}