无法让nmap在Windows 7 64位下工作

我试图安装和运行nmap工具来testing我的服务器,但它一直说

Note: Host seems down. If it is really up, but blocking our ping probes, try -P0 

并显示所有服务器端口已closures。 这是不正确的 – 服务器已经启动,并有大量的开放端口。 有任何想法吗?

更新:只是为了澄清 – 服务器可以pinged和端口扫描罚款由其他程序。 这是突出nmap不起作用。 甚至“google.com”似乎是nmap的下降。

如果你的计算机上有两块网卡,那么nmap有时会select错误的路由信息 (对于Windows,与route PRINT输出的route PRINT不同,与nmap --iflist比较)

你可以看到它正在用-d选项select哪个接口

解决的办法是用-e选项指定正确的接口,例如,如果nmapselecteth1而它应该selecteth2 ,则可以编写nmap -e eth2 ...

我有nmap在我的Windows 7专业版64位机器上完美的工作,所以我不相信这是阻止nmap正确扫描您的服务器的操作系统。 要么是您的系统configuration,服务器configuration或networkingconfiguration的问题。

我会build议作为第一步试图找出问题的地方(工作站,networking或服务器)。 运行nmap扫描时,在工作站和服务器上运行某种forms的networking嗅探器(例如wireshark,tcpdump)可能是一个不错的第一步。 这将帮助您确定来自nmap的networkingstream量是否即使离开工作站或到达服务器。 很明显,nmap程序认为它执行扫描没有错误,所以它必须从某处收到TCPstream量。

再次,这只是让你走的第一步。 我不太了解你的设置能够提出进一步的build议。 祝你好运。

一些随意的想法:

我总是忘记我的本地防火墙可以阻止出站stream量。 我想我用nmap也遇到了同样的问题。 尝试禁用本地防火墙或创build一个允许从本地主机发出的所有stream量的策略。

如果不是这样,那就忘记nmap,并专注于让ping工作。 如果ping现在不起作用,那么这将帮助您find故障点。

服务器上的端口可能是开放的,但它们暴露于您的源IP或网段吗? 他们可能只为本地主机打开。 禁用服务器上的防火墙一分钟,看看是否可以帮助您find阻塞发生的地方。

你说服务器上的端口是开放的。 我假设你已经testing过了。 尝试在服务器上的netstat -an只是为了确保它实际上监听这些端口。

这些设备之间是否存在阻塞的可能性? 你的stream量是否遍历路由器,其他防火墙等?

另外一个随机的潜在问题:有时我的应用程序只能在Win7x64上运行,除非它们以Admin身份运行。 即使我使用具有pipe理权限的帐户启动它们,我仍然偶尔必须右键单击它们并以pipe理员身份运行它们。 也许…

@Ryan说: 为您的stream量绘制出潜在的阻塞点并开始testing每一个点。

对于那些仍然偶然发现这个问题的人:

上面的答案(凯恩的)的作品,但只在某些情况下。 有些情况我遇到了默认路由绑定到错误的接口,因此有些会看到一个“无法路由”的消息。

只是对于任何人遇到这个问题,最好的方法是获得最新版本(在这篇文章是6.25( 链接 ),这似乎已经解决了这个问题)。

由于我在Win 7 64位机器上遇到了同样的问题,并设法解决这个问题,所以我认为我应该贡献一下,以便其他用户可以search它。

步骤1:做一个nmap --iflist ,它会显示设备的IP地址(如果有的话)和MAC地址从那里,select你将使用的接口,例如eth2

第2步:然后您可以运行以下命令运行扫描:

 nmap -v -O -e eth2 somehost.com