static private IPInfo GetIPInfoFromShell() { // Get Ip Info from Shell IPInfo IP; Shell Shell = new Shell() { }; switch (OS.Type) { case OSType.Windows: Shell.Command = "ipconfig"; Shell.Pattern = @"IPv4.*: (?<ip>.*)\r\n.*: (?<net>.*)\r\n.*: (?<gw>.*)\r\n"; break; case OSType.Linux: Shell.Command = "ifconfig"; Shell.Arguments = "eth0"; Shell.Pattern = @"inet\s(?<ip>.*)\snetmask\s(?<net>.*)\sbroadcast\s(?<gw>.*)"; break; case OSType.MacOSX: Shell.Command = "ifconfig"; Shell.Arguments = "en0"; Shell.Pattern = @"inet\s(?<ip>.*)\snetmask\s(?<net>.*)\sbroadcast\s(?<gw>.*)"; break; default: break; } if (Shell.Execute()) { IP = new IPInfo(Shell.Values["ip"].Value, Shell.Values["net"].Value, Shell.Values["gw"].Value); } else { IP = new IPInfo(); } IP.Source = IPsource.Shell; IP.Shell = Shell; return(IP); }
static private IPInfo GetIPInfoFromFrameWork() { // SIR :06-08-2015 : Cannot rely on this method because of some classes are not implemented in Mono like : IPv4Mask IPInfo IP; Boolean IsNetworkAvailable = NetworkInterface.GetIsNetworkAvailable(); if (IsNetworkAvailable) { var Nic = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(i => i.NetworkInterfaceType == NetworkInterfaceType.Ethernet); var IPProp = Nic.GetIPProperties(); var UnicastAddress = IPProp.UnicastAddresses.FirstOrDefault(ua => ua.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork); IP = new IPInfo(UnicastAddress.Address.ToString(), UnicastAddress.IPv4Mask.ToString(), IPProp.GatewayAddresses.FirstOrDefault().Address.ToString()); } else { IP = new IPInfo(); } IP.Source = IPsource.FrameWork; return(IP); }
private static IPInfo GetIPInfoFromFrameWork() { // SIR :06-08-2015 : Cannot rely on this method because of some classes are not implemented in Mono like : IPv4Mask IPInfo IP; Boolean IsNetworkAvailable = NetworkInterface.GetIsNetworkAvailable(); if (IsNetworkAvailable) { var Nic = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(i => i.NetworkInterfaceType == NetworkInterfaceType.Ethernet); var IPProp = Nic.GetIPProperties(); var UnicastAddress = IPProp.UnicastAddresses.FirstOrDefault(ua => ua.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork); IP = new IPInfo(UnicastAddress.Address.ToString(), UnicastAddress.IPv4Mask.ToString(), IPProp.GatewayAddresses.FirstOrDefault().Address.ToString()); } else { IP = new IPInfo(); } IP.Source = IPsource.FrameWork; return IP; }
private static IPInfo GetIPInfoFromShell() { // Get Ip Info from Shell IPInfo IP; Shell Shell = new Shell() { }; switch (OS.Type) { case OSType.Windows: Shell.Command = "ipconfig"; Shell.Pattern = @"IPv4.*: (?<ip>.*)\r\n.*: (?<net>.*)\r\n.*: (?<gw>.*)\r\n"; break; case OSType.Linux: Shell.Command = "ifconfig"; Shell.Arguments = "eth0"; Shell.Pattern = @"inet\s(?<ip>.*)\snetmask\s(?<net>.*)\sbroadcast\s(?<gw>.*)"; break; case OSType.MacOSX: Shell.Command = "ifconfig"; Shell.Arguments = "en0"; Shell.Pattern = @"inet\s(?<ip>.*)\snetmask\s(?<net>.*)\sbroadcast\s(?<gw>.*)"; break; default: break; } if (Shell.Execute()) { IP = new IPInfo(Shell.Values["ip"].Value, Shell.Values["net"].Value, Shell.Values["gw"].Value); } else { IP = new IPInfo(); } IP.Source = IPsource.Shell; IP.Shell = Shell; return IP; }