Example #1
0
File: Form1.cs Project: berak/cs
        private void Form1_Load(object sender, EventArgs e)
        {
            scanPorts = new ScanPortData();
            scanPorts.Ip = "85.183.54.25";
            scanPorts.From = 1;
            scanPorts.To = 1024;
            propertyGrid1.SelectedObject = scanPorts;

            scanIps = new ScanIpData();
            scanIps.Start = "85.183.54.0";
            scanIps.Stop = "85.183.54.50";
            scanIps.Port = 80;
            propertyGrid2.SelectedObject = scanIps;

            prefs = new PrefsData();
            prefs.Timeout = 5000;
            prefs.Check401 = true;
            prefs.AutoBrowse = true;
            prefs.Browser = "firefox";
            propertyGrid3.SelectedObject = prefs;
            prefs.DoLog = true;

            unpickle();
        }
Example #2
0
File: Form1.cs Project: berak/cs
        private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
        {
            scanIps = (ScanIpData)propertyGrid2.SelectedObject;
            string start = scanIps.Start;
            string stop = scanIps.Stop;
            int port = scanIps.Port;
            prefs = (PrefsData)propertyGrid3.SelectedObject;
            int timeout = prefs.Timeout;
            if (prefs.DoLog)
            {
                try
                {
                    logFile = new System.IO.StreamWriter("pscan_"+start+"_"+stop+".html");
                }
                catch (Exception) { }
            }

            PortScanner[] scanner = new PortScanner[16];
            ManualResetEvent[] reset = new ManualResetEvent[16];
            for (int i = 0; i < 16; i++)
            {
                scanner[i] = new PortScanner("", 0);
                scanner[i].timeout = timeout;
            }

            MethodInvoker ScanStart = delegate
            {
                scannedHosts.Items.Clear();
                progressBar2.Maximum = toInt(stop) - toInt(start);
                progressBar2.Value = 0;
            };
            Invoke(ScanStart);

            while (startIpScan.Text == "Stop")
            {
                for (int i = 0; i < 16; i++)
                {
                    start = incIp(start);
                    scanner[i].SERVER = start;
                    scanner[i].PORT = port;
                    scanner[i].ping1 = ping1;
                    reset[i] = new ManualResetEvent(false);
                    ThreadPool.QueueUserWorkItem(scanner[i].Run, reset[i]);
                }
                WaitHandle.WaitAll(reset, 5000);
                MethodInvoker ScanUpdate = delegate
                {
                    for (int i = 0; i < 16; i++)
                    {
                        if (scanner[i].result > 0)
                        {
                            scannedHosts.Items.Add(scanner[i].SERVER);
                            if (prefs.autoBrowse)
                            {
                                browse(scanner[i].SERVER, port);
                            }
                            if (logFile != null)
                            {
                                logFile.WriteLine("<a href=\"http://"+scanner[i].SERVER+"\">"+scanner[i].SERVER+"</a><br>\n");
                                logFile.Flush();
                            }
                        }
                        progressBar2.Increment(1);
                    };
                    scanIps.Start = start;
                    propertyGrid2.SelectedObject = scanIps;
                };
                Invoke(ScanUpdate);
                if (toInt(start) >= toInt(stop))
                    break;
            }
            if (logFile != null)
            {
                logFile.Close();
            }
            startIpScan.Text = "Start";
        }