/// <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));
        }
Exemple #2
0
        /// <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));
 }
Exemple #4
0
 /// <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));
        }
Exemple #7
0
        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());
                }
            }
        }
Exemple #8
0
        /// <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;
            }
        }