Visual Basic – Local port scanner
merhaba programlama takipcileri size Oldukca basit ama oldukça kolay program hazırlayacaz
Ne Yapılabilir?
– Açık portlarınızı tarayabilir Kapatabilirsiniz.
-Ayrıca açtıgınız Portun açık olup olmadıgını denetleyebilirsiniz.
winsock la bişeyler yapmak isteyenler için
bu arada winsock kodda ws diye geçiyor 😉
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