简介

Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。

功能架构图

Nmap所识别的6种端口状态

open (开放的)

closed (关闭的)

filtered (被过滤的)

unfiltered (未被过滤的)

open|filtered (开放或者被过滤的)

closed|filtered (关闭或者被过滤的)

参数详解

nmap [Scan Type(s)] [Options] {target specification}

  • Nmap支持主机名,ip,网段的表示方式:
例如:blah.highon.coffee,http://namp.org/24,192.168.0.1;10.0.0-25.1-254

-iL < inputfilename >:从文件中读取待检测的目标,文件中的表示 方法支持机名,ip,网段 。

-iR < num hosts>: 随机选取,进行扫描。如果 -iR 指定为 0,则是 无休止的扫描 。

--exclude < host1 [,host2 ] [,host3 ],... >: 从扫描任务中需要排除的主机 。

--excludefile < exclude_file >: 排除文件中的 IP,格式和 -iL 指定扫描文件 的格式相同 。

  • 主机发现:
-sL :仅仅是显示,扫描的 IP 数目,不会进行任何扫描 。

-sn :ping 扫描,即主机发现 。

-Pn :不检测主机存活 。

-PS / PA / PU / PY [ portlist ] :TCP SYN Ping / TCP ACK Ping / UDP Ping 发现 。

-PE / PP / PM :使用 ICMP echo, timestamp and netmask 请求 包发现主机 。

-PO [ prococol list ] :使用 IP 协议包探测对方主机是否开启 。

-n / -R :不对 IP 进行域名反向解析/为所有的 IP 都进行域名 的反响解析 。

--dns-servers < serv1 [,serv2 ],... >: 指定自定义DNS服务器 。

--system-dns: 使用操作系统的DNS解析器 。

--traceroute:跟踪到每个主机的跳路径 。

  • 扫描技巧:
-sS / sT / sA / sW / sM :TCP SYN / TCP connect() / ACK / TCP 窗口扫描 / TCP Maimon 扫描 。

-sU : UDP 扫描 。

-sN / sF / sX : TCP Null,FIN,and Xmas 扫描 。

--scanflags < flags >:自定义 TCP 包中的 flags 。

-sI < zombie host [:probeport ] >: 空闲扫描 。

-sY / sZ :SCTP INIT / COOKIE - ECHO 扫描 。

-sO :使用 IP protocol 扫描确定目标机支持 的协议类型 。

-b < FTP relay host >: 使用 FTP bounce scan 指定端口和扫描顺序 。

  • 指定端口和扫描顺序:
-p < port ranges >: 特定的端口 -p80,443 或者 -p1-65535 。

--exclude-ports < port ranges >: 排除指定端口扫描 。

-F: 快速扫描模式,比默认的扫描端口还少 。

-r : 不随机扫描端口,默认是随机扫描的 。

--top-ports < number >: 扫描开放概率最高的 number 个端口,出现的概率需要 参考 nmap-services 文件, ubuntu 中该文件位于 / usr / share / nmap.nmap 默认扫前 1000 个 。

--port-ratio < ratio >: 扫描指定频率以上的端口 。

  • 服务版本识别:
-sV : 开放版本探测,可以直接使用 -A 同时打开 操作系统探测和版本探测 。

--version-intensity < level >:设置版本扫描强度,强度水平说明了应该使 用哪些探测报文。数值越高,服务越有可能被正确识别 。默认是 7 。 

--version-light :打开轻量级模式,为 --version-intensity 2 的别名 。

--version-all :尝试所有探测,为 --version-intensity 9 的别名 。

--version-trace :显示出详细的版本侦测过程信息 。

  • 脚本扫描:
-sC :根据端口识别的服务,调用默认脚本 。

--script=<Lua scripts>: 调用的脚本名 。

--script-args=<n1=v1,[n2=v2,...]>: 调用的脚本传递的参数 。

