/// <summary> /// CommandIPConfig without args /// </summary> public override ReturnInfo Execute() { if (NetworkStack.ConfigEmpty()) { Console.WriteLine("No network configuration detected! Use ipconfig /help"); } foreach (HAL.Drivers.Network.NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case HAL.Drivers.Network.CardType.Ethernet: Console.WriteLine("Ethernet Card : " + device.NameID + " - " + device.Name); break; case HAL.Drivers.Network.CardType.Wireless: Console.WriteLine("Wireless Card : " + device.NameID + " - " + device.Name); break; } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("MAC Address : " + device.MACAddress.ToString()); Console.WriteLine("IP Address : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Subnet mask : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Default Gateway : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("Preferred DNS server : " + settings.GetValue("dns01")); } return(new ReturnInfo(this, ReturnCode.OK)); }
/// <summary> /// CommandEcho /// </summary> /// <param name="arguments">Arguments</param> public override ReturnInfo Execute(List <string> arguments) { if (NetworkStack.ConfigEmpty()) { return(new ReturnInfo(this, ReturnCode.ERROR, "No network configuration detected! Use ipconfig /set.")); } if (arguments.Count == 0) { return(new ReturnInfo(this, ReturnCode.ERROR_ARG)); } if (arguments[0] == "-l") { if (arguments.Count <= 1) { return(new ReturnInfo(this, ReturnCode.ERROR_ARG)); } int port = Int32.Parse(arguments[1]); Console.WriteLine("Listening at " + port + "..."); new System.Network.IPV4.UDP.UdpClient(port); return(new ReturnInfo(this, ReturnCode.OK)); } else if (arguments[0] == "-s") { if (arguments.Count <= 3) { return(new ReturnInfo(this, ReturnCode.ERROR_ARG)); } Address ip = Address.Parse(arguments[1]); int port = Int32.Parse(arguments[2]); string message = arguments[3]; var xClient = new System.Network.IPV4.UDP.UdpClient(port); xClient.Connect(ip, port); xClient.Send(Encoding.ASCII.GetBytes(message)); xClient.Close(); return(new ReturnInfo(this, ReturnCode.OK)); } else { return(new ReturnInfo(this, ReturnCode.ERROR_ARG)); } }
/// <summary> /// Check command availability to avoid unwanted behavior. /// </summary> /// <param name="command">Command</param> private static ReturnInfo CheckCommand(ICommand command) { if (command.Type == CommandType.Filesystem) { if (Kernel.ContainsVolumes() == false) { return(new ReturnInfo(command, ReturnCode.ERROR, "No volume detected!")); } } if (command.Type == CommandType.Network) { if (NetworkStack.ConfigEmpty()) { return(new ReturnInfo(command, ReturnCode.ERROR, "No network configuration detected! Use ipconfig /set.")); } } return(new ReturnInfo(command, ReturnCode.OK)); }
/// <summary> /// Check command availability to avoid unwanted behavior. /// </summary> /// <param name="command">Command</param> private ReturnInfo CheckCommand(ICommand command) { if (command.Type == CommandType.Filesystem) { if (Kernel.VirtualFileSystem == null || Kernel.VirtualFileSystem.GetVolumes().Count == 0) { return(new ReturnInfo(command, ReturnCode.ERROR, "No volume detected!")); } } if (command.Type == CommandType.Network) { if (NetworkStack.ConfigEmpty()) { return(new ReturnInfo(command, ReturnCode.ERROR, "No network configuration detected! Use ipconfig /set.")); } } return(new ReturnInfo(command, ReturnCode.OK)); }
/// <summary> /// CommandIPConfig without args /// </summary> public override ReturnInfo Execute() { if (NetworkStack.ConfigEmpty()) { Console.WriteLine("No network configuration detected! Use ipconfig /help"); } foreach (NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case CardType.Ethernet: Console.Write("Ethernet Card : " + device.NameID + " - " + device.Name); break; case CardType.Wireless: Console.Write("Wireless Card : " + device.NameID + " - " + device.Name); break; } if (NetworkConfig.CurrentConfig.Key == device) { Console.WriteLine(" (current)"); } else { Console.WriteLine(); } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("MAC Address : " + device.MACAddress.ToString()); Console.WriteLine("IP Address : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Subnet mask : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Default Gateway : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("DNS Nameservers : "); foreach (Address dnsnameserver in DNSConfig.DNSNameservers) { Console.WriteLine(" " + dnsnameserver.ToString()); } } return(new ReturnInfo(this, ReturnCode.OK)); }
/// <summary> /// CommandIPConfig without args /// </summary> public override ReturnInfo Execute() { if (NetworkStack.ConfigEmpty()) { Kernel.console.WriteLine("No network configuration detected! Use ipconfig /help"); } foreach (NetworkConfig config in NetworkConfiguration.NetworkConfigs) { switch (config.Device.CardType) { case CardType.Ethernet: Kernel.console.Write("Ethernet Card : " + config.Device.NameID + " - " + config.Device.Name); break; case CardType.Wireless: Kernel.console.Write("Wireless Card : " + config.Device.NameID + " - " + config.Device.Name); break; } if (NetworkConfiguration.CurrentNetworkConfig.Device == config.Device) { Kernel.console.WriteLine(" (current)"); } else { Kernel.console.WriteLine(); } Kernel.console.WriteLine("MAC Address : " + config.Device.MACAddress.ToString()); Kernel.console.WriteLine("IP Address : " + config.IPConfig.IPAddress.ToString()); Kernel.console.WriteLine("Subnet mask : " + config.IPConfig.SubnetMask.ToString()); Kernel.console.WriteLine("Default Gateway : " + config.IPConfig.DefaultGateway.ToString()); Kernel.console.WriteLine("DNS Nameservers : "); foreach (Address dnsnameserver in DNSConfig.DNSNameservers) { Kernel.console.WriteLine(" " + dnsnameserver.ToString()); } } return(new ReturnInfo(this, ReturnCode.OK)); }
public void ipconfig() { if (NetworkStack.ConfigEmpty()) { Console.WriteLine("No network configuration detected!"); } foreach (NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case CardType.Ethernet: Console.Write("Ethernet Card : " + device.NameID + " - " + device.Name); break; case CardType.Wireless: Console.Write("Wireless Card : " + device.NameID + " - " + device.Name); break; } if (NetworkConfig.CurrentConfig.Key == device) { Console.WriteLine(" (current)"); } else { Console.WriteLine(); } Console.WriteLine("MAC Address : " + device.MACAddress.ToString()); Console.WriteLine("IP Address : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Subnet mask : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Default Gateway : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("DNS Nameservers : "); foreach (Address dnsnameserver in DNSConfig.DNSNameservers) { Console.WriteLine(" " + dnsnameserver.ToString()); } } }
/// <summary> /// CommandEcho /// </summary> /// <param name="arguments">Arguments</param> public override ReturnInfo Execute(List <string> arguments) { if (NetworkStack.ConfigEmpty()) { return(new ReturnInfo(this, ReturnCode.ERROR, "No network configuration detected! Use ipconfig /set.")); } int PacketSent = 0; int PacketReceived = 0; int PacketLost = 0; int PercentLoss = 0; Address destination = Address.Parse(arguments[0]); Address source = Config.FindNetwork(destination); string IPdest = ""; if (destination == null) { return(new ReturnInfo(this, ReturnCode.ERROR, "Can't parse IP addresses (make sure they are well formated).")); } else { try { IPdest = destination.ToString(); int _deltaT = 0; int second; Console.WriteLine("Sending ping to " + destination.ToString()); for (int i = 0; i < 4; i++) { second = 0; try { ICMPEchoRequest request = new ICMPEchoRequest(source, destination, 0x0001, 0x50); //this is working OutgoingBuffer.AddPacket(request); //Aura doesn't work when this is called. NetworkStack.Update(); } catch (Exception ex) { return(new ReturnInfo(this, ReturnCode.ERROR, ex.ToString())); } PacketSent++; while (true) { if (ICMPPacket.recvd_reply != null) { if (second < 1) { Console.WriteLine("Reply received from " + ICMPPacket.recvd_reply.SourceIP.ToString() + " time < 1s"); } else if (second >= 1) { Console.WriteLine("Reply received from " + ICMPPacket.recvd_reply.SourceIP.ToString() + " time " + second + "s"); } PacketReceived++; ICMPPacket.recvd_reply = null; break; } if (second >= 5) { Console.WriteLine("Destination host unreachable."); PacketLost++; break; } if (_deltaT != Cosmos.HAL.RTC.Second) { second++; _deltaT = Cosmos.HAL.RTC.Second; } } } } catch { return(new ReturnInfo(this, ReturnCode.ERROR, "Ping process error.")); } PercentLoss = 25 * PacketLost; Console.WriteLine(); Console.WriteLine("Ping statistics for " + IPdest + ":"); Console.WriteLine(" Packets: Sent = " + PacketSent + ", Received = " + PacketReceived + ", Lost = " + PacketLost + " (" + PercentLoss + "% loss)"); return(new ReturnInfo(this, ReturnCode.OK)); } }
public void Update() { //Top bar Width = (uint)(Kernel.WindowManager.apps.Count * Kernel.programLogo.Width + Kernel.WindowManager.apps.Count * Devide); Kernel.canvas.DrawFilledRectangle(Kernel.avgColPen, 0, 0, (int)Kernel.screenWidth, 24); uint strX = 0; uint strY = 0; Kernel.canvas.DrawImage(Kernel.powerIco, (int)strX, (int)strY); if (!NetworkStack.ConfigEmpty()) { Kernel.canvas.DrawImage(Kernel.connectedIco, (int)(Kernel.screenWidth - 24), (int)strY); } string time = Time.TimeString(true, true, true); Kernel.canvas.DrawString(time, Kernel.font, Kernel.BlackPen, (int)((Kernel.screenWidth / 2) - ((time.Length * Kernel.font.Width) / 2)), (int)(strY + 4)); if (Kernel.Pressed) { if (MouseManager.X > strX && MouseManager.X < strX + Kernel.powerIco.Width && MouseManager.Y > strY && MouseManager.Y < strY + 24) { ACPI.Shutdown(); } } //Dock Kernel.canvas.DrawFilledRectangle(Kernel.avgColPen, (int)(Kernel.screenWidth - Width) / 2, (int)(Kernel.screenHeight - Height), (int)Width, (int)Height); int i = 0; foreach (var process in Kernel.ProcessManager.Processes) { if (process.Type == ProcessType.Program) { var app = process as App; app.dockX = (uint)(Devide / 2 + ((Kernel.screenWidth - Width) / 2) + (Kernel.programLogo.Width * i) + (Devide * i)); app.dockY = Kernel.screenHeight - Kernel.programLogo.Height - Devide / 2; Kernel.canvas.DrawImage(Kernel.programLogo, (int)app.dockX, (int)app.dockY); i++; if (MouseManager.X > app.dockX && MouseManager.X < app.dockX + app.dockWidth && MouseManager.Y > app.dockY && MouseManager.Y < app.dockY + app.dockHeight) { Kernel.canvas.DrawString(app.name, Kernel.font, Kernel.WhitePen, (int)(app.dockX - ((app.name.Length * 8) / 2) + app.dockWidth / 2), (int)(app.dockY - 20)); } if (MouseManager.MouseState == MouseState.Left) { if (!Clicked && MouseManager.X > app.dockX && MouseManager.X < app.dockX + app.dockWidth && MouseManager.Y > app.dockY && MouseManager.Y < app.dockY + app.dockHeight) { Clicked = true; app.visible = !app.visible; if (app.visible) { Kernel.ProcessManager.Start(app); } else { app.Stop(); } } } else { Clicked = false; } } } }
/// <summary> /// Display IP Configuration and MAC Address /// </summary> public static void Ipconfig() { switch (Kernel.langSelected) { case "fr_FR": int counter = 0; if (NetworkStack.ConfigEmpty()) { Console.WriteLine("Aucune configuration réseau détectée! Utilisez ipconfig /help"); } foreach (HAL.Drivers.Network.NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case HAL.Drivers.Network.CardType.Ethernet: Console.WriteLine("Carte Ethernet " + counter + " - " + device.Name); break; case HAL.Drivers.Network.CardType.Wireless: Console.WriteLine("Carte réseau sans fil " + counter + " :"); break; } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("Adresse MAC : " + device.MACAddress.ToString()); Console.WriteLine("Adresse IP : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Masque de sous-réseau : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Passerelle par défaut : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("Serveur DNS préféré : " + settings.GetValue("dns01")); counter++; } break; case "en_US": int counter1 = 0; if (NetworkStack.ConfigEmpty()) { Console.WriteLine("No network configuration detected! Use ipconfig /help"); } foreach (HAL.Drivers.Network.NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case HAL.Drivers.Network.CardType.Ethernet: Console.WriteLine("Ethernet Card " + counter1 + " - " + device.Name); break; case HAL.Drivers.Network.CardType.Wireless: Console.WriteLine("Wireless Card " + counter1 + " - " + device.Name); break; } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("MAC Address : " + device.MACAddress.ToString()); Console.WriteLine("IP Address : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Subnet mask : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Default Gateway : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("Preferred DNS server : " + settings.GetValue("dns01")); counter1++; } break; case "nl_NL": int counter2 = 0; if (NetworkStack.ConfigEmpty()) { Console.WriteLine("Geen netwerkconfiguratie gedetecteerd! Gebruik ipconfig /help"); } foreach (HAL.Drivers.Network.NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case HAL.Drivers.Network.CardType.Ethernet: Console.WriteLine("Ethernetkaart " + counter2 + " - " + device.Name); break; case HAL.Drivers.Network.CardType.Wireless: Console.WriteLine("Draadloze Netwerkkaart " + counter2 + " :"); break; } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("MAC-adres : " + device.MACAddress.ToString()); Console.WriteLine("IP-adres : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Subnetmasker : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Standaardgateway : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("Voorkeur DNS-server : " + settings.GetValue("dns01")); counter2++; } break; case "it_IT": int counter3 = 0; if (NetworkStack.ConfigEmpty()) { Console.WriteLine("Nessuna configurazione di rete rilevata! Utilizzare ipconfig /help"); } foreach (HAL.Drivers.Network.NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case HAL.Drivers.Network.CardType.Ethernet: Console.WriteLine("Scheda Ethernet " + counter3 + " - " + device.Name); break; case HAL.Drivers.Network.CardType.Wireless: Console.WriteLine("Scheda di rete senza fili " + counter3 + " :"); break; } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("Indirizzo MAC : " + device.MACAddress.ToString()); Console.WriteLine("Indirizzo IP : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Maschera di sottorete : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Gateway predefinito : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("Server DNS preferito : " + settings.GetValue("dns01")); counter3++; } break; case "pl_PL": int counter4 = 0; if (NetworkStack.ConfigEmpty()) { Console.WriteLine("Nie wykryto zadnej konfiguracji sieci! Uzyj ipconfig /help"); } foreach (HAL.Drivers.Network.NetworkDevice device in NetworkConfig.Keys) { switch (device.CardType) { case HAL.Drivers.Network.CardType.Ethernet: Console.WriteLine("Karta Sieciowa " + counter4 + " - " + device.Name); break; case HAL.Drivers.Network.CardType.Wireless: Console.WriteLine("Karta bezprzewodowa " + counter4 + " - " + device.Name); break; } Utils.Settings settings = new Utils.Settings(@"0:\System\" + device.Name + ".conf"); Console.WriteLine("Adres MAC : " + device.MACAddress.ToString()); Console.WriteLine("Adres IP : " + NetworkConfig.Get(device).IPAddress.ToString()); Console.WriteLine("Maska sieciowa : " + NetworkConfig.Get(device).SubnetMask.ToString()); Console.WriteLine("Brama sieciowa : " + NetworkConfig.Get(device).DefaultGateway.ToString()); Console.WriteLine("Preferowany serwer DNS : " + settings.GetValue("dns01")); counter4++; } break; } }