1-3-nmap扫描的阶段

1.3.nmap扫描的阶段

1.3.nmap扫描的阶段

现在我们已经看见nmap的一些应用。现在看看当nmap运行分阶段扫描时会发生什么,当下一个开始时每个阶段正在结束。就像你在下列的阶段描述所看见的,nmap不仅仅用来端口扫描。

目标列举。在这个阶段,nmap探测了用户提供的主机探测,主机域名、ip地址、子网掩码等等可能包括在其中。你甚至可以使用-iR选项询问nmap来选择你的目标!nmap为了扫描ipv4或ipv6地址区分到列表。这小节不能被省略,因为它对深度扫描是很重要的,但是你可以通过输入ip地址使这个过程简单化,这样nmap就不必做预先解决方案。如果你输入-sL -n选项(列表扫描并且不使用域名反查选项)。nmap将会打印出目标并且不执行进一步的扫描。这个阶段在3.2章节“确定目标主机和网络”和章节3.5.1"列表扫描“被讨论。

主机发现(ping扫描)。网络扫描通常开始于在网络上发现目标,并且值得进一步探测。这个过程被叫做主机发现或者ping扫描。nmap提供许多主机发现技术,从快速ARP请求道精心构造的tcp数据包、icmp,和其他类型的探针。这个阶段是默认运行的,虽然你可以省略它(简单的假设所有目标ip在线)使用PN(非ping)选项。在主机发现后退出,使用-sP -n选项。主机发现是第三章节的主题。

域名反查选项。一旦nmap确定了扫描哪个主机,它将通过ping扫描查看所有在线主机的域名反查的名字。有时候一个主机名提供了它的功能的线索,并且名字使得报告更有可读性比只提供ip号码来。这一步可能省略,使用-n(非解决方案)选项,或者扩大所有目标ip的范围(甚至未响应的)使用-R(resolve all)。名称选项被章节3.4所包含。

端口扫描。这是nmap基本功能。探针被发送,然后响应(或没有响应)这些探针被用来方便远程端口是否开放,关闭,被过滤。这个短暂的描述未包含nmap的很多扫描类型,扫描的配置,和提高速度和精确性的算法。端口扫描的综述在第四章。算法和命令行选项具体信息在第五章。。。省略,没什么重要内容  )>_<(!

1.4法律问题

nmap帮助从入侵者手中保护你的网络,当正常使用时。
但是不合理使用的时,nmap(在少数情况)会使你被解雇、驱逐、被捕入狱、或者被你的isp拒绝提供服务。当你运行nmap的时候,通过阅读这个法律向导减少你的风险。

1.4.1未授权的端口扫描时犯罪吗?

对于nmap扫描网络的法律分支是复杂且有争议的。第三方党派组织甚至在T恤和车保险杠上打印了在这个事上发表意见。如图片1.3所示。这个主题同样挑起许多激昂但经常是徒劳的辩论和责备战争。如果你曾经参与这种讨论,尝试避免使用不合适的类比,撬某人家门的锁和测试他的门或者窗户是否上锁了。

当我同意端口扫描不应该非法的观点时,从T恤上采取合理意见这是不明智的方式。实际上,从软件工程师和作者方面采取意见要稍微好一点。在你的权限内与有才能的律师交谈,来理解法律如何运用在你特殊的处境上。放弃这种重要的方式,这也有一些通用信息可能会有帮助。

。。法律问题略,这章节不想翻译。

1.4.2端口扫描会使目标计算机/网络崩溃吗?

nmap没有任何被设计使目标网络崩溃的功能。它通常尝试小心处理。例如,当nmap探测发送数据包时候,它发现为了避免网络过载,将会减缓动作。nmap同样不发送任何有破坏性的数据包。IP、TCP、UDP、ICMP标题头总是合适的,虽然目标主机不期望收到这些数据包。因为这些理由,没有应用、主机或网络组成曾经因为nmap扫描而崩溃。如果它们崩溃了,那是应该被维修人员修复的bug。

nmap导致系统崩溃的报告几乎没有,但是它们也会发生。许多系统可能不稳定,nmap同时使得它们到达极点,或者它们被攻击了同时nmap也在扫描,这纯粹是个巧合。在其他情况下,写的很烂的应用程序,TCP/IP堆栈,甚至操作系统显示被nmap命令攻击了,它们通常是比较老的装置,新的器材不会有这样的问题。聪明的公司使用nmap和许多其他网络工具在到达负荷前测试器材。那些删除了预测试的,在早期beta测试时,box第一次在网络上施展,经常发现许多问题。作为网络白色噪音的一部分,扫描确定的ip花费不了多少时间。保持系统和设备及时更新补丁和固件应该会减少你的机器对于这些问题的嫌疑。

在许多情况下,找出一个机器因为确定的扫描而崩溃的原因是有价值的信息。毕竟,攻击者可以使用nmap来做任何nmap能够做到的事,通过使用nmap本身或TA们自定义的脚本。设备不应该因为被扫描而崩溃,如果它们崩溃了,维修者应该有压力来提供补丁。

在许多使用方案,探测脆弱的主机通过使它们崩溃是不被期望的。在许多情况下,你可能想要执行轻微的扫描来减少负面影响的风险。这是一些建议:

-sS 而不是 连接扫描(-sT) 。使用者模式应用程序比如web服务器几乎不能探测到这种方式,因为全部用核心空间来处理请求,没有理由不导致服务崩溃(除了个别老版本的linux版本)

-sV 版本探测对写的极烂的应用程序有造成崩溃风险。相似的,一些可怜的操作系统被报告说因为OS版本探测(-O)而崩溃了,删除这些选项为了特别敏感的环境或者当你不需要结果的时候。

-T2或者更低(-T1,-T0)定时模式可以减少端口扫描损害系统的机会,虽然它们极大的减慢了你的扫描。更老的linux主机有着一个守护进程,当服务频繁被请求时会阻塞服务。这在端口扫描时可能会发生,同样会发生在其他高负荷状况下。缓慢的定时可能会有帮助。这些缓慢的模式应该在最后被使用,因为它们能够显著降低扫描速度。