【发布时间】:2011-08-03 22:04:24
【问题描述】:
我喜欢这个网站,它帮助我解决了其他人的问题,现在我加入了,所以如果可以的话,我可以互相帮助。
我有一个问题。 在 VM 中运行meterpreter(来自 metasploit 套件)时,我尝试了一个脚本,该脚本中继受感染机器中的所有端口并在本地机器中创建虚拟接口。但我得到了错误
Undefined method: each.
去代码的时候:
def discovery()
ip_port = []
# Alive hosts discovery
temphosts = []
hosts = []
## oldstdout = $stdout ## Trick for capturing stdout
$stdout = StringIO.new
client.run_cmd('run landiscovery')
temphosts = $stdout.string
$stdout = oldstdout
print_status "Alive Hosts:"
temphosts.each do |x|
if x.match(/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/)
y = x.chomp
hosts << y
print " - #{y}\n"
end
end
end
我认为这与我用## 包围的线有某种关系。它必须是nil,所以temphosts 也是nil,我得到了每个错误。
有人能指点我一个好的方向吗?
非常感谢。
PS:如果有人感兴趣,脚本在这里:http://tools.pentester.es/multirelay
再次感谢!
【问题讨论】:
标签: ruby metasploit