也就是,在postgresql.conf中,将监听的主机listen_address改成空,即可在不开启端口的情况下进行通信。 如果你的 unix_socket_directories 选项配置的路径是在/tmp,那么在postgresql运行后,你的/tmp下面将会有”.s.PGSQL.5432”这个文件(通过ls -a /tmp 可以查看到)。 如果在配置好listen_address和unix_socket_directories之后,重启postgresql服务,并且/tmp下的套接字文件存在,就说已经配置好。 这时在metasploit的database.yml文件中,配置host为/tmp,用户名和密码可以随便写,数据库名称就写metasploit的数据库。 然后再配置一下postgresql的”pg_hba.conf”文件, 在其中加入local all all trust 将所有来自本地unix域的请求设置为信任。就可以在不开端口的情况下在metasploit中使用postgresql了。