Merhabalar bu içeriğimiz de sizler için çok güzel bir uygulama sunacağız. Visual Basic de local port scanner ayarları yapacağız. Aklınıza direkt Visual Basic ile Local Port Scanner Ayarları nasıl yapılır? Ne işe yarar? Winsock nedir? Winsock kodlama da ne işe yarar? Gibi sorular gelebilir. Bu içeriğimiz o sorularınıza cevap olacaktır emin olabilirsiniz.
![]() |
| Visual Studio Görseli |
Visual Basic ile Local Port Scanner Ayarları Ne İşe Yarar
Visual Basic ile Local Port Scanner Ayarları ile bilgisayarınız da bulunan açık portları tarayabilir veya kapatabilirsiniz. Bunun yanı sıra açmış olduğunuz portun açık bir vaziyette çalışıp çalışmadığını denetleyebilirsiniz. Winsock kod komutunu öğrenmek ve onunla bir şeyler yapmak isteyenlere de süprizimiz var. Kod metnimiz içerisinde Winsock kod komutu ile yapabileceğiniz alan bulunmaktadır. Unutulmaması gerekir ki Winsock kod komutu kod metinin de ws diye geçmektedir. Detaylı kod alanı anlatımımız yerine adım adım ilerlemeniz için yönlendirmelerimizi kod metni içinde yaptık. Bu saye de kodları kopyala yapıştır yapmaktan kurtulacaksınız. Bu da size deneyim kazandıracaktır. Sizler de durmayın ve bu zevkli uygulamayı hemen deneyin.
Kod Alanı
Dim start As Boolean
Private Sub cmdBasla_Click()
mnuDosya.Enabled = False ' popup menüyü disable ettim
mnuYardim.Enabled = False ' buda diğer popup menu
cmdBasla.Enabled = False ' basla butonunu disable ediyorum
cmdDur.Enabled = True ' dur butonu enable ediyorum..
txtBaslangic.Enabled = False ' text boxları disable ediyorum
txtBitis.Enabled = False ' bunuda tabi ;)
hafizatemizle ' değişkenleri hafızadan siliyorum yoksa kaldığı yerden
' devam eder ;)
WS.Close ' winsock 'u kapatıyorum ..
bport = txtBaslangic.Text ' bport değişkenine txtbaslangıç' ın değerini atıyorum ...(bport başlangıç portu)
sport = txtBitis.Text ' sportada txtbitis'in değerini atıyorum.(sport son port bitiş yani ;) )
start = True ' start= true yapıyorum..bunu programı durdururken kullanacağım
On Error GoTo hata ' hata olursa hata label'ına göderiyorum ....
' burada olacak hata portları tararken
' portun kullanımda olduğu hatası... zaten yakalamak
' istediğimiz olay budur..
For i = bport To sport ' baslangiç portu bitis portu olana kadar
' dönecek döngü kuruyoruz
bport = bport + 1 ' her seferinde portu bir artırıoruz . . .
Bar.Panels(1).Text = bport & ". port taranıyor..." ' status barda hangi portta olduğumuzu görebilmek için
DoEvents ' işin en önemli yeri yavaşlatıyor ama programın kilitlenmeden çalışmasını sağlıyor..
' statusbarda sırasıyla portlar bu sayede görülebiliyor...
' bir kısım işlemleri windows a yaptırıyor...
WS.LocalPort = bport ' winsock local porta bport atanıyor ..sırasıyla dönecek ...
WS.Listen ' bu port dinleniyor
DoEvents ' olmassa olmaz ;) yavaş ama olsun
If start = False Then Exit Sub ' yukarıda çıkış için kullanacağımız start bu..false ise çık yani :)
If bport >= sport Then GoTo bitti 'basladığımız port bitecek porta gelince bitti labeline git
WS.Close ' winsock close ...her seferinde başka bir porta bakacağımız için
' her dinlemeden sonra close etmeliyiz
Next i ' dönelim ;))
hata: 'hata olursa buraya geliyor
If Err.Number = 10048 Then 'hata eğer 10048 ise
lstSonuc.AddItem "-" & bport & " numarılı port kullanılıyor . . ;)" ' listeye port numarasını yaz
Beep ' bip le
Resume Next ' sonrada devam etki başka hangi port war görelim
End If 'end if
bitti: 'biitiyse
MsgBox "Portlarınızın tarama işlemi sonuçlandı ..." ' msg box çıkarıyor ....
mnuDosya.Enabled = True 'dur a basınca baslata basınca
mnuYardim.Enabled = True 'enable ve disable olan şeyler
cmdBasla.Enabled = True ' tam tersi oluyor
cmdDur.Enabled = False
cmdTemizle.Enabled = True
txtBaslangic.Enabled = True
txtBitis.Enabled = True
start = False 'burası durdurma değişkeni false yapıp döngüden çıkarıyoruz..
hafizatemizle
WS.Close
Bar.Panels(1).Text = "Programmed By Mafilard"
End Sub
Private Sub hafizatemizle()
On Error Resume Next
bport = "" 'bport ve sport değişkenlerini her seferinde boşaltıyorum
sport = "" 'böylece başlata ve dur a bastığımızda tekrar tazelenmiş oluyor
' belki gereksiz ama iki satır eksik kod yazacağım diye
'runtime da oluşan salak bir hatayla uzun uzun uğraştırıyo
'bu tür şeyler..o yüzden siz yazmassanız yazmayın ;)
End Sub
Private Sub cmdDur_Click()
cmdDur.Enabled = False
mnuDosya.Enabled = True 'dur a basınca baslata basınca
mnuYardim.Enabled = True 'enable ve disable olan şeyler
cmdBasla.Enabled = True ' tam tersi oluyor
cmdTemizle.Enabled = True
txtBaslangic.Enabled = True
txtBitis.Enabled = True
start = False 'burası durdurma değişkeni false yapıp döngüden çıkarıyoruz..
hafizatemizle
WS.Close
End Sub
Private Sub cmdTemizle_Click()
lstSonuc.Clear ' lisbox'ı temizliyoruz
cmdTemizle.Enabled = False
End Sub
Private Sub Form_Load()
cmdTemizle.Enabled = False
End Sub
Private Sub mnuitemCikis_Click()
start = False
WS.Close
hafizatemizle
End
End Sub
