Nmap 学习笔记(一)


Nmap(Network Mapper,网络映射器)是一款开源的网络探测和安全审核工具,它可以用来快速进行主机探测与发现、端口开放情况、操作系统与指纹识别、WAF(防火墙)识别及常见漏洞扫描。
Nmap官方中文链接:https://nmap.org/man/zh/index.html

Nmap特点:

  • 主机探测:探测网络上的主机;
  • 端口检测:探测目标主机所开发的端口;
  • 版本检测:探测目标主机的网络服务,判断其服务名称及版本号;
  • 系统检测:探测目标主机的操作系统及网络设备的硬件特性;
  • 支持探测脚本的编写:NSE(脚本引擎)和Lua编程;

Nmap用法:

nmap [扫描类型] [选项] {目标规范}

  • --help:显示帮助文档;

扫描目标规格参数:
  • -iL:从文件中导入目标主机或者目标网段;
  • -iR:随机选择目标主机;
  • --exclude:使主机/网段不在扫描范围内;
  • --excludefile:使导入文件中的主机或者网段不在扫描范围内;

主机发现参数:
  • -sL:List Scan(列表扫描),简单的列表扫描,仅列举指定目标的IP,不进行主机发现;
  • -sn:Ping Scan,只进行主机发现,不进行端口扫描;
  • -Pn:将所有指定的主机视作已开启,跳过主机发现的过程;
  • -PS/PA/PU/PY[portlist]:使用TCP SYN/ACK,UDP/SCTP发现给定端口;
  • -PE/PP/PM:使用ICMP echo、timestamp、netmask请求包发现主机;
  • -PO[protocol list]:使用IP协议包探测对方主机是否开启;
  • -n/-R:-n表示不进行DNS解析,-R表示总是进行DNS解析;
  • --dns-servers<serv1[,serv2],…>:指定自定义DNS服务器;
  • --system-dns:使用系统的DNS服务器;
  • --traceroute:追踪每个路由节点;

端口扫描参数:
  • -sS/sT/sA/sW/sM:指定使用TCP SYN/Connect()/ACK/Window/Maimon scans的方式对目标主机进行扫描;
  • -sU:指定使用UDP扫描;
  • -sN/sF/sX:指定使用TCP Null/FIN/Xmax scans秘密扫描的方式协助探测对方的TCP端口状态;
  • --scanflage<flags>:自定义TCP包的flags;
  • -sI<zombie host[:probeport]>:指定使用Idle scan的方式扫描目标主机(前提是需要知道适合的zombie host);
  • -sY/sZ:使用SCTP INIT/COOKIE-ECHO扫描SCTP协议端口的开放状况;
  • -sO:使用IP protocol扫描确定目标机支持的协议类型;
  • -b<FTP relay host>:使用FTP bounce scan 扫描方式;

端口规格与扫描顺序参数:
  • -p<port ranges>:扫描指定的端口;
  • --exclude-ports <port ranges>:从扫描中排除指定端口;
  • -F:Fast mode(快速模式),仅扫描TOP 100的端口;
  • -r:连续扫描端口,不进行端口随机打乱(如无该参数,Nmap会将要扫描的端口以随机顺序的方式进行扫描,让Nmap的扫描不易被对方防火墙检测到);
  • --top-ports<number>:扫描开放概率最高的number个端口(默认情况下,Nmap会扫描最有可能的1000个TCP端口);
  • --port-ratio<ratio>:扫描指定频率以上的端口,与上述–top-ports类似,这里以概率作为参数,概率大于–port-ratio的端口才被扫描,显然参数必须在0~1之间,想了解具备的概率范围可以查看nmap-services文件;

版本侦查参数:
  • -sV:指定让Nmap进行版本侦测;
  • --version-intensity<level>:指定版本侦测的强度(0~9),默认为7,数值越高,探测出的服务越准确,但是运行时间会比较长;
  • --version-light:指定使用轻量级侦测方式(intensity 2);
  • --version-all:尝试使用所用的probes进行侦侧(intensity 9);
  • --version-trace:显示出详细的版本侦测过程信息;

脚本扫描参数:
  • sC:脚本默认扫描,相当于--script=default
  • --script=<Lua scripts><Lua scripts>是一个逗号分隔的目录列表、脚本文件或脚本类别,使用某个脚本扫描;
  • --script-args=<n1=v1,[n2=v2,...]>:该参数用于传递脚本里的参数,n1是参数名,v1是n1对应的参数,如果有多参数用逗号隔开;
  • --script-args-file=filename:使用文件为脚本提供参数;
  • --script-trace:显示脚本执行过程中的所有发送和接收的数据;
  • --script-updatedb:更新脚本数据库;
  • --script-help=<Lua scripts>:查看脚本详细介绍及其使用方式;

操作系统检测参数:
  • O:操作系统检测,也可以使用-A来同时启用操作系统检测和版本检测;
  • --osscan-limit:针对指定的目标进行操作系统检测;
  • --osscan-guess:推测操作系统检测结果;

时间和性能参数:

采用<time>的选项以秒为单位,或将’ms’(毫秒)、‘s’(秒)、‘m’(分钟)或’h’(小时)附加到值(例如30m)。

  • -T<0-5>:设置时间模板(越高越快),(paranoid|sneaky|polite|normal|aggressive|insane);
  • --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>:每秒发送数据包的速度不低于<number>;
  • --max-rate <number>:每秒发送数据包的速度不高于<number>;

防火墙/IDS躲避和哄骗:
  • -f; --mtu <val>-f为报文分段,--mtu为指定的MTU,将TCP头分段到几个包中,使得包过滤器、 IDS以及其它工具的检测更加困难;
  • -D <decoy1,decoy2[,ME],...>:使用诱饵隐蔽扫描,常用的隐藏自身IP地址的有效技术;
  • -S <IP_Address>:源地址哄骗;
  • -e <interface>: 使用指定的接口;
  • ---source-port <portnumber>; -g <portnumber>:源端口哄骗;
  • --data-length <number>:发送报文时附加随机数据;
  • --ttl <value>:设置IP time-to-live域;
  • --randomize-hosts:对目标主机的顺序随机排列;
  • --spoof-mac <mac address,prefix,or vendor name>:MAC地址哄骗;

输出参数:
  • -oN/-oX/-oS/-oG <file>::标准输出/XML输出/脚本小子输出(ScRipT KIdd|3 oUTpuT)/Grep输出;
  • -oA <basename>:输出至所有格式;
  • -v:提高输出信息的详细度;
  • -d [level]:提高或设置调试级别;
  • --packet-trace:跟踪发送和接收的报文;
  • --iflist:列举接口和路由;
  • --append-output:在输出文件中添加;
  • --resume:继续中断的扫描;
  • --stylesheet <path or URL>:设置XSL样式表,转换XML输出;
  • --no-stylesheet:忽略XML声明的XSL样式表;

其它参数:
  • -6:启用IPv6扫描;
  • -A:启用系统检测、版本检测、脚本扫描和跟踪路由;
  • --datadir <directoryname>:说明用户Nmap数据文件位置;
  • --send-eth/--send-ip:使用以太网帧或IP数据包发送;
  • --privileged:假定用户具有全部权限;
  • --unprivileged:假设用户缺少原始套接字特权;
  • -V:显示版本信息;
  • -h/-help:显示帮助文档;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值