如果我用 nmap 扫描我的服务器,它显示 21 端口已打开。但是当我登录到这个服务器并运行 netstat 时,我什么也看不到。
$ nmap -sT 服务器 在 2009-06-24 11:54 MSD 开始 Nmap 4.76 ( http://nmap.org ) 服务器上有趣的端口(xxxx): 未显示:994 个过滤端口 港口国服务 21/tcp 打开 ftp 22/tcp 打开 ssh ... Nmap 完成:在 7.97 秒内扫描了 1 个 IP 地址(1 个主机启动)
$ netstat --listen --tcp --numeric
怎么会这样?这可能是一个安全问题吗?
UPD:与 nmap 连接时的 tcpdump 输出
13:13:02.982805 IP 10.19.10.2.51983 > server.ftp: S 767068541:767068541(0) 赢 5840 13:13:04.096705 IP 10.19.10.2.52000 > server.ftp: S 792080356:792080356(0) 赢 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:. 确认 1 胜 46 13:13:04.131737 IP 10.19.10.2.52000 > server.ftp: R 1:1(0) ack 1 win 46
您是否与相关服务器位于同一网段?通过路由器进行端口扫描可能会产生虚假结果。
如前所述,我在这里发帖是为了重新迭代;如果您从 NAT'd 路由器后面进行 nmap'ing,这很常见。您是在家庭 ADSL 或电缆调制解调器后面运行 NMAP。我一直在使用 Apple TimeCapsule 看到这一点。第一次看到它会让你大吃一惊:)
安德鲁
从 tcpdump 可以清楚地看出有人在响应。应您的要求。
你能试一下吗:
另外,尝试 nc -l tcp 21 看看您是否可以在端口 21 上侦听。如果您不能并且 netstat 上没有显示任何内容,您可能会受到损害。尝试 rootcheck 看看它是否找到了一些东西(因为 chkrootkit 没有找到任何东西:http ://www.ossec.net/rootcheck )。
看看这个答案:
关闭 FTP
奇怪的是,尝试在使用 nmap 连接到 tcpdump 时运行它,这应该会显示流量是否实际到达机器。
也许这台机器上或任何其他路由器上有某种 NAT?检查 iptables-save 的输出(如果是 Linux)
您的 DNS 是否正常工作。尝试通过 IP 而不是名称进行 nmaping。
您的服务器可能感染了 rootkit
这可能是一个安全问题。如果您的服务器已被 rootkitted,那么内核将报告 rootkit 告诉内核报告的内容,因此会显示与外部扫描的差异。
看看您是否真的可以 ftp 到服务器可能会很有趣。您可能需要使用 telnet 或 netcat 和rfc959来查看是否收到任何低级响应,这些响应可以提示您了解该端口的响应位置和响应内容。