VİSUAL BASİC – LOCAL PORT SCANNER

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
White is destined to be dirty Black is to blame
Seçkin Üye
Katılım
12 Ocak 2016
Mesajlar
395
Çözümler
10
Tepki puanı
17
Ödüller
7
10 HİZMET YILI
[font='Droid Sans', Arial, Tahoma]Ne Yapılabilir?[/FONT]
[font='Droid Sans', Arial, Tahoma]– Açık portlarınızı tarayabilir Kapatabilirsiniz.[/FONT]
[font='Droid Sans', Arial, Tahoma]-Ayrıca açtıgınız Portun açık olup olmadıgını denetleyebilirsiniz.[/FONT]
[font='Droid Sans', Arial, Tahoma]winsock la bişeyler yapmak isteyenler için
bu arada winsock kodda ws diye geçiyor  [/FONT]



Kod:
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
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...