1.txt

来自「能够开通多线程进行端口扫描,这是进行网络监测及攻击的第一步。」· 文本 代码 · 共 51 行

TXT
51
字号
Option Explicit
Dim lngNextPort As Long       '定义全局变量
    Private Sub cmdClearList_Click()    '清除开放端口的列表按钮
     Me.lstOpenPorts.Clear  '将列框清空
    End Sub
    Private Sub cmdScan_Click()    '开始扫描按钮
     Dim i As Integer
     lngNextPort = Val(Me.txtLowerBound)    '起始端口
     For i = 1 To Val(Me.txtMaxConnections)
     Load Me.wskSocket(i)                   '动态创建多个Winsock控件,开启多线程
     lngNextPort = lngNextPort + 1
     Me.wskSocket(i).Connect Me.txtIP, lngNextPort  '连接指定IP和端口
     Next i
     
    End Sub
    Private Sub cmdStop_Click()            '停止按钮
     Dim intI As Integer
     For intI = 1 To Val(Me.txtMaxConnections)
     Me.wskSocket(intI).Close
     Unload Me.wskSocket(intI)                  '关闭及卸载winsock
     Next intI
    End Sub

    Private Sub timTimer_Timer()
     Me.sbMain.Panels(1).Text = "Current Port: " + Str(lngNextPort)
    End Sub
    
    
    Private Sub Try_Next_Port(Index As Integer)
     Me.wskSocket(Index).Close
     If lngNextPort < Val(Me.txtUpperBound) Then
     Me.wskSocket(Index).Connect , lngNextPort  '连接端口
     lngNextPort = lngNextPort + 1
     Else
     Unload Me.wskSocket(Index)
     End If
    End Sub

Private Sub wskSocket_Connect(Index As Integer)

    Me.lstOpenPorts.AddItem "port:" + Str(Me.wskSocket(Index).RemotePort) '将扫描到的端口加入列表框
    Try_Next_Port (Index)
     
End Sub

Private Sub wskSocket_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    
    Try_Next_Port (Index)

End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?