我使用this guide from fedora在我的Fedora 19上安装了metasploit。完成所有步骤后,我运行 msfconsole 并收到以下错误:
/usr/local/share/ruby/site_ruby/rubygems/specification.rb:1888:in 'method_missing': undefined local variable or method 'ext_dir' for #<Gem::Specification:0xecbd78 json-1.8.0> (NameError)
from /usr/share/gems/gems/bundler-1.3.1/lib/bundler/rubygems_ext.rb:42:in 'load_paths'
from /usr/share/gems/gems/bundler-1.3.1/lib/bundler/runtime.rb:37:in 'block in setup'
from /usr/share/gems/gems/bundler-1.3.1/lib/bundler/runtime.rb:19:in .setup'
from /usr/share/gems/gems/bundler-1.3.1/lib/bundler.rb:120:in 'setup'
from /usr/share/gems/gems/bundler-1.3.1/lib/bundler/setup.rb:7:in ''top (required)>'
from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:135:in 'require'
from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:135:in 'rescue in require'
from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:144:in 'require'
from /opt/metasploit/msf/lib/fastlib.rb:374:in 'require'
from /opt/metasploit/msf/lib/msfenv.rb:7:in '<top (required)>'
from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in 'require'
from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in 'require'
from /opt/metasploit/msf/lib/fastlib.rb:374:in 'require'
from /usr/local/bin/msfconsole:21:in '<main>'
任何想法如何解决这个问题?它说method_missing:未定义的局部变量或方法“ext_dir”所以这看起来像某种Ruby依赖问题。
更新: msfupdate 成功运行。
答案 0 :(得分:0)
您运行的是64位版本的fedora吗?如果是这样,我建议您从rapid7网站下载软件包。它更可靠,安装后任何依赖性问题都将得到解决。使用64bt linux,您还可以将metasploit与Nexpose结合使用。这两个工具携手合作。您看到的问题看起来像版本问题。如果您不介意运行VM,我建议您下载Kali linux以满足您的安全测试需求,这些需求将开箱即用+为您提供更多工具。