15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


     Этот пример демонтстрирует, как можно определить на Вашем компьютере открытые порты, путём их сканирования. В ЛистБоксе не могут поместитьсяcan все 65535 портов, поэтому Вам необходимо указать диапазон портов. Чтобы узнать Ваш IP-адресс используйте winip.cfg. Так же Вам потребуется winsock control

Private Sub Command1_Click()
  On Error Resume Next 
  Dim i As Long
  For i = txtport1 To txtport2 Step 1 ' устанавливаем счётчик в начальную и конечную позицию.
  Winsock1.Connect txtip, i ' соединяем его с IP-адресом и портом 
  If Winsock1.State <> sckConnected Then 'если не соединяется - значит сокет закрыт. 
    List1.AddItem i & " - closed" 
  End If 

  If Winsock1.State = sckConnected Then 'если приконнектились - значит порт открыт. 
    List1.AddItem i & " - OPEN" 
    MsgBox "Open port!", vbCritical, "Port Scanner"
  End If 
  Next i 
End Sub 

Private Sub Form_Load() 
   txtport1.Text = 1 'устанавливает значение порта поумолчанию.
   txtport2.Text = 65535
   Winsock1.Protocol = sckTCPProtocol 'устанавливаем протокол
End Sub 

Private Sub Form_Unload(Cancel As Integer) 
   Set form1 = Nothing 'очищаем память 
End Sub