Example #1
0
        private void StartPortScanbutton_Click(object sender, EventArgs e)
        {
            OpenPortslistView.Clear();
            string ip = LANhostslistView.SelectedItems[0].Text;

            PortScanProgresstextBox.Text    = "Сканирование портов (" + ip + "). Подождите!";
            PortScanProgresstextBox.Visible = false;
            PortScanProgressBar.Visible     = true;
            ParameterizedThreadStart port_delegate = new ParameterizedThreadStart(AllPortsByIP);
            Thread port_Scanning_thread            = new Thread(port_delegate);

            port_Scanning_thread.IsBackground = true;
            port_Scanning_thread.Start(ip);
            StartPortScanbutton.Text    = "Начать сканирование портов";
            StartPortScanbutton.Enabled = false;
        }
Example #2
0
 public void AllPortsByIP(object ip)
 {
     try
     {
         foreach (int p in ports_array)
         {
             if (ScanPort(ip.ToString(), p))
             {
                 ListViewItem item = new ListViewItem("Порт " + p.ToString() + "  -  Открыт!");
                 OpenPortslistView.Invoke(new MethodInvoker(delegate()
                 {
                     OpenPortslistView.Items.Add(item);
                 }));
             }
             PortScanProgressBar.Invoke(new progress_bar(delegate() { PortScanProgressBar.PerformStep(); }));
         }
     }
     finally
     {
         if (OpenPortslistView.Items.Count == 0)
         {
             ListViewItem item = new ListViewItem("Открытые порты отсутствуют!");
             OpenPortslistView.Invoke(new MethodInvoker(delegate()
             {
                 OpenPortslistView.Items.Add(item);
             }));
         }
         bool F = false;
         bool T = true;
         PortScanProgressBar.Invoke(new bool_progress((f) => PortScanProgressBar.Visible = f), F);
         PortScanProgressBar.Invoke(new MethodInvoker(delegate() { PortScanProgressBar.Value = 0; }));
         string S = "Список открытых портов(" + ip.ToString() + ").";
         PortScanProgresstextBox.Invoke(new string_progress((s) => PortScanProgresstextBox.Text = s), S);
         MessageBox.Show("Процесс сканирования портов завершен!");
         PortScanProgresstextBox.Invoke(new bool_progress((t) => PortScanProgresstextBox.Visible = t), T);
     }
 }