using System; using System.Diagnostics; using System.Net.NetworkInformation; using System.Net.Sockets; namespace ZeroLevel.Services.Network.Utils { /// /// Wireless network. /// public static class Wireless { /// /// Gets a value indicating if wireless network is up. /// /// true if network is up; otherwise, false. public static bool IsUp { get { try { foreach (NetworkInterface item in NetworkInterface.GetAllNetworkInterfaces()) { if (item.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 && item.OperationalStatus == OperationalStatus.Up) { return true; } } return false; } catch (Exception e) { Console.WriteLine("Error: " + e.Message); return false; } } } /// /// Gets the interface name. /// /// The interface name. public static string Name { get { try { foreach (NetworkInterface item in NetworkInterface.GetAllNetworkInterfaces()) { if (item.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 && item.OperationalStatus == OperationalStatus.Up) { return item.Name; } } return ""; } catch (Exception e) { Console.WriteLine("Error: " + e.Message); return ""; } } } /// /// Gets the Wireless SSID /// /// The Wireless SSID public static string SSID { get { try { using (var pr = new Process()) { pr.StartInfo = new ProcessStartInfo { FileName = "iwgetid", Arguments = "-r", RedirectStandardOutput = true, UseShellExecute = false, }; pr.Start(); return pr.StandardOutput.ReadLine(); } } catch (Exception e) { Console.WriteLine("Error: " + e.Message); return ""; } } } /// /// Gets the IP address. /// /// The IP address. public static string IPAddress { get { try { string output = ""; foreach (NetworkInterface item in NetworkInterface.GetAllNetworkInterfaces()) { if (item.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 && item.OperationalStatus == OperationalStatus.Up) { foreach (UnicastIPAddressInformation ip in item.GetIPProperties().UnicastAddresses) { if (ip.Address.AddressFamily == AddressFamily.InterNetwork) { output = ip.Address.ToString(); } } } } return output; } catch (Exception e) { Console.WriteLine("Error: {0}", e.Message); return ""; } } } } }