选项 | 解释 |
---|---|
-sV | 版本探测 |
--allports | 全端口版本探测 |
--version-intensity | 设置扫描强度 |
--version-light | 轻量级扫描 |
--version-all | 重量级扫描 |
--version-trace | 获取详细版本信息 |
-sR | RPC扫描 |
-O | 启用操作系统探测 |
--osscan-limit | 对指定的目标进行操作系统检测 |
--osscan-guess;--fuzzy | 检测系统识别 |
-sV选项
使用该选项可启用版本探测,通过相应的端口对应相应的服务,根据服务指纹识别出相应的版本。比如,扫描出FTP服务对应的FTP程序及其版本号是vsftpd 2.3.4
--allports选项
使用该选项可以启用全端口版本探测。这并不意味着可以扫描所有的端口,9100TCP端口就会跳过。
--version-intensity
该选项可以为每个报文赋予1~9之间的值。强度水平说明来应该使用哪些探测报文。赋予的值越高,服务越有可能被正确识别,但相对应的会比较耗时。强度默认是7。
nmap -sV --version-intensity 1 192.168.23.1
--version-light
轻量级扫描,等同于:
--version-intensity 2
--version-all
重量级扫描,等同于:
--version-intensity 9
--version-trace
获取详细的版本信息,可以获取目标主机额外的信息。
-sR选项
对所有被发现开放的TCP/UDP端口执行SunRPC程序NULL命令,来试图缺点它们是否为RPC端口,如果是RPC端口,则返回程序和版本号。
-O选项
操作系统探测。
nmap可以基于TCP/IP协议栈fingerprinting指纹扫描。
可以通过几个方面对操作系统进行探测,最常见的是利用TTL( Time To Live,是IPv4包头的一个8 bit字段。该字段指定IP包被路由器丢弃之前允许通过的最大网段数量),也就是数据包的存活时间,这表示了一个数据包被丢弃之前可以通过多少活跃点,不同的操作系统TTL也是不同的,我们可以根据这些TTL来进行操作系统探测。
TTL可以人为更改,所以这个方式并不常使用。
TCP数据包响应探测是根据不同操作系统对特定的TCP的不同反应来进行识别区分。ACK序号也是重要的参考标准之一,不同的操作系统处理ACK序号时也是不一样的。
还有根据ICMP报文响应进行识别的,不同的操作系统对ICMP报文的响应也是不同的。
操作系统的探测方法多种多样,但是基本上都是根据某些操作系统的响应特征进行分析识别。
--osscan-limit
可以对指定的目标进行操作系统检测。这个选项仅仅在-O和-A使用的时候才可以使用。
nmap -O --osscan-limit 192.168.23.1