大多数人在kali下初次使用metasploit工具搜索模块时都会看到“没有连接数据库,使用慢搜索”,这对于有强迫症的人来说不能让他存在啊。最初我也遇到了,去百度一下,发现很多方法不经过程让人头晕,操作一顿还不见效。
其实主要问题在于用户初次使用时并没有创建一个database,没有这个database.yml你就没得连啊。所以需要我们先创建一个,能百度到一些自己create的方法,但不方便(个人觉得),推荐两种简单的方法:
方法一:
第一步当然还是启动postgresql数据库服务. (抱歉之前手残写错了)
service postgresql start
第二步,初始化msf的数据库,在/usr/share/metasploit-framework/config下自动生成一个database.yml文件
msfdb init
这一过程中会让你输入口令,而且有点快,这可以忽略,会为你自动生成一个口令。
执行者两步之后,打开msf,查看db_status,你已经能看到这样一条消息了:
[*]postgresql connected to msf
方法二:
其实跟方法一的原理一样,只是改手动操作了,最初在/usr/share/metasploit-framework/config下有这样两个.yml文件:database.yml.example和database.yml.travis,在database.yml.example中会有一些关键字段如
adapter:
database:
username:
password:______________________________(空的)
这其实就跟其后缀名一样,是一个数据库文件的样本,在database.yml.travis文件中有详细的说明,就是你想自定义一个数据库文件的话可以执行
cp config/database.yml.example config/database.yml
(具体形式取决于你的当前位置),就是复制database.yml.example中的内容到database.yml中,然后自己改password。
注意:下一次启动系统是也要先开启postgresql服务,启动metasploit是才会自动连接上
总结:
原理就是方法二中所说的需要一个database.yml的文件,具体操作还是推荐方法一。