服务以及版本识别 Nmap可以识别出端口对应的服务以及响应的版本,其依赖于Nmap-service.其实-A通常会输出这些信息。这只是简化版的-A,只会print出service,version,port以及os,cpe 指令:nmap -sV [target] 设置扫描强度 通过时间换取准确度。当我们提高强度之后,会对某些比较少见的端口或者服务提供更准确的信息,但也同时意味着时间会慢下来。 指令:nmap -A [target] --version-intensity [n] 1<= n <= 9 获取详细版本信息 有一些-v输出详细信息的意思。会输出一些和扫描相关的信息,譬如解析DNS服务地址,与某个端口成功建立连接,以及NES脚本信息。可以更加详细的看到扫描过程中到底发生了什么。 指令:nmap -A [target] --version-trace RPC扫描 先说一下RFC,这里的RFC并不是RFC标准中的RFC,而是Remote Function Call的意思,即远程函数调用。 和其他扫描方式结合使用,发送一个SunRFC程序的NULL指令,来探测是否为RFC端口。 指令:nmap -sS -sR(RFC) [target] 操作系统探测 根据不同操作系统之间处理特定TCP的不同反应可以对操作系统进行识别和区分。常见的是ACK序号以及ICMP报文,通常不同操作系统对它们的反应是不同的。 上述的探测方法只是常见的手段,并不是全部。但是探测的思路都是相同的,是根据不同操作系统对某些数据的处理方式不同来分辨它们。 指令: nmap -O [target] (注:由于防火墙所以给出的操作系统信息通常都是概率) 操作系统探测补充 指令: --osscan-limit 通常是配合-O 或-A 以及扫描C段一起使用,它只对指定的端口进行探测,从而减少探测时间。 --osscan-guess 字面意思基本代表了它的作用,通过百分比的方式给出对操作系统信息的猜测。 --fuzzy 同上