nmap显示打开的端口,但netstat不显示

如果我用nmap扫描我的服务器,它显示21端口打开。 但是当我login到这个服务器并运行netstat时,我什么都看不到。

 $ nmap -sT服务器

开始Nmap 4.76(http://nmap.org)在2009-06-24 11:54 MSD
服务器上有趣的端口(xxxx):
未显示:994个已过滤的端口
港口国服务
 21 / tcp open ftp
 22 / tcp打开ssh
 ...

 Nmap完成:1个IP地址(1个主机)在7.97秒内扫描
 $ netstat --listen --tcp --numeric

怎么会这样? 这可能是一个安全问题?

UPD:与nmap连接时的tcpdump输出

 13:13:02.982805 IP 10.19.10.2.51983> server.ftp:S 767068541:767068541(0)win 5840 
 13:13:04.096705 IP 10.19.10.2.52000> server.ftp:S 792080356:792080356(0)win 5840 
 13:13:04.131169 IP server.ftp> 10.19.10.2.52000:S 3312178661:3312178661(0)ack 792080357 win 32768 
 13:13:04.131346 IP 10.19.10.2.52000> server.ftp:。  ack 1 win 46 
 13:13:04.131737 IP 10.19.10.2.52000> server.ftp:R 1:1(0)ack 1 win 46 

你和服务器在同一网段吗? 通过路由器进行端口扫描可能会导致虚假结果。

正如前面提到的,我在这里贴出来重新进行testing。 这是常见的,如果你nmap从后面的NAT'd路由器。 你是从你的家庭ADSL或电缆调制解调器后面运行NMAP吗? 我一直用我的Apple TimeCapsule看到这个。 它可以给你一个震惊你第一次看到它:)

安德鲁

从tcpdump,它清楚地表明有人在回应。 根据你的要求。

你能试一下吗:

  • FTP直接到盒子? 看看会发生什么?
  • 如果你有一个NAT在中间,它可能会redirect到另一个盒子。
  • 你可以在目标机器上运行tcpdump吗? 看看是否有数据包正在通过。

另外,请尝试nc -l tcp 21以查看是否可以在端口21上侦听。如果您不能在netstat上显示任何内容,则可能会被入侵。 尝试rootcheck,看看是否find了一些东西(因为chkrootkit没有find任何: http : //www.ossec.net/rootcheck )。

看看这个答案:

closuresFTP

奇怪的一个,尝试运行tcpdump而连接到它与nmap,应该显示stream量是否真正到达机器。

也许有这种机器或任何其他路由器途中的某种NAT? 检查iptables-save的输出(如果是Linux的话)

你的DNS工作吗? 尝试通过IP而不是名称的映射。

您的服务器可能感染了rootkit

这可能是一个安全问题。 如果你的服务器已经rootkits,那么内核会报告内核被告知由rootkit报告的内容,因此会显示与外部扫描不符的内容。

看看你是否真的可以ftp到服务器可能很有趣。 您可能想要使用telnet或netcat和rfc959来查看是否有任何低级别的响应,可以帮助您知道该端口上的位置和响应。

你可以在/etc/inetd.conf或xinetd.conf中打开那个端口吗?

尝试在你知道未使用的同一networking上映射另一个地址; 如果这也显示港口开放,那么有人在别的地方NATstream量。