C# PortScanner

Started by Dkid, 30 de March , 2008, 07:45:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dkid

Boas, venho aqui disponibilizar o meu primeiro programa ligado (de certa forma) à rede

É um port-scanner, um pouco lento, admito, mas ainda não pesquisei a fundo sobre "half-open scanning" (talvez numa segunda versão do programa)

vou então deixar aqui o código disponível para vocês, não está comentado, mas está a funcionar !

Antes uma imagem





using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;


namespace PortScanner
{
    public partial class PScan : Form
    {
        public PScan()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
       
        private void button1_Click(object sender, EventArgs e)
        {
            int Start = Convert.ToInt32(txtBg.Text);
            int EndP = Convert.ToInt32(txtEnd.Text);

            progressbar.Value = 0;
            progressbar.Maximum = EndP - Start + 1;


            LOG1.ScrollBars = ScrollBars.Vertical;
            LOG2.ScrollBars = ScrollBars.Vertical;

            for (int CPort = Start; CPort <= EndP; CPort++)
            {
                TcpClient TcpScan = new TcpClient();

                try
                {
                    // tenta a ligacao
                    TcpScan.Connect(IPBox.Text, CPort);

                    // senao houver excepcao, a porta poderá estar aberta
                    LOG1.ForeColor = Color.Red;
                    LOG1.AppendText(CPort + "\r\n") ;
                   

                }

                catch
                {
                    LOG2.ForeColor = Color.Blue;
                    LOG2.AppendText(CPort + "\r\n");

                }
                progressbar.PerformStep();
            }
        }

        private void Clean_Click(object sender, EventArgs e)
        {
            LOG1.Text = "";
            LOG2.Text = "";
        }



    }
    }

Codado em Visual C# 2005, para quem nao tiver o compilador eu irei disponibilizar o executavel... e a pasta com os ficheiros....


Dkid
: 30 Março 2008, 19:24:08Para completar deixo aqui o link com os ficheiros e o executável

http://www.badongo.com/file/8549659

Dkid