Nmap参数--指纹识别探测
服务以及版本识别
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 同上