我在 Win 7 x64 上运行 Metasploit,并在 VMware Player 上设置了 Metasploitable 2 虚拟机。我可以从 Metasploit 控制台 ping Metasploitable 的 IP 地址,但如果我使用 nmap,它会显示:
注意:主机似乎已关闭。如果它确实已启动,但阻止了我们的 ping 问题,请尝试 -Pn
我尝试使用 -Pn 开关,它说
Nmap 完成:0.64 秒内扫描了 1 个 IP 地址(0 个启动的主机)
我已禁用 Windows 防火墙并以管理员身份运行 Metasploit。为什么我无法 nmap 虚拟机?
答案1
经常使用sudo
可以修复它:sudo nmap [options]
Nmap 需要 root 权限来构造原始数据包(它不依赖系统的 ping 二进制文件来执行 ping 操作,但它还可以执行许多其他自定义数据包制作)。当 Nmap 被允许使用此原始功能时,ping 扫描将按预期工作。
专家提示:sudo !!
以 root 身份重复最后一个命令(!!
代表“最后一个命令”)。
答案2
如果你使用的是旧版本(6.00 或 6.01 版)的 Nmap,这可能与已知错误。尝试使用 运行--unprivileged
,这将破坏 Nmap 的某些功能,但应该可以用于端口扫描。或者,使用 的输出来识别应该用于扫描的nmap --iflist
接口名称(例如),并将其与标志一起传递给 Nmap,如下所示:eth1
-e
nmap -e eth1 --other --args targets
当然最好的解决办法是升级到不受影响的 Nmap 版本采用最新的改进。
答案3
我在 Windows 7 Enterprise x86 中遇到了完全相同的问题。
当我添加-e
选项为盆景解释一下,它工作得很好,尽管速度太慢了。此外,我发现当你的电脑有多个网络适配器时,比如虚拟机网络(VMware 网络适配器 VMnet8),就会发生这种情况。
禁用vm8
适配器后,即使没有该选项,它也可以正常工作-e
。
答案4
我在 Windows 11 上使用 nmap 7.92 时遇到了这个问题,安装 npcap 解决了这个问题。