首页 > 编程 > VBScript > 正文

vbs 搜索代理地址实现代码[小偷程序]

2020-06-26 18:22:29
字体:
来源:转载
供稿:网友
将下面的代码,直接保存为getproxy.vbs即可。
 

 

复制代码代码如下:

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码 
function getHTTPPage(url) 
dim Http 
set Http=CreateObject("MSXML2.XMLHTTP") 
Http.open "GET",url,false 
Http.send() 
if Http.readystate<>4 then 
exit function 
end if 
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") 
set http=nothing 
if err.number<>0 then err.Clear 
end function 

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换 
Function BytesToBstr(body,Cset) 
dim objstream 
set objstream =CreateObject("adodb.stream") 
objstream.Type = 1 
objstream.Mode = 3 
objstream.Open 
objstream.Write body 
objstream.Position = 0 
objstream.Type = 2 
objstream.Charset = Cset 
BytesToBstr = objstream.ReadText 
objstream.Close 
set objstream = nothing 
End Function 

'下面试着调用http://www.proxycn.com/html_proxy/30fastproxy-1.html的html内容 
Dim Url,Html,Temp 
Url="http://www.proxycn.com/html_proxy/30fastproxy-1.html" 
Html = getHTTPPage(Url) 
Call getinfo(html) 

Sub Getinfo(S) 
Dim pl(),m,St 
St="</TD><TD class=" & """list""" & ">" 
Do 
m = m + 1 
n = P + Len(St) 
P = InStr(n,S,St) 
ReDim Preserve pl(m-1) 
pl(m-1) = P 
loop While P <> 0 

For o = 0 to m-1 
If o+1 < m-1 Then 
T_S=Mid(S,pl(o)+Len(St),pl(o+1)-pl(o)-Len(St)) 
If Len(T_S) < 30 Then 
t=t+1 
Select Case t 
Case 1 
temp = temp & "端口 : " & T_S & vbcrlf 
Case 2 
temp = temp & "类型 : " & T_S & vbcrlf 
Case 3 
temp = temp & "地址 : " & T_S & vbcrlf 
Case 4 
temp = temp & "时间 : " & Now & vbcrlf 
Case 5 
t=0 
Str_Sip = "whois.php?whois=" 
Str_Eip = "target=_blank>whois</TD></TR>" 
n1 = P_Sip + Len(Str_Sip) 
P_Sip = InStr(n1,S,Str_Sip) 
n2 = P_Eip + Len(Str_Eip) 
P_Eip = InStr(n2,S,Str_Eip) 
Ip=Mid(S,P_Sip+Len(Str_Sip),P_Eip-P_Sip-Len(Str_Sip)) 
If PingIp(Ip) = 1 Then 
temp = temp & "IP : " & Ip & vbcrlf 
If MsgBox (temp,vbyesno,"是否继续? " )=vbno Then 
WScript.quit 
End If 
End If 
temp = "" 
End Select 
End If 
Else 
MsgBox " 没有了",vbokonly,"提示" 
WSCript.quit 
End If 
Next 
End Sub 

Function PingIp(host) 
On Error Resume Next 
strComputer = "." 
strTarget = host 
Set objWMIService = GetObject("winmgmts:" _ 
& "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2") 
Set colPings = objWMIService.ExecQuery _ 
("Select * From Win32_PingStatus where Address = '" & strTarget & "'") 
If Err = 0 Then 
Err.Clear 
For Each objPing in colPings 
If Err = 0 Then 
Err.Clear 
If objPing.StatusCode = 0 Then 
PingIp = 1 
temp = temp & "速度 : " & objPing.ResponseTime & " 毫秒" & vbcrlf 
'MsgBox strTarget & " responded to ping." & vbcrlf &_ 
'"Responding Address: " & objPing.ProtocolAddress & vbcrlf &_ 
'"Responding Name: " & objPing.ProtocolAddressResolved & vbcrlf &_ 
'"Bytes Sent: " & objPing.BufferSize & vbcrlf &_ 
'"Time: " & objPing.ResponseTime & " ms" & vbcrlf &_ 
'"TTL: " & objPing.ResponseTimeToLive & " seconds" 
Else 
PingIp = 0 
'MsgBox strTarget & " did not respond to ping." &_ 
'"Status Code: " & objPing.StatusCode 
End If 
Else 
Err.Clear 
PingIP = 0 
'MsgBox "Unable to call Win32_PingStatus on " & strComputer & "." 
End If 
Next 
Else 
Err.Clear 
PingIp = 0 
'MsgBox "Unable to call Win32_PingStatus on " & strComputer & "." 
End If 
End Function

 

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表