😊😊😊测试标签文章希望对您有点帮助😊😊😊
' 局域网主机扫描脚本;
' 详细介绍: https://blog.youkuaiyun.com/milaoshu1020/article/details/116144981
' 20210425 1.0 初始版本,实现了扫描局域网的服务器;
Public Module ScanHost
Public Sub Main(args() As String)
Dim startip As String
Dim endip As string
If args.length = 3 Then
startip = args(1)
endip = args(2)
Else
console.write("请输入起始IP(如192.168.3.0): ")
startip = console.readline()
console.write("请输入终止IP(如192.168.3.255):")
endip = console.readline()
End If
Dim http = createobject("winhttp.winhttprequest.5.1")
For i As Long = iptonum(startip) To iptonum(endip)
Dim s = numtoip(i)
Dim t = "[" & now & "] "
http.open("get","http://" & s,False)
On Error Resume Next
Err.clear()
http.send()
If Err.number = 0 Then
console.writeline(t & s & " -> " & http.status & ": " & http.statustext)
Else
console.write(t & s & " -> " & Err.number & ": " & Err.description)
End If
http.close()
On Error GoTo 0
Next
console.writeline("done!")
console.readkey()
End Sub
Function IpToNum(ByVal ip As String) As Long
Dim arr() As String
arr = Split(ip,".")
ret = CLng(arr(0))
ret = ret * 2^8 + CLng(arr(1))
ret = ret * 2^8 + CLng(arr(2))
ret = ret * 2^8 + CLng(arr(3))
Return ret
End Function
Function NumToIp(ByVal num As Long) As String
Dim arr(3) As String
arr(3) = (num \ 2^0) Mod 2^8
arr(2) = (num \ 2^8) Mod 2^8
arr(1) = (num \ 2^16) Mod 2^8
arr(0) = (num \ 2^24) Mod 2^8
Return Join(arr,".")
End Function
End Module