[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [已解决]请问如何实现通过网页查询IP提取所在的IP段?

本帖最后由 super1129 于 2011-9-29 08:39 编辑

请问大家:
我有一个1.txt文本,里面是IP列表:
134.148.132.225
193.188.135.22
………………

我想通过调用浏览器查询所在IP段,如下所示:
http://whois.cooleasy.com/134.148.132.225
网页会出来NetRange: 134.148.0.0 - 134.148.255.255
提取134.148.0.0 - 134.148.255.255 保存即可。


该如何编程呢? (包含从txt导入,并导出至txt) O(∩_∩)O谢谢

据说curl, wget, VBS都能解决,这三者效率相比如何?哪个更好?

如果IP列表比较大的话,是不是受网络的影响?

http://www.bathome.net/thread-5867-1-1.html 中说
因数百个链接的页面用浏览器打开太慢,从而想到用 wget 下载页面到时本地再从文本中提取出链接地址

是不是可以借鉴?
可惜偶没看懂,请大家帮忙啊!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

另存为.vbs,代码懒得优化了
  1. Dim FSO, IpList
  2. Set FSO = CreateObject("Scripting.FileSystemObject")
  3. IpList = Split(FSO.OpenTextFile("1.txt").ReadAll(), vbCrLf)
  4. For Each str In IpList
  5.   If str <> vbNullString Then
  6.     GetWeb "http://whois.cooleasy.com/" & str
  7.     GetTxt
  8.   End If
  9. Next
  10. FSO.DeleteFile "temp.txt"
  11. Set FSO = Nothing
  12. CreateObject("Wscript.Shell").Run "IpList.txt"
  13. Function GetWeb(Url)
  14.   Dim XMLHTTP, STREAM
  15.   Set XMLHTTP = CreateObject("MsXml2.XmlHttp")
  16.   XMLHTTP.open "Get", Url, False
  17.   XMLHTTP.send()
  18.   Do Until XMLHTTP.readyState = 4 : WScript.Sleep 200 : Loop
  19.   Set STREAM = CreateObject("Adodb.Stream")
  20.   STREAM.Mode = 3
  21.   STREAM.Type = 1
  22.   STREAM.Open()
  23.   STREAM.Write(XMLHTTP.responseBody)
  24.   STREAM.SaveToFile "temp.txt", 2
  25.   STREAM.Close
  26.   Set STREAM = Nothing
  27.   XMLHTTP.abort
  28.   Set XMLHTTP = Nothing
  29. End Function
  30. Function GetTxt
  31.   Dim vbStr, Arr
  32.   vbStr = Replace(FSO.OpenTextFile("temp.txt").ReadAll(), vbLf, vbCrLf)
  33.   Arr = Split(vbStr, vbCrLf)
  34.   For Each str In Arr
  35.     If InStr(str, "NetRange:") Then FSO.OpenTextFile("IpList.txt", 8, True).Write Left(GetUrl(str), Len(GetUrl(str))-8) & vbCrLf
  36.   Next
  37. End Function
  38. Function GetUrl(Str)
  39.   Dim RegEx
  40.   Set RegEx = New RegExp
  41.   RegEx.Global = True
  42.   RegEx.IgnoreCase = True
  43.   RegEx.Pattern = ".*?>([^<>]+)<.*?"
  44.   GetUrl = RegEx.Replace(Str, "$1")
  45. End Function
复制代码
2

评分人数

一路飘过的鸟~~~

TOP

回复 2# ArdentMan


非常感谢!
    请问下保存后,小红伞提示有病毒 [DETECTION] Contains recognition pattern of the HTML/ADODB.Exploit.Gen HTML script virus

请问是正常的吗?

TOP

回复 3# super1129
你也看得出上面的VBS代码是不可能存在病毒和木马行为滴~~~
一路飘过的鸟~~~

TOP

  1. curl -s http://whois.cooleasy.com/134.148.132.225|sed -n "/NetRange/ {s/\(<[^>]*>\)//g;p}"
复制代码
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

回复 4# ArdentMan


    应该是误报,O(∩_∩)O谢谢

TOP

返回列表