nmap 服务和版本探测
1. 版本探测作用
有时候我们希望可以知道正在运行什么邮件和域名服务器以及它们的版本。 有一个精确的版本号对了解服务器有什么漏洞有巨大的帮助,在 nmap 中版本探测可以帮您获得该信息。
2. 版本探测
-sV
(版本探测) 该控制选项打开 nmap 的版本探测功能,在这同时也可以用-A
选项同时打开操作系统探测和版本探测。
3. 不为版本探测排除任何端口
--allports
(不为版本探测排除任何端口) 默认情况下,nmap 版本探测会跳过 9100 TCP 端口,因为一些打印机会打印送到该端口的任何数据,这会导致产生 HTTP GET 请求,那么二进制 SSL 会话请求等等被打印出来。这一行为可以通过修改或删除nmap-service-probes
中的Exclude
指示符来改变,或是不理会任何 Exclude 指示符,指定--allports
该选项让 nmap 扫描所有端口。
4. 设置版本扫描的强度
--version-intensity <强度值>
(设置版本扫描强度) nmap 进行版本扫描(即使用-sV
选项)时,nmap 发送一系列探测报文 ,每个报文都被赋予一个 1 到 9 之间的值。被赋予较低值的探测报文对大范围的常见服务有效,而被赋予较高值的报文一般没什么用。
强度值参数说明了应该使用哪些探测报文。数值越高服务越有可能被正确识别,但是高强度扫描将花费更多时间,强度值必须在 0 和 9 之间默认强度值是 7。
当探测报文通过
nmap-service-probes ports
指示符注册到目标端口时,无论什么强度水平,探测报文都会被尝试。这保证了 DNS 探测将永远在任何开放的 53 端口尝试, SSL 探测将在 443 端口尝试,以及其他的探测等等。
5. 打开轻量级模式
--version-light
(打开轻量级模式) 这其实是--version-intensity 2
更方便使用的别名。轻量级模式使版本扫描快得多,但它识别服务的可能性也略微小一点。
6. 尝试每个探测
--version-all
(尝试每个探测) 这个选项是--version-intensity 9
的别名, 保证对每个端口尝试每个探测报文。
7. 跟踪版本扫描活动
--version-trace
(跟踪版本扫描活动) 这会导致 nmap 打印出详细的关于正在进行的扫描的调试信息,而这些信息是你用--packet-trace
所得到信息的子集。
8. RPC 扫描
-sR
(RPC 扫描) 这这个扫描和许多端口扫描技术(端口扫描技术查看前篇端口扫描技术部分)联合使用。 它对所有被发现开放的 TCP/UDP 端口执行SunRPC
程序NULL
命令,来确定它们是否是RPC
端口,如果是的话又是什么程序和版本号。因此您可以有效地获得和rpcinfo -p
(这是一条 linux 命令) 一样的信息, 即使目标的端口映射在防火墙后面 (或者被 TCP 包装器保护)。Decoys 目前不能和 RPC scan 一起工作。这作为版本扫描 (即使用-sV
选项) 的一部分自动打开。 由于版本探测包括它并且全面得多,所以-sR
选项很少被使用。