--script-args-file=filename: 使用文本传递参数 。

--script-trace : 显示所有发送和接收到的数据 。

--script-updatedb :更新脚本的数据库 。

--script-help=<Lua scripts>: 显示指定脚本的帮助 。

  • OS 识别:
-O :启用操作系统检测,-A 来同时启用操作系统检测和版本检测 。

--osscan-limit : 针对指定的目标进行操作系统检测 (至少需确知该主机分别有 一个 open 和 closed 的端口) 。

--osscan-guess : 推测操作系统检测结果,当 Nmap 无法确定所检测的操作系统 时,会尽可能地提供最相近的匹配,Nmap 默认进行这种匹配 。

  • 时间与性能:
选择“<时间>”的选项以秒为单位,或追加“毫秒”(毫秒),s(秒)、M(分钟),或 “ H ” (小时)的值(如30m)。

-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 >: 扫描探针重发的端口盖数 。

--scan-delay / --max-scan-delay < time >: 调整探针间的延迟 。

--min-rate < number >: 每秒发送的数据包不比 < 数字 > 慢 。

--max-rate < number >: 发送包的速度不比 < 每秒 > 数字快 。

  • 防火墙/ IDS逃避和欺骗:
-f; --mtu < val > : 指定使用分片、指定数据包的 MTU 。

-D < decoy1 , decoy2 [,ME ],... >: 使用诱饵隐蔽扫描 。

-S < IP_Address >: 源地址欺骗 。

-e < interface >:使用指定的接口 。

-g / --source-port < portnum >: 使用指定源端口 。

--proxies < url1,[ url2 ],... >:使用 HTTP 或者 SOCKS4 的代理 。

--data < hex string >: 向发送的数据包追加自定义有效载荷 。

--data-string < string >: 添加一个自定义的ASCII字符串发送的数据包 。

--data-length < num >: 填充随机数据让数据包长度达到 NUM 。

--ip-options < options >: 使用指定的 IP 选项来发送数据包 。

--ttl < val >: 设置 IP time-to-live 域 。

--spoof-mac < mac address / prefix / vendor name >: MAC 地址伪装 。

--badsum : 使用错误的 checksum 来发送数据包 。

  • Nmap 输出:
-oN :将标准输出直接写入指定的文件 。

-oX :输出 xml 文件 。

-oS :将所有的输出都改为大写 。

-oG :输出便于通过 bash 或者 perl 处理的格式,非 xml 。

-oA < basename >: 可将扫描结果以标准格式、XML 格式和 Grep 格式一 次性输出 。

-v :提高输出信息的详细度 。

-d level : 设置 debug 级别,最高是 9 。

--reason :显示端口处于带确认状态的原因 。

--open :只输出端口状态为 open 的端口 。

--packet-trace :显示所有发送或者接收到的数据包 。

--iflist :显示路由信息和接口,便于调试 。

--append-output :追加到指定的文件 。

--resume < filename >: 恢复已停止的扫描 。

--stylesheet < path / URL >: 设置 XSL 样式表,转换 XML 输出 。

--webxml :从 http://namp.org 得到 XML 的样式 。

--no-sytlesheet :忽略 XML 声明的 XSL 样式表 。

  • 其他 nmap选项:
-6 :开启 IPv6 。

-A :OS 识别,版本探测,脚本扫描和 traceroute 。

--datadir < dirname >: 说明用户 Nmap 数据文件位置 。

--send-eth / --send-ip: 使用原以太网帧发送/在原 IP 层发送 。

--privileged :假定用户具有全部权限 。

--unprovoleged :假定用户不具有全部权限,创建原始套接字需要 root 权限 。

-V :打印版本信息 。

-h :输出帮助 。

