针对目标
nmap 192.168.1.1 扫描一个IP
nmap 192.168.1.1 192.168.2.1 扫描IP段
nmap 192.168.1.1-254 扫描一个范围
nmap nmap.org 扫描一个域名
nmap 192.168.1.0/24 使用CIDR表示法扫描
nmap -iL target.txt 扫描文件中的目标
nmap -iR 100 扫描100个随机主机
nmap --exclude 192.168.1.1 排除列出的主机
针对端口
nmap 192.168.1.1 -p 21 扫描特定端口
nmap 192.168.1.1 -p 21-100 扫描端口范围
nmap 192.168.1.1 -p U:53,T:21-25,80 扫描多个TCP和UDP端口
nmap 192.168.1.1 -p- 扫描所有端口
nmap 192.168.1.1 -p http,https 基于服务名称的端口扫描
nmap 192.168.1.1 -F 快速扫描(100个端口)
nmap 192.168.1.1 --top-ports 2000 扫描前2000个端口
nmap 192.168.1.1 -p-65535 从端口1开始扫描
扫描手法
nmap 192.168.1.1 -sS TCP SYN端口扫描(有root权限默认)
nmap 192.168.1.1 -sT TCP连接端口扫描(没有root权限默认)
nmap 192.168.1.1 -sU UDP端口扫描
nmap 192.168.1.1 -sA TCP ACK端口扫描
nmap 192.168.1.1 -sW 滑动窗口扫描
nmap 192.168.1.1 -sM TCP Maimon扫描
nmap 192.168.1.1-3 -sL 不扫描,仅列出目标
nmap 192.168.1.1/24 -sn 禁用端口扫描
nmap 192.168.1.1-5 -Pn 跳过主机发现,直接扫描端口
nmap 192.168.1.1-5 -PS22-25,80 端口X上的TCP SYN发现,默认80
nmap 192.168.1.1-5 -PA22-25,80 端口X上的TCP ACK发现,默认80
nmap 192.168.1.1-5 -PU53 端口X上的UDP发现,默认40125
nmap 192.168.1.1/24 -PR 本地网络上的ARP发现
nmap 192.168.1.1 -n 不做DNS解析
有关线程
nmap 192.168.1.1 -T0 妄想症,非常非常慢,用于IDS逃逸
nmap 192.168.1.1 -T1 猥琐的,相当慢,用于IDS逃逸
nmap 192.168.1.1 -T2 礼貌的,降低速度以消耗更小的带宽,比默认慢十倍
nmap 192.168.1.1 -T3 正常的,默认,根据目标的反应自动调整时间模式
nmap 192.168.1.1 -T4 野蛮的,在一个很好的网络环境,请求可能会淹没目标
nmap 192.168.1.1 -T5 疯狂的,很可能会淹没目标端口或是漏掉一些开放端口
使用脚本
nmap 192.168.1.1 -sC 使用默认的NSE脚本进行扫描
nmap 192.168.1.1 --script=banner 使用单个脚本扫描,banner示例
nmap 192.168.1.1 --script=http,banner 使用两个脚本扫描,示例http,banner
nmap 192.168.1.1 --script=http* 使用通配符扫描,http示例
nmap 192.168.1.1 --script "not intrusive" 扫描默认值,删除侵入性脚本
nmap 192.168.1.1 --script=smb-vuln* 扫描所有smb漏洞
nmap 192.168.1.1 --script=vuln 扫描常见漏洞
输出
nmap 192.168.1.1 -v 增加详细程度,-vv效果更好
nmap 192.168.1.1 -oN test.txt 标准输出写入到指定文件中
nmap 192.168.1.1 -oX test.xml 将输入写成xml的形式
nmap 192.168.1.1 -oG grep.txt 将输出写成特殊格式
nmap 192.168.1.1 -oA results 将输出所有格式,有三种 .xml/.gnmap/.nmap
nmap 192.168.1.1 --open 仅显示开放的端口
nmap 192.168.1.1 -T4 --packet-trace 显示所有发送和接收的数据包
nmap --resume test.txt 恢复扫描,配合-oG等命令使用