/// <summary>
 /// Default Constructor
 /// </summary>
 /// <param name="device">Router OS Device Model</param>
 public RouterOsDeviceViewModel(RouterOsDevice device)
 {
     MacAddress = device.MacAddress;
     IpAddress  = device.IpAddress.ToString();
     Identity   = device.Id;
     Version    = device.Version;
 }
Esempio n. 2
0
        public static IEnumerable <RouterOsDevice> GetMikrotikRouters()
        {
            var devices = GetAllNetworkDevices();
            var routers = new List <RouterOsDevice>();

            devices.ForEach(d =>
            {
                Task.Run(() =>
                {
                    try
                    {
                        var client = new TelnetConnection(d.IpAddress, 23);
                        if (!client.IsConnected)
                        {
                            return;
                        }

                        var output = client.Read().Trim();
                        var match  = Regex.Match(output, @"^(\w+)\s+([^\s]+)");

                        if (!match.Success)
                        {
                            return;
                        }

                        var router = new RouterOsDevice(match.Groups[1].Value, match.Groups[2].Value,
                                                        d.MacAddress, d.IpAddress);

                        routers.Add(router);
                    }
                    catch
                    {
                    }
                }).Wait(500);
            });

            return(routers);
        }