当前位置:编程学习 > VB >>

FindServer.vbs的ASP版本

作者:Kevin1986  来源:http://hididi.net/public/Kevin/

不知道还有多少人晓得FindServer.vbs....想想当前那个烂脚本给ZZZEVAZZZ批了个.....我汗.不说了.
默认情况下Users用户没有执行Cscript的权限,所以今天渗透的时候顺便写了一下这个ASP版本.....凑活用吧......注意主机必须有WSH 5.6以上的版本...而且支持WSH和ICMP.本探测主机也需要支持ICMP......仅此而已....
OK....下面是代码
程序代码:
<Html>
<Head>
<Title>Naruto! FindServer</title>
</Head>
</Body>
<!--Codz By kEvin1986-->
<!--版权所有~-->
<!--Copyright (c) 2002-2005 kEvin1986-->

<font size=2>
<%
Timeout=300 你可以设置脚本超时时间来延长程序的执行延时.
Server.ScriptTimeOut = Timeout
Response.Write "当前脚本超时时间为"&Timeout/60&"分钟<Br>"&vbcrlf
On Error Resume Next 容错处理
Dim Wsh
Set Wsh=Server.CreateObject("Wscript.Shell") 创建WSH运行对象
LocalIP=Request.ServerVariables("LOCAL_ADDR") 获取本机IP
LocalNet=Replace(LocalIP,Split(LocalIP,".")(3),"") 获取本机所在网段
Response.Write "当前IP:"&LocalIP&"<Br>"&vbcrlf&"当前网段:"&LocalNet&"*<Br>"&vbcrlf&"<Hr>"&vbcrlf&"相同交换机下的主机:"&vbcrlf

开始执行探测模块
sStart=Request("Start")
sEnd=Request("End")
If NOT sStart="" or sEnd="" Then
    For i=sStart to sEnd
        sResult=Wsh.exec("ping.exe "&LocalNet&i&" -l 1 -n 1").StdOut.Readall 运行并取得结果
        If Instr(sResult,"TTL=128") Then 分析结果
            Response.Write "<li>"&LocalNet&i&"<Br>"&vbcrlf 输出结果
            count=count+1 统计所有机器
        End If
    Next
        If Count=0 Then
            Response.Write "<Br><li>从 "&LocalNet&sStart&" 到 "&LocalNet&sEnd&" 没有与本机在同一交换机下的机器<Br>"&vbcrlf
        Else
            Response.Write "<li>一共有"&Count&"台主机与本机在同一交换机下<Br>"&vbcrlf
        End If
End If
Set Wsh=Nothing 释放Wsh
探测结束
%>
<Hr><Form method="POST">
从 <%=LocalNet%><Input Name=Start type=text size=1>  探测到  <%=LocalNet%><Input Name=End type=text size=1>
<input type=submit value=开始探测>
</form>
</font>
</body>
</Html> 

补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,