nmap基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
nmap是非常实用的命令之一,在日常实际生产环境中,经常用来检查IP、端口、URL地址信息,具体其中的参数如下:

用法: nmap [Scan Type(s)] [Options] {目标说明}

目标说明:
    可以过滤 hostnames, IP addresses, networks等等。
    -iL <inputfilename>: 来自 主机/网段 列表的输入
    -iR <num hosts>: 选择随机的目标
    --exclude <host1[,host2][,host3],...>: 排除 hosts/networks
    --excludefile <exclude_file>: 排除文件里面的主机或者网段

选项:
    主机发现:
      -sL: 简单地列出要扫描的目标
      -sn: 禁用端口扫描
      -Pn: 跳过主机发现
      -PS/PA/PU/PY[portlist]:  发现 tcp/udp/sctp 开启的端口
      -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes(icmp输出,时间戳、网络请求发现探测)
      -PO[protocol list]: IP Protocol Ping
      --traceroute: 追踪每一个主机的路径

    扫描和探测技术:
      -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 扫描
      -sU: UDP 扫描
      -sI <zombie host[:probeport]>: 空闲扫描
      -sO: ip协议扫描
      -p <port ranges>: 扫描指定的端口   #-p22;   -p1-65535;   -p U:53,111,137,T:21-25,80,139,8080,S:9    
      -F: 快速模式
      -sV: 探测打开的端口以确定 服务/版本 信息
      -O: 启用操作系统检测
      --osscan-limit: 限制操作系统探测到有前途的目标

    MISC:
      -6: 支持IPv6扫描
      -A: 启用操作系统检测、版本检测、脚本扫描和路由追踪    #这个花费时间比较长,输出的结果也比较详细
      -V: 显示版本


例如:
nmap -A www.baidu.com
nmap -sn 192.168.0.0/16 10.0.0.0/8
nmap -iR 10000 -Pn -p 80
nmap -sP www.baidu.com
nmap -sS www.baidu.com

一、检测主机是否正常运行

msf 监听centos nmap监听端口_linux

备注:
获取在线的IP地址信息 nmap -sP ip/域名 | grep “Nmap scan report for”|awk ‘{print $5}’

二、检查开启端口信息

msf 监听centos nmap监听端口_nmap_02

备注:
获取在开放端口信息 nmap -sS/sT ip/域名 | grep “open”|awk ‘{print $1}’

三、nmap常用命令
进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):

nmap -sP 192.168.1.0/24

仅列出指定网络上的每台主机,不发送任何报文到目标主机:

nmap -sL 192.168.1.0/24

探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):

nmap -PS 192.168.1.234

使用UDP ping探测主机:

nmap -PU 192.168.1.0/24

使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:

nmap -sS 192.168.1.0/24