/// <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; }
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); }