Example #1
0
        private void button4_Click(object sender, EventArgs e)
        {
            MultiWriter     writer     = new MultiWriter(textBox1, sciezka_log);
            NetCalculations obliczenia = new NetCalculations(writer);

            writer.Write("Rozpoczynam obliczenia");
            IPAddress maskaPodsieci;
            IPAddress adresSieci;
            IPAddress adresBroadcast;
            string    dane = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

            byte[]           bufor     = Encoding.ASCII.GetBytes(dane);
            int              timeout   = 120;
            PingOptions      opcje     = new PingOptions();
            List <IPAddress> adresyLAN = new List <IPAddress>();

            maskaPodsieci = NetCalculations.ObliczMaskePodsieci(wybranyIpek, wybranyInterfejs).MapToIPv4();
            writer.Write("Maska podsieci to: " + maskaPodsieci);

            adresSieci = NetCalculations.ObliczAdresSieci(wybranyIpek, maskaPodsieci);
            writer.Write("Adres sieci to: " + adresSieci);

            adresBroadcast = NetCalculations.ObliczAdresBroadcast(wybranyIpek, maskaPodsieci);
            writer.Write("Maska Podsieci to" + adresBroadcast);

            adresyLAN            = obliczenia.GenerujListeIP(adresSieci, adresBroadcast);
            progressBar1.Maximum = adresyLAN.Count;

            PingPong pingowanie = new PingPong(writer, progressBar1);

            writer.Write("Rozpoczynam pingowanie");

            pingowanie.Ping_Wielowatkowy(adresyLAN, timeout, bufor, opcje);
        }
Example #2
0
        public Form1()
        {
            InitializeComponent();

            MultiWriter Writer = new MultiWriter(textBox1, sciezka_log); //Powitalny wpis w logu

            Writer.Write("Witamy w programie LAN Scanner!");
            Writer.Write("Wybierz tryb ręczny lub automatyczny, by rozpocząć.");
        }
Example #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            MultiWriter      writer     = new MultiWriter(textBox1, sciezka_log);
            NetCalculations  obliczenia = new NetCalculations(writer); //inicjalizacja obiektu niezbędna do przeprowadzenia obliczeń
            IPAddress        poczatkowy = null;
            IPAddress        koncowy    = null;
            List <IPAddress> listaIP;
            string           dane = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

            byte[]      bufor   = Encoding.ASCII.GetBytes(dane);
            int         timeout = 120;
            PingOptions opcje   = new PingOptions();

            writer.Write("Wybrano tryb ręczny");

            try
            {
                poczatkowy = IPAddress.Parse(textBox2.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Adres początkowy: wprowadzono nieprawidłową wartość.");
                writer.Write("Adres początkowy: wprowadzono nieprawidłową wartość.");
            }
            writer.Write("Wpisano IP początkowe: " + poczatkowy.ToString());

            try
            {
                koncowy = IPAddress.Parse(textBox3.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Adres końcowy: wprowadzono nieprawidłową wartość.");
                writer.Write("Adres końcowy: wprowadzono nieprawidłową wartość.");
            }
            writer.Write("Wpisano IP końcowe: " + koncowy.ToString());

            listaIP = obliczenia.GenerujListeIP(poczatkowy, koncowy);
            writer.Write("Wygenerowano następującą listę IP:");
            progressBar1.Maximum = listaIP.Count;

            foreach (IPAddress adres in listaIP)
            {
                writer.Write(adres.ToString());
            }

            writer.Write("Rozpoczynam ping");

            PingPong pingowanie = new PingPong(writer, progressBar1);

            foreach (IPAddress adres in listaIP)
            {
                pingowanie.Ping_Asynch(adres, timeout, bufor, opcje);
            }
            if (progressBar1.Value >= progressBar1.Maximum)
            {
                writer.Write("Zakończono");
            }
        }
Example #4
0
        private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            MultiWriter writer = new MultiWriter(textBox1, sciezka_log);

            wybranyIpek = (IPAddress)listBox2.SelectedItem;
            writer.Write("Wybrany adres IP to: " + wybranyIpek.ToString());
        }
Example #5
0
        private void listBox1_SelectedIndexChanged(Object sender, EventArgs e)
        {
            if (licznik <= 1) //warunek konieczny by uniknąć zbędnych wywołań eventu. Zrobiony w związku z tmy, że nie znalazłe właściwości odpowiedzialnej za domyślną wartość listbox-a.
            {
                licznik++;
            }
            else
            {
                MultiWriter writer = new MultiWriter(textBox1, sciezka_log);
                wybranyInterfejs = (NetworkInterface)listBox1.SelectedItem;
                writer.Write("Wybrano Interfejs: " + wybranyInterfejs.Name);
                if (wybranyInterfejs == null)
                {
                    writer.Write("Ne wybrano interfejsu");
                }
                else
                {
                    adresyWlasne = NetConfig.ListaIPwlasne(wybranyInterfejs);
                }

                listBox2.DataSource    = adresyWlasne;
                listBox1.DisplayMember = "ToString";
            }
        }
Example #6
0
        public List <IPAddress> GenerujListeIP(IPAddress poczatkowy, IPAddress koncowy)
        {
            List <IPAddress> ListaIP = new List <IPAddress>();

            byte[]    start = poczatkowy.GetAddressBytes();
            byte[]    end   = koncowy.GetAddressBytes();
            IPAddress maska_32;

            maska_32 = IPAddress.Parse("254.254.254.254");
            byte[] maska      = maska_32.GetAddressBytes();
            byte[] adres_byte = start;

            if (start[0] > end[0] || start[1] > end[1] || start[2] > end[2] || (start[3] > end[3] && start[2] <= end[2]))
            {
                writer.Write("Niepoprawna kombinacja adresów początkowego i końcowego");
                return(null);
            }
            else
            {
                for (byte oktet1 = start[0]; oktet1 <= end[0]; oktet1++)
                {
                    for (byte oktet2 = start[1]; oktet2 <= end[1]; oktet2++)
                    {
                        for (byte oktet3 = start[2]; oktet3 <= end[2]; oktet3++)
                        {
                            for (byte oktet4 = start[3]; oktet4 <= maska[3]; oktet4++)
                            {
                                if (oktet4 > end[3] && oktet3 == end[2])
                                {
                                    continue;
                                }
                                else
                                {
                                    IPAddress adres = new IPAddress(new byte[] { oktet1, oktet2, oktet3, oktet4 });
                                    ListaIP.Add(adres);
                                }
                            }
                        }
                    }
                }
                return(ListaIP);
            }
        }
Example #7
0
        public void Ping_Asynch(IPAddress adres, int timeout, byte[] bufor, PingOptions konfig)
        {
            Ping PingPong = new Ping();

            PingPong.PingCompleted += new PingCompletedEventHandler(KoniecPing);

            try
            {
                PingPong.SendAsync(adres.ToString(), timeout = 120, bufor, konfig, null);
            }
            catch (Exception ex) //tu do zrobienia obsługa błędów
            {
                writer.Write("Błąd podczas wysyłania pingu. Adres docelowy:" + adres.ToString() + " Kod błędu: " + ex.Message);
            }
        }