private void TestPort(object o) { if (o != null) { var info = (TestInfo)o; bool open = Network_Functions.IsPortOpen(info.Address, info.Port, pingTimeout); if (!stop.WaitOne(0, true)) { if (open) { TestProbe(info.Address, info.Port); } else { AddtoLog(LogType.PORT, "Port Closed :: " + info.Port); } } Dispatcher.BeginInvoke(new Action(() => { nodesChecked++; SearchProgressValue++; if (nodesChecked >= NetworkNodesFound * (portRangeStop - portRangeStart)) { DevicesLoading = false; } }), System.Windows.Threading.DispatcherPriority.Background, new object[] { }); } }
private void SetDefaultAddressRange() { var hostIp = Network_Functions.GetHostIP(); var hostSubnet = Network_Functions.GetSubnetMask(hostIp); if (hostIp != null && hostSubnet != null) { var ipNetwork = IPNetwork.Parse(hostIp, hostSubnet); if (ipNetwork != null) { var ips = IPNetwork.ListIPAddress(ipNetwork).ToList(); if (ips != null && ips.Count > 0) { StartAddress = ips[0].ToString(); EndAddress = ips[ips.Count - 1].ToString(); } } } }
private IPAddress[] GetAddressRange() { var hostIp = Network_Functions.GetHostIP(); var hostSubnet = Network_Functions.GetSubnetMask(hostIp); if (hostIp != null && hostSubnet != null) { var ipNetwork = IPNetwork.Parse(hostIp, hostSubnet); if (ipNetwork != null) { var ips = IPNetwork.ListIPAddress(ipNetwork).ToList(); if (ips != null && ips.Count > 0) { // Get Start Address IPAddress start = null; IPAddress.TryParse(StartAddress, out start); // Get End Address IPAddress end = null; IPAddress.TryParse(EndAddress, out end); if (start != null && end != null) { var range = new Network_Functions.IPAddressRange(start, end); addressRange = ips.FindAll(o => range.IsInRange(o)); // Set HostIp to LocalHost instead of using network IP int localhostIndex = addressRange.FindIndex(o => o.ToString() == hostIp.ToString()); if (localhostIndex >= 0) { addressRange[localhostIndex] = IPAddress.Loopback; } return(addressRange.ToArray()); } } } } return(null); }
public static string Get() { return(Network_Functions.GetMacAddress()); }
public void FindDevices() { DevicesLoading = true; DevicesAlreadyAdded = 0; DevicesNotAdded = 0; NetworkNodesFound = 0; nodesChecked = 0; DeviceInfos.Clear(); addressRange = null; LogItems.Clear(); pingTimeout = PingTimeout; var hostIp = Network_Functions.GetHostIP(); var hostSubnet = Network_Functions.GetSubnetMask(hostIp); if (hostIp != null && hostSubnet != null) { var ipNetwork = IPNetwork.Parse(hostIp, hostSubnet); if (ipNetwork != null) { var ips = IPNetwork.ListIPAddress(ipNetwork).ToList(); if (ips != null && ips.Count > 0) { // Get Start Address IPAddress start = null; IPAddress.TryParse(StartAddress, out start); // Get End Address IPAddress end = null; IPAddress.TryParse(EndAddress, out end); if (start != null && end != null) { AddtoLog(LogType.INFO, "Starting Auto Detect.."); AddtoLog(LogType.INFO, "IP Address Range : From " + start.ToString() + " to " + end.ToString()); AddtoLog(LogType.INFO, "Port Range : From " + portRangeStart.ToString() + " to " + portRangeStop.ToString()); var range = new Network_Functions.IPAddressRange(start, end); addressRange = ips.FindAll(o => range.IsInRange(o)); int localhostIndex = addressRange.FindIndex(o => o.ToString() == hostIp.ToString()); if (localhostIndex >= 0) { addressRange[localhostIndex] = IPAddress.Loopback; } } } } } portRangeStart = StartPort; portRangeStop = EndPort; SearchProgressValue = 0; SearchProgressMaximum = 0; stop = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem(new WaitCallback(FindDevices_Worker)); }