Nmap官网:nmap.org
目标说明:
代码语言:javascript复制# 目标格式
192.168.0.1
192.168.0.1/24
192.168.0-255.0-255
# 批量扫描(扫描文件中的主机)
-iL filename
# 随机目标,num为0时一直生成随机目标扫描
-iR num
# 排除某些主机(直接输入或从文件输入)
--exclude host1,host2
--excludefile filename
主机发现:
代码语言:javascript复制# 仅列出指定网络上的每台主机, 不发送任何报文到目标主机
-sL
# 仅进行Ping扫描
-sP
# 无ping扫描
-P0
# 发送一个设置了SYN标志位的空TCP报文,默认目标端口为80,可指定其它端口
-PS
-PS22,80,125
# 发送一个设置了ACK标志位的空TCP报文,默认目标端口为80,可指定其它端口
-PA
-PA22,80,125
# 发送一个空的UDP报文到指定端口,默认目标端口为31338,可指定其它端口
-PU
-PU22,80,125
# 打开回声请求功能
-PE
# 时间戳查询
-PP
# 地址掩码查询
-PM
# ARP扫描
-PR
# 不做域名解析
-n
# 为所有的目标解析域名(包括不存活)
-R
# 使用系统域名解析器(一般在主机上配置的域名服务器上解析)
--system-dns
端口扫描:
代码语言:javascript复制# TCP SYN扫描(半开放扫描)
-sS
# TCP connect()扫描
-sT
# UDP扫描
-sU
# 不设置任何标志位
-sN
# 只设置TCP FIN标志位
-sF
# 设置FIN,PSH,和URG标志位
-sX
# TCP ACK扫描
-sA
# TCP窗口扫描
-sW
# TCP Maimon扫描
-sM
# 自定义TCP标志位扫描,URG, ACK,PSH, RST,SYN,and FIN的任何组合就行(无顺序)
--scanflags URGACKPSH
# IP协议扫描
-s0
# FTP弹跳扫描
-b
# 某高级的扫描(去网上找找)
-sI
端口说明和扫描顺序:
代码语言:javascript复制# 只扫描指定端口,可分别指定TCP和UDP端口
# 同时扫描要加上参数-sU,以及一个TCP扫描类型(-sS,-sF,-sT)
-p U:53,111,137,T:21-25,80,139,8080
# 有限端口扫描
# 在nmap-services指定端口,或使用--datadir指定文件中的端口
-F
# 顺序扫描(一般随机扫描,常用端口靠前)
-r
服务和版本探测:
代码语言:javascript复制# 版本探测,用-A同时打开操作系统探测和版本探测
-sV
# 不为版本探测排除任何端口
--allports
# 设置版本扫描强度,0-9,默认7
--version-intensity 7
# 轻量扫描,相当于--version-intensity 2
--version-light
# 全扫描,相当于--version-intensity 9
--version-all
# 跟踪版本扫描活动
--version-trace
# RPC扫描,使用-sV时自动打开
-sR
操作系统检测:
代码语言:javascript复制# 启用操作系统检测,用-A同时打开操作系统探测和版本探测(需开启-O或-A)
-O
# 针对指定目标进行操作系统进行检测
--osscan-limit
# 推测操作系统检测结果
--osscan-guess
时间和性能:
代码语言:javascript复制# 放弃低速目标主机(可设置等待时间)
--host-timeout 10000ms
# 调整探测报文的时间间隔
--scan-delay 1000ms
--max-scan-delay 1000ms
# 设置时间模板(默认T3)
-T0~T5
绕过WAF:
代码语言:javascript复制# 报文分段
-f
# 使用诱饵隐蔽扫描(用逗号分隔)
-D ip1,ip2
# 源地址哄骗
-S ip
# 源端口哄骗
--source-port port
-g port
# MAC地址哄骗
--spoof-mac mac
# 发送报文时附加随机数据
--data-length num
# 设置IP time-to-live域
--ttl value
输出:
代码语言:javascript复制# 标准输出
-oN filename
# XML输出
-oX filename
# 脚本小子笑话输出
-oS filename
# Grep输出
-oG filename
# 标准,XML,Grep都输出
-oA filename
# 提高输出详细度
-v
# 设置调试级别(开启-v)
-d0~d9
# 追加模式(默认覆盖)
--append-output
# 继续上次中断的扫描,需要-oN或-oG的日志
--resume logname
其它参数:
代码语言:javascript复制# 开启ipv6
-6
# 激烈扫描模式
-A
# 说明用户Nmap数据文件位置
--datadir dirname
# 使用原以太网帧发送
--send-eth
# 在原IP层发送
--send-ip
# 假定用户具有全部权限
--privileged
# 打印版本信息
-V
--version
# 打印帮助信息
-h
--help