Beispiel #1
0
        private void calcButton_Click(object sender, EventArgs e)
        {
            table.Rows.Clear();
            IP          = null;
            InitialMask = null;
            SubnetMask  = null;
            if (validateData())
            {
                IP = new IP(oct1, oct2, oct3, oct4);
                //contruir mascara inicial
                buildInitMask();
                if (requiredThing == 1)
                {
                    calcHost();
                }

                if (requiredThing == 0)
                {
                    calcSubRedes();
                }

                //ya tengo todas las ip ahora los rangos xd
            }

            SubnetMask.setIterationBits();
            calcRangos();

            Console.WriteLine("Octeto1 " + oct1);
            Console.WriteLine("Octeto2 " + oct2);
            Console.WriteLine("Octeto3 " + oct3);
            Console.WriteLine("Octeto4 " + oct4);
            Console.WriteLine("Required Number" + requiredNumber);
            Console.WriteLine("Mask Slash " + maskSlash);
            Console.WriteLine("required thing index " + requiredThing);
            Console.WriteLine("Mask oct1: " + initMascOct1);
            Console.WriteLine("Mask oct2: " + initMascOct2);
            Console.WriteLine("Mask oct3: " + initMascOct3);
            Console.WriteLine("Mask oct4: " + initMascOct4);
            Console.WriteLine("massk slash: " + maskSlash);

            if (IP != null)
            {
                Console.WriteLine("IP");
                Console.WriteLine(IP.toString());
            }

            if (InitialMask != null)
            {
                Console.WriteLine("Mascara Inicial");
                Console.WriteLine(InitialMask.toString());
            }

            groupBox2.Visible    = true;
            maskLabel.Visible    = true;
            octBinarioLabel.Text = SubnetMask.Oct1Binary + "." + SubnetMask.Oct2Binary + "." +
                                   SubnetMask.Oct3Binary + "." + SubnetMask.Oct4Binary;
            octBinarioLabel.Visible = true;

            octDecimalLabel.Text = SubnetMask.Oct1 + "." + SubnetMask.Oct2 + "." + SubnetMask.Oct3 + "." +
                                   SubnetMask.Oct4;
            octDecimalLabel.Visible = true;

            afectadoLabel.Text    = "Octeto Afectado: " + SubnetMask.AffectedOct;
            afectadoLabel.Visible = true;

            prestadosLabel.Text    = "Bits prestados: " + SubnetMask.Bits;
            prestadosLabel.Visible = true;

            iterationsLabel.Text = "Iteraciones de " + SubnetMask.IterationNumber +
                                   " en " + SubnetMask.IterationNumber;
            iterationsLabel.Visible = true;
        }
Beispiel #2
0
        void calcHost()
        {
            int hostBits = hostbits(requiredNumber);

            SubnetMask = new IP(1, hostBits);
        }
Beispiel #3
0
        void buildInitMaskSlash()
        {
            string binaryOctTemp = "";

            if (maskSlash > 0 && maskSlash <= 8)
            {
                initMascOct4 = 0;
                initMascOct3 = 0;
                initMascOct2 = 0;
                for (int i = 0; i < maskSlash; i++)
                {
                    binaryOctTemp += "1";
                }
                string oct1 = fillBinaryRigth(binaryOctTemp, "0");
                initMascOct1 = Convert.ToInt32(oct1, 2);
            }

            if (maskSlash > 8 && maskSlash <= 16)
            {
                initMascOct1 = 255;
                initMascOct4 = 0;
                initMascOct3 = 0;

                if (maskSlash == 16)
                {
                    binaryOctTemp = "11111111";
                }
                else
                {
                    for (int i = 0; i < maskSlash % 8; i++)
                    {
                        binaryOctTemp += "1";
                    }
                }

                string oct2 = fillBinaryRigth(binaryOctTemp, "0");
                initMascOct2 = Convert.ToInt32(oct2, 2);
            }

            if (maskSlash > 16 && maskSlash <= 24)
            {
                initMascOct1 = 255;
                initMascOct4 = 0;
                initMascOct2 = 255;

                if (maskSlash == 24)
                {
                    binaryOctTemp = "11111111";
                }
                else
                {
                    for (int i = 0; i < maskSlash % 8; i++)
                    {
                        binaryOctTemp += "1";
                    }
                }


                string oct3 = fillBinaryRigth(binaryOctTemp, "0");
                initMascOct3 = Convert.ToInt32(oct3, 2);
            }

            if (maskSlash > 24 && maskSlash <= 30)
            {
                initMascOct1 = 255;
                initMascOct2 = 255;
                initMascOct3 = 255;

                for (int i = 0; i < maskSlash % 8; i++)
                {
                    binaryOctTemp += "1";
                }

                string oct4 = fillBinaryRigth(binaryOctTemp, "0");
                initMascOct4 = Convert.ToInt32(oct4, 2);
            }
            InitialMask = new IP(initMascOct1, initMascOct2, initMascOct3, initMascOct4);
        }