如何对Metasploit Postgres库中已导入的所有主机执行db_nmap扫描
方案1:修正临时方案(最快可用)
你之前的本地文件扫描失败是参数写错导致的,nmap读取目标列表的参数是-iL不是-i,修改后命令即可正常生效:
- 先导出数据库中所有主机IP到本地文件
hosts -c address -o /home/myuser/targets.txt
- 调用db_nmap读取列表执行扫描
db_nmap -sS -Pn -A --script vuln -iL /home/myuser/targets.txt
方案2:无需导出文件,直接调用数据库内主机执行扫描
直接在msfconsole内执行单行命令即可,不需要生成额外中间文件:
db_nmap -sS -Pn -A --script vuln `hosts | awk '/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ {print $1}' | xargs`
补充说明
- 如果需要筛选特定状态的主机扫描,比如只扫标记为存活的主机,可以在导出hosts时加过滤条件:
hosts -c address -S up -o /home/myuser/targets.txt - 主机数量较多时建议分批扫描,避免触发目标网络的防护规则
内容的提问来源于stack exchange,提问作者Bix
相关产品推荐
相关产品推荐

