![Nmap -sn:扫描还是不扫描?](https://linux22.com/image/45843/Nmap%20-sn%EF%BC%9A%E6%89%AB%E6%8F%8F%E8%BF%98%E6%98%AF%E4%B8%8D%E6%89%AB%E6%8F%8F%EF%BC%9F.png)
手册nmap
页对此参数有这样的说法-sn
:
-sn (No port scan) .
This option tells Nmap not to do a port scan after host
discovery, and only print out the available hosts that
responded to the scan.
前半句说没有扫描,后半句说有扫描。是否有与后半部分提到的端口扫描不同类型的扫描?也许是主机发现扫描(根据我所知的一点猜测nmap
)?
答案1
你是对的,文档的措辞很糟糕。-sn
表示“跳过端口扫描阶段”,以前可用作-sP
,并带有助记符“Ping scan”。
Nmap 扫描发生在阶段。这些都是:
- 名称解析
- NSE脚本预扫描阶段
- 主机发现(“ping”扫描,但不一定是 ICMP Echo 请求)
- 平行线反向名称解析
- 端口或协议扫描
- 服务版本检测
- 操作系统指纹识别
- 路由追踪
- 神经元SE端口规则和主机规则脚本扫描阶段
- NSE 扫描后阶段
请注意,并非所有这些阶段都会在每次扫描中执行,具体取决于参数。本次扫描:
nmap -sn scanme.nmap.org
将运行阶段 1、3 和 4。
编辑:我更正了您在 r33790 中提到的文档:
该选项告诉Nmap在发现主机后不要进行端口扫描,只打印出响应该命令的可用主机。主机发现探针。
答案2
在标准模式下,nmap 执行两种不同类型的扫描:主机扫描,以确定哪些主机可用于进一步的端口扫描;端口扫描,显示可用计算机上的端口状态。-sn
不进行端口扫描,但会进行主机扫描——这在使用 nmap 扫描范围时特别有用,它将打印出响应扫描的那些主机(例如,这可能会显示一些可用的主机)某个子网)。
例如:
$ nmap -sn 192.168.0.0/24
Starting Nmap 6.40 ( http://nmap.org ) at 2013-08-23 17:54 CEST
Nmap scan report for 192.168.0.11
Host is up (0.051s latency).
Nmap scan report for 192.168.0.37
Host is up (0.063s latency).
Nmap scan report for 192.168.0.65
Host is up (0.016s latency).
Nmap scan report for 192.168.0.85
Host is up (0.00090s latency).
Nmap scan report for 192.168.0.149
Host is up (0.024s latency).
Nmap scan report for 192.168.0.202
Host is up (0.021s latency).
Nmap scan report for 192.168.0.253
Host is up (0.042s latency).
Nmap done: 256 IP addresses (7 hosts up) scanned in 22.26 seconds
答案3
是的,-sn
是用于主机发现的 ping 扫描,并且不进行任何详细的端口扫描(主机上打开了哪些端口)。这是手册页讨论的两种不同的扫描。你的解释非常接近。