Merhaba Arkadaşlar vb.net 2005 ile port tarayıcı ufak bir program yazıcaz.
Bu programın amacı bilgisayarımızdaki açık ve kapalı olan portlarımızın numaraları ile birlikte listesini görmemize yarar. Açık portlar bulunduğunda listbox2 ye atılır bu port numaraları. Açık olan ve olmayan portların listesi listbox1’de tutulur.
Bu açıklamamızın ardından şimdi programımız yazmaya geçelim arkadaşlar.
1 tane Windows uygulaması açalım.form’umuzun dizaynını aşağıdaki gibi yapalım;

form içindekiler 2 adet textbox,2 adet buton,2 adet listbox ve bir tanede label ve bir adet’te timer nesnemizi atalım.
Globalde tanımlayacağımız değişkenleri tanımlıyoruz ilk önce;
Dim host As String
Dim port As Integer
Dim counter As Integer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
counter = counter + 1 ‘sayacı bir arttırıyoruz timer için
TextBox2.Text = counter
host = TextBox1.Text
port = TextBox2.Text
'alttaki kod bloğunda ipadresi eklemek için değişken tanımlıyoruz.
Dim hostadd As System.Net.IPAddress = System.Net.Dns.GetHostEntry(host).AddressList(0)
'port başlangıç ve bitişini ayarlamak için değişkeni ekliyoruz. burada ip adresinide belirtiyoruz hangi ip'de portları tarayacak
Dim EPhost As New System.Net.IPEndPoint(hostadd, port)
'bu bölümde ise tcp Protokol tipinden bir socket oluşturuyoruz.
Dim s As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, _
System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
Try
'oluşturduğumuz socket'i başlatıyoruz.
s.Connect(EPhost)
Catch
End Try
'eğer socket bağlantısı başarısızsa kapalı portları listbox1'e ekliyoruz port numarası ve yanında açıkmı kapalımı olduğunu belirtiyoruz.
If Not s.Connected Then
ListBox1.Items.Add("Port " + port.ToString + " is not open")
Else
'eğer socket bağlantısı başarılı ise portları yine listbox1'e atıyoruz. yanınada port numarası ve açık ibaresi belirtiyoruz.Aynı zamanda açık olan portları listbox2'ye atıyoruz.
ListBox1.Items.Add("Port " + port.ToString + " is open")
ListBox2.Items.Add(port.ToString)
End If
'bu bölümdede listbox2'deki açık portların sayısını label3'e yazdırıyoruz.
Label3.Text = "Open Ports: " + ListBox2.Items.Count.ToString
End Sub
'Kodun diğer kısmı timerı ve aktif/pasif butonlarını oluşturur.Ve listbox1'e taradığımız ipdeki portları text olarak ekler.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Add("Taranıyor: " + TextBox1.Text)
ListBox1.Items.Add("-------------------")
Button2.Enabled = True
Button1.Enabled = False
Timer1.Enabled = True
Timer1.Start()
End Sub
'buton2 click'te durduruyoruz port taramasını.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Stop()
Timer1.Enabled = False
Button1.Enabled = True
Button2.Enabled = False
End Sub
'Kodun diğer kısmı timerı ve aktif/pasif butonlarını oluşturur.Ve listbox1'e taradığımız ipdeki portları text olarak ekler.
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Button2.Enabled = False
TextBox2.Text = "0"
counter = 0
End Sub
Programımızı çalıştırıyoruz.

Böylelikle programımızı bitirmiş oluyoruz yeni makalemizde görüşmek dileğiyle
Mail Adresim: mustafasaygi@yahoo.com
Tüm soru ve önerilerinizi mail adresime gönderebilirsiniz.
Mustafa Saygı