portscan

时间:2024-12-10 06:58:45编辑:奇事君

如何用vb做一个IP扫描工具

一. 内网的Ip可以根据winsock的LocalIP属性查看 例如dim a as string a = winsock1.localIp 二. 外网的IP可以根据网页查询..利用一个Innet空件打开 www.ip138.com 然后截取一下就可以了 例如:Private Sub Command1_Click() a = Inet1.OpenURL(" www.ip38.com ") '打开这个网页,获取源码 b = InStr(a, "您的本机IP地址:") '获取这个字符出现的位置 c = InStr(a, " ") '截取这个字符出现的位置 d = Mid(a, b + 9, c - b - 10) '截取这两个字符间的字符,就是IP了 MsgBox d, vbInformation, "你当前的外网IP" End Sub 三.至于显示所有开放的端口..我真的不会 祝楼主好运!


怎样用VB编一个扫描网络端口的程序

源码已经给你发送! 希望对你有帮助。我邮 箱 shwgij @ shwgij .co m
那给你个启示“
这是一个简单的“端口扫描的程序”的源代码

一. 控件说明:

窗 口: frmScan

** frmScan 中的控件 **
* TextBox :
txtIP (对方的IP)
txtLowerBound (起始端口)
txtUpperBound (结束端口)
txtMaxConnections (最多使用的连接数量)
lstOpenPorts (列出开放的端口)
* CommandButton :
cmdScan (开始扫描)
cmdStop (结束扫描)
cmdClearList (清除开放端口的列表)
* Winsock:
wskSocket (TCP协议)
* Timer:
timTimer (超时设置)
**********************

二. 程序源代码:
=========================================

Option Explicit
Dim lngNextPort As Long

Private Sub cmdClearList_Click()
Me.lstOpenPorts.Clear
End Sub

Private Sub cmdScan_Click()
Dim intI As Integer
lngNextPort = Val(Me.txtLowerBound)
For intI = 1 To Val(Me.txtMaxConnections)
Load Me.wskSocket(intI)
lngNextPort = lngNextPort + 1
Me.wskSocket(intI).Connect Me.txtIP, lngNextPort
Next intI
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)
Next intI
End Sub

Private Sub timTimer_Timer()
Me.sbMain.Panels(1).Text = "Current Port: " + Str(lngNextPort)
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

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


上一篇:会计年终总结

下一篇:没有了