> 文章列表 > nmap学习笔记

nmap学习笔记

nmap学习笔记

一、环境准备

  1. Windows10主机
  2. Kali虚拟机(使用nmap的地方)
  3. metasploitable虚拟机
  4. 为以上三个操作系统配置静态IP。
    • Windows主机的IP:192.168.80.3
    • Kali的IP:192.168.80.2
    • metasploitable的IP:192.168.80.4

具体配置方法请参考kali设置静态ip地址

二、扫描端口

(一)指定扫描端口

  1. 扫描单个IP: nmap 192.168.80.3,nmap默认探测主机的1-10000范围内所有开放的端口。
    在这里插入图片描述

  2. 扫描多个IP:nmap 192.168.80.3 192.168.80.4
    在这里插入图片描述

  3. 扫描指定端口: nmap使用[-p]来指定扫描端口号。

nmap -p 20-445 192.168.80.4     #指定范围
nmap -p 21,22,445 192.168.80.4  #指定特殊端口
nmap -p- 192.168.80.4			#指定范围为1-65535

在这里插入图片描述

(二)指定扫描方式

为了更直观地理解每条指令的功能,在Kali虚拟机上,打开wireshark工具,过滤器选择eth0。设置过滤条件ip.addr == 192.168.80.4

  1. 扫描TCP连接: nmap -p 80 -sT 192.168.80.4
    (1)如果目标IP的端口是开放状态,执行此命令后,就会成功建立连接,即完成三次握手。
    在这里插入图片描述

    (2)如果目标IP的端口是关闭状态,执行此命令后,不能建立连接,即只进行一次握手。

在这里插入图片描述

  1. 扫描SYN连接: nmap -p 80 -sS 192.168.80.4,若不指定连接方式,nmap默认进行SYN扫描。

    (1)如果目标IP的端口是开放状态,执行此命令后,就会成功建立连接,即完成三次握手。
    在这里插入图片描述

    (2)如果目标IP的端口是关闭状态,执行此命令后,不能建立连接,即只进行一次握手。
    在这里插入图片描述

  2. 扫描FIN: nmap -p 80 -sF 192.168.80.4,向目标IP发送TCP FIN包,如果收到RST响应,就判定端口关闭,否则端口开放或被屏蔽。
    在这里插入图片描述
    在这里插入图片描述

  3. 扫描Null: nmap -p 80 -sN 192.168.80.4,向目标IP发送TCP Null包(所有flags都为0的包),如果收到RST响应,就判定端口关闭,否则端口开放或被屏蔽。
    在这里插入图片描述
    在这里插入图片描述

  4. 扫描Xmas: nmap -p 80 -sX 192.168.80.4,向目标IP发送TCP Xmas tree包(flags里的FIN、URG、PUSH都为1的包),如果收到RST响应,就判定端口关闭,否则端口开放或被屏蔽。
    在这里插入图片描述
    在这里插入图片描述

三、扫描其他信息

  1. 扫描活跃主机: nmap -sP 192.168.80.0/24,扫描整个网段中哪些主机是活跃的。

在这里插入图片描述

  1. 识别版本: nmap -p 80 -sV 192.168.80.4,识别某一服务的具体版本号信息。

在这里插入图片描述

  1. 识别操作系统: nmap -p 80 -O 192.168.80.4。nmap扫描的结果并非完全正确,当识别不出具体版本时,nmap会给出可能为各种操作系统的概率。
    在这里插入图片描述

四、输出扫描结果

  1. 将扫描结果保存为txt格式: nmap -p 80 -oN scan.txt 192.168.80.4

在这里插入图片描述

  1. 将扫描结果保存为xml格式: nmap -p 80 -oX scan.xml 192.168.80.4
    在这里插入图片描述