nmap的学习使用
1 | nmap -T4 -A -sS -vv -Pn |
目标说明
-iL 从已有的ip列表文件中读取并扫描
-iR+扫描数量 随机选择目标进行扫描
--exclude+ip 不扫描此ip
主机发现
-sL 列出要扫描的ip
-sn 不进行端口扫描
-Pn 将所有主机都默认为在线,跳过主机发现
-PS/PA/PU/PY 使用TCP、SYN/ACK、udp或SCTP协议去发现端口
-PE/PP/PM:使用ICMP响应(echo)、时间戳或子网掩码请求来发现探测
-PO 使用IP协议的ping
-n 不做DNS解析
-R 总是做DNS反向解析
--dns-servers指定自定义的DNS服务器
--system-dns 使用操作系统的DNS
--traceroute 追踪每台主机的跳转路径
扫描技术
-sS/sT/sA/sW/sM:使用SYN、TCP、全连接Connect()、ACK、Window、Maimon来进行扫描
-sU UDP扫描
-sN/sF/sX 使用TCP Null(无flag)、FIN、Xmas(FIN+Push+Urgent)扫描
--scanflags +flags 自定义TCP扫描的flags
-sI 僵尸机扫描
-sY/sZ 使用SCTP协议的INIT/COOKIE-ECHO扫描
-sO 进行IP协议扫描
-b <FTP relay host>:指定FTP中继主机进行FTP反弹扫描
端口说明和扫描规则-p 只扫描指定的端口
--exclude-ports 不对此端口进行扫描
-F 快速模式,扫描比默认端口数量更少的端口
-r 有序地扫描端口而不是随机地扫描
--top-ports <number> 扫描排名指定的数字前几位的最常用的端口
--port-ratio <ratio> 扫描比输入的比例更常用的端口
服务、版本探测
-sV:探测开启的端口来获取服务、版本信息
--version-intensity <level>:设置探测服务、版本信息的强度
--version-light:强度为2的探测强度
--version-all:强度为9的探测强度
--version-trace:将扫描的具体过程显示出来
脚本扫描
-sC:等同于–script=default
--script=<Lua scripts>:指定使用Lua脚本进行扫描
--script-args=<n1=v1,[n2=v2,...]>:指定脚本的参数
--script-args-file=filename:指定提供脚本参数的文件
--script-trace:显示全部发送和收到的数据
--script-updatedb:更新脚本的数据库
--script-help=<Lua scripts>:显示脚本的相关信息
系统探测
-O:进行系统探测
--osscan-limit:限制系统探测的目标,如只探测Linux系统
--osscan-guess:更侵略性地猜测系统
定时和性能
-T<0-5>:设置时序模块,越高越快
--min-hostgroup/max-hostgroup <size>:指定最小、最大的并行主机扫描组大小
--min-parallelism/max-parallelism <numprobes>:指定最小、最大并行探测数量
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>:指定最小、最大的扫描往返时间
--max-retries <tries>:指定最大的重发扫描包的次数
--host-timeout <time>:指定超时时间
--scan-delay/--max-scan-delay <time>:指定每次探测延迟多长时间,即两次探测之间间隔多少时间
--min-rate <number>:最小的发包速率
--max-rate <number>:最大的发包速率
防火墙、IDS绕过和欺骗
-f; --mtu <val>:设置MTU最大传输单元
-D <decoy1,decoy2[,ME],...>:伪造多个IP地址和源地址一同发送包,从而隐藏在众多的IP地址中而不易被发现
-S <IP_Address>:伪造源地址
-e <iface>:使用指定的接口
-g/--source-port <portnum>:使用指定的源端口
--proxies <url1,[url2],...>:指定代理服务器进行扫描
--data <hex string>:在发送包的数据字段中追加自定义的十六进制字符串
--data-string <string>:在发送包的数据字段中追加自定义的ASCII字符串
--data-length <num>:在发送包的数据字段中追加随机的数据
--ip-options <options>:使用指定的IP选项发送包
--ttl <val>:设置TTL值
--spoof-mac <mac address/prefix/vendor name>:伪造源Mac地址
--badsum:发送伪造TCP/UDP/SCTP校验和Checksum的数据包
输出
-oN/-oX/-oS/-oG <file>:分别输出正常、XML、s|
杂项
-6:扫描IPv6的地址
-A:一次扫描包含系统探测、版本探测、脚本扫描和跟踪扫描
--datadir <dirname>:指定自定义的数据文件位置
--send-eth/--send-ip:使用原始以太网帧或IP数据包发送
--privileged:假设用户有全部权限
--unprivileged:假设用户缺少原始套接字权限
-V:输出版本号
-h:输出帮助信息