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); }
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ąć."); }
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"); } }
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()); }
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"; } }
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); } }
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); } }