Nmap之用法的更多相关文章

  1. nmap高级用法

    nmap在信息收集中起着很大的作用,今天我来总结一些nmap常用的一些命令 常用探测主机存活方式 1.-sP:进行ping扫描 打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系 ...

  2. NMAP 基本用法

    Nmap 用途: 1.通过对设备或者防火墙的探测来审计它的安全性. 2.探测目标主机所开放的端口. 3.网络存储,网络映射,维护和资产管理.(这个有待深入) 4.通过识别新的服务器审计网络的安全性. ...

  3. Nmap工具用法详解

    Nmap                                       Network  Mapper    是一款开放源代码的网络探测和安全审核工具   1.介绍  

  4. Nmap详细用法

    探测主机存活 (1)-sP :进行ping扫描 (2) -sn: ping探测扫描主机, 不进行端口扫描 (3)-sA     发送ACK探测存活 端口扫描 (1) -sS :半开放扫描 (2) sT ...

  5. 转-Nmap扫描原理与用法

    1     Nmap介绍 操作系统与设备类型等信息. Nmap的优点: 1.      灵活.支持数十种不同的扫描方式,支持多种目标对象的扫描. 2.      强大.Nmap可以用于扫描互联网上大规 ...

  6. Nmap扫描原理与用法

    Nmap扫描原理与用法 1     Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Audit ...

  7. Web安全学习笔记之Nmap扫描原理与用法

    1     Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字N ...

  8. nmap详解之原理与用法

    前言 nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由 ...

  9. Nmap使用指南(1)

    Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由Fyo ...

随机推荐

  1. zabbix添加监控项以及常用的键值

      zabbix自身提供了丰富的监控项,下面以“cpu空闲值”为例介绍zabbix如何添加新的监控项 1.创建主机群组 配置——主机群组——创建主机群组 2.创建主机 配置——主机——创建主机 3.添 ...

  2. 【EXE报错】win10运行C#程序保存报错:HTTP 无法注册URL ,进程不具有此命名空间的访问权限

    在win10系统运行C#程序出现以下报错 异常信息 [1]异常信息:HTTP 无法注册 URL http://+:13000/Core/Real/HandheldService/.进程不具有此命名空间 ...

  3. Spring Framwork Maven dependency

    Spring Framwork 更新时间 2019.12.21 统一版本号 <properties> <!-- spring版本号 --> <spring.version ...

  4. 逻辑回归原理 面试 Logistic Regression

    逻辑回归是假设数据服从独立且服从伯努利分布,多用于二分类场景,应用极大似然估计构造损失函数,并使用梯度下降法对参数进行估计.

  5. [Vue] : Vue指令

    Vue指令之 v-cloak v-cloak是解决解决插值表达式的闪烁问题 . 给插值表达式的元素加上v-cloak <p v-cloak>{{ msg }}</p> 为v-c ...

  6. linux 搭建 jenkins 前端自动构建时,老是提示 sh: vue-cli-service: command not found

    如题. 在 shell 里面执行  env 发现一个   NODE_ENV=production  的环境变量,是这个东西的原因. 通过  unset NODE_ENV  命令去掉这个环境变量就可以了 ...

  7. 总结调试webview的方式(安卓)

    参考文章: 移动端真机调试指南 Mac 平台 Android 使用 Charles 抓包方法 Charles使用Map Local和Rewrite提高开发效率 通过chrome直接进行调试 chrom ...

  8. impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)

    impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)例如Query: select cast(round(2 / 3, 4)*100 as string)+-- ...

  9. Sublime Text 使用笔记(大全呀,菜鸟必看)

    下载和安装 Sublime Text2是一款开源的软件,不需要注册即可使用(虽然没有注册会有弹窗,但是基本不影响使用). 下载地址:http://www.sublimetext.com ,请自行根据系 ...

  10. 包与类的命名 - service tool util 区别

    包与类的命名和定位时,service tool util 常常搞混淆,在此分析一下它们的定位: 名称 特点与定位 独立性 方法和类的属性 util 通用的.与业务无关的,可以独立出来,可供其他项目使用 ...