TCP Ping选项是Nmap里一种最强大的主机发现技术。管理员能够在不影响大多数用户的情况下阻止ICMP回应请求数据包,但服务器绝对必须响应发送给它,请求提供公共服务的SYN数据包。同时,ACK数据包也经常能够通过非状态检测防火墙。所以,我建议使用SYN和ACK探针进行主机发现,扫描目标网络可能具有的任何端口列表以及被大家广泛使用的流行端口。根据扫描经验,我发现在下表中列出的端口特别有扫描的价值。在具有默认丢弃过滤器(最难到达的类型)的主机中,这14个端口可被访问的可能性最大。

表2.1:最值得探测的TCP端口(按可访问的可能性的降序排列) 端口/服务 原因分析 80/http 互联网上Web服务器的普及导致许多新手认为Web是互联网。 25/smtp Mail是另一个互联网“杀手级应用”,许多公司允许它通过防火墙。 22/ssh SSH似乎终于超越了Telnet作为远程终端管理的标准。 443/https SSL是网站保护机密目录信息的常用方式。 21/ftp 这种文件传输协议依然存在。 113/auth auth(identd)服务允许服务器(通常是邮件或IRC)请求连接到它们的客户端的用户名。 管理员经常不对此端口进行过滤,以避免在防火墙规则阻止服务器连接回端口113时可能发生的长时间超时。使用此端口进行ping扫描有时会导致误报,因为已知某些管理员将其防火墙配置为伪造 RST数据包响应对其网络上任何IP的auth查询,即使该IP上没有机器也是如此。 管理员这样做是为了避免服务器超时,同时仍然阻止访问端口。 23/telnet 许多设备仍然提供此管理界面。 53/domain 域名服务器非常普遍。 554/rtsp 媒体服务器使用实时流控制协议(Real Time Stream Control Protocol),包括QuickTime和RealServer。 3389/ms-term-server Microsoft终端服务允许用户(有时是黑客)访问远程计算机上的应用程序和数据。 1723/pptp 点对点隧道协议(Point-to-Point Tunneling Protocol)通常用于在Microsoft Windows上实现VPN解决方案。 389/ldap 轻量级目录访问协议(Lightweight Directory Access Protocol)通常用于存储联系人目录等。 636/ldapssl LDAP over SSL非常适合访问机密信息。 256/FWl-securemote Checkpoint Firewall-1设备通常打开此管理端口。 上面列表中的流行端口之外,建议在扫描时至少再选择一个高编号端口。因为,许多配置不当的防火墙仅对特权端口具有default-deny,即1,024以下的端口。我通常会随机挑选一个高编号的端口,例如40,000或10,042,以捕获这种防火墙后面的机器。 在选择要探测的端口时,请考虑应用的多样性。如果要将ping扫描限制为两个端口,HTTP(80)和SSH(22)可能优于HTTP(80)和HTTPS(443),因为后两者与Web服务相关,并且许多具有HTTPS的计算机通常都会开放HTTP。 在同一台计算机上查找两个可访问端口对于ping扫描目的而言并不比查找一个更好。我们扫描的目标是选择合适的端口以便优化扫描效果。 请注意,有价值的端口表不包括许多面向客户端的端口,例如无处不在的Windows SMB端口135。主要原因是此表主要是针对防火墙后面的主机,其中绝大多数常用端口都已过滤。 在这些情况下,Windows端口(如135-139和445)通常会被阻止。 当这些机器不在防火墙后面时,开放端口对于主机发现阶段的Ping扫描并不重要,因为成千上万的封闭端口也是如此。