|
Teknoloji 08.05.2003 İbrahim Gündüz - netyorum.com / Sayı: 132
VISUAL BASIC İLE UZAK SİSTEMLERİN AÇIK PORTLARINI TARAYIN!...
Merhaba,
Bildiğiniz gibi Trojan tarzındaki virüs içerikli yazılımlar Client Server
ilişkisi içerisinde çalışır. Server tarafındaki yazılım bulunduğu sistemde
dışarı ile iletişim için bir bağlantı noktası açar ve Client tarafındaki yazılım
bu sisteme, açılan bağlantı noktasından bağlanır. Aşağıda kodlarını verdiğim
yazılım, yerel veya uzak sistemdeki açık olan portları taramak amacı ile
kullanılır.
İşlem basamakları
* Microsoft Visual Basic çalıştırılır.
* Standart Exe türünde bir proje oluşturulur.
* Project menüsünden Components çalıştırılır.
* Components listesinden Microsoft Windows Common Controls 6.0 ve
Microsoft Winsock Control 6.0 öğeleri işaretlenir.
* Proje Formu üzerine bir adet Winsock nesnesi, bir adet Listview
nesnesi, 2 adet CommandButon nesnesi ve 1 adet TextBox nesnesi aşağıdaki biçimde
yerleştirilir.
Aşağıdaki kodları olduğu gibi kod editörüne yapıştırın.
Dim Dur As Integer
Private Sub Command1_Click()
Dim Port As Integer
Dim Liste As ListItem
Dim Ret
Dur = 0
Command1.Enabled = False
Command2.Enabled = True
Text1.Enabled = False
Port = 1
ListView1.ListItems.Clear
Do
DoEvents
Winsock1.Close
Winsock1.Connect Text1, Port
Me.Caption = "Taranan port=[" & Port & "]"
While Winsock1.State = 6
Ret = DoEvents()
Wend
If Winsock1.State = 7 Then
Set Liste = ListView1.ListItems.Add(, , Winsock1.RemoteHostIP)
Liste.SubItems(1) = Port
End If
Winsock1.Close
Port = Port + 1
If Dur = 1 Then Exit Do
Loop Until Port = 65535
Me.Caption = "Bağlantı noktası tarama aracı"
Command1.Enabled = True
Command2.Enabled = False
Text1.Enabled = True
End Sub
Private Sub Command2_Click()
Dur = 1
End Sub
Private Sub Form_Load()
MakeForm
End Sub
Private Sub MakeForm()
Dur = 0
ListView1.View = lvwReport
ListView1.LabelEdit = lvwManual
ListView1.FullRowSelect = True
With ListView1.ColumnHeaders
.Add 1, , "IP Adresi"
.Add 2, , "Bağlantı noktası"
End With
Command1.Caption = "&Başlat"
Command2.Caption = "&Durdur"
Command1.Enabled = False
Command2.Enabled = False
Me.Caption = "Bağlantı noktası tarama aracı"
End Sub
Private Sub Text1_Change()
If Trim(Text1) <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub |
Yukarıda kullanmış olduğumuz kodlama yöntemi, diğer port tarama sistemlerine
göre daha yavaş çalışmasına rağmen, daha güvenli ve kesin çözüm veren bir
yöntemdir.
İbrahim Gündüz
e-posta:
gunduzonline@celiknet.com
GündüzOnline
Yazılım Tasarım Grubu
|