简介:

  Nmap(“ Network Mapper ”)是用于网络探索和安全审核的开源工具。它设计用于快速扫描大型网络,尽管它可以在单个主机上正常运行。Nmap以新颖的方式使用原始IP数据包来确定网络上可用的主机,这些主机提供的服务(应用程序名称和版本),它们正在运行的操作系统(和OS版本),包过滤器/防火墙的类型。正在使用中,还有许多其他特性。尽管Nmap通常用于安全审核,但许多系统和网络管理员发现它对于日常任务(如网络清单,管理服务升级计划以及监视主机或服务正常运行时间)很有用。

基本用法:nmap [扫描类型] [选项] {目标规范}

目标规格:

可以传递主机名,IP地址,网络等。

例如:scanme.nmap.org,microsoft.com / 24、192.168.0.1; 10.0.0-255.1-254

-iL <输入文件名>:从主机/网络列表输入

-iR <主机数目>:选择随机目标

--exclude <host1 [,host2] [,host3],...>:排除主机/网络

--excludefile <exclude_file>:从文件中排除列表

主机发现:

-sL:列出扫描-仅列出要扫描的目标

-sn:Ping扫描-禁用端口扫描

-Pn:将所有主机视为开机-跳过主机发现,直接进行端口扫描

-PS / PA / PU / PY [端口列表]:对给定端口的TCP SYN / ACK,UDP或SCTP发现

-PE / PP / PM:ICMP回显,时间戳和网络掩码请求发现探针

-PO [协议列表]:IP协议Ping

-n / -R:从不解析DNS /始终解析[默认值:有时]

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

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

--traceroute:跟踪到每个主机的跃点路径

扫描技术:

-sS / sT / sA / sW / sM:TCP SYN / Connect()/ ACK / Window / Maimon扫描

-sU:UDP扫描

-sN / sF / sX:TCP空,FIN和Xmas扫描

--scanflags <标志>:自定义TCP扫描标志

-sI <僵尸主机[:probeport]>:空闲扫描

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

-sO:IP协议扫描

-b <FTP中继主机>:FTP退回扫描

端口规格和扫描顺序:

-p <端口范围>:仅扫描指定的端口,例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9

--exclude-ports <端口范围>:从扫描中排除指定端口

-F:快速模式-扫描的端口少于默认扫描

-r:连续扫描端口-不要随机化

--top-ports <编号>:扫描<编号>最常见的端口

--port-ratio <比率>:扫描端口比<比率>更常见

服务/版本检测:

-sV:探测打开的端口以确定服务/版本信息

--version-intensity <级别>:设置为0(浅)至9(尝试所有探针)

--version-light:限制为最可能的探针(强度2)

--version-all:尝试每个探针(强度9)

--version-trace:显示详细的版本扫描活动(用于调试)脚本扫描:

  -sC:相当于--script = default

--script = <Lua脚本>:<Lua脚本>是逗号分隔的列表目录,脚本文件或脚本类别

--script-args = <n1 = v1,[n2 = v2,...]>:提供脚本参数

--script-args-file =文件名:在文件中提供NSE脚本args

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

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

--script-help = <Lua脚本>:显示有关脚本的帮助。<Lua脚本>是逗号分隔的脚本文件列表,或者脚本类别。

操作系统检测:

-O:启用操作系统检测

--osscan-limit:将操作系统检测限制为有希望的目标

--osscan-guess:更积极地猜测操作系统

时间和性能:

花费<时间>的选项以秒为单位,或附加“ ms”(毫秒),  “ s”(秒),“ m”(分钟)或“ h”(小时)到值(例如30m)。

-T <0-5>:设置时序模板(越高越快)

--min-hostgroup / max-hostgroup <大小>:并行主机扫描组大小

--min-parallelism / max-parallelism <numprobes>:探针并行化

--min-rtt-timeout / max-rtt-timeout / initial-rtt-timeout <时间>:指定探测往返时间。

--max-retries <tries>:限制端口扫描探针重传的次数。

--host-timeout <时间>:在很长一段时间后放弃目标

--scan-delay /-max-scan-delay <时间>:调整探头之间的延迟

--min-rate <number>:每秒发送数据包的速度不低于<number>

--max-rate <number>:每秒发送数据包的速度不超过<number>

防火墙/标识闪避和疏散:

-F; --mtu <val>:分段数据包(可选,带有给定的MTU)

-D <decoy1,decoy2 [,ME],...>:用诱饵掩盖扫描

-S <IP地址>:欺骗源地址

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

-g /-source-port <端口号>:使用给定的端口号

--proxies <url1,[url2],...>:通过HTTP / SOCKS4代理中继连接

--data <十六进制字符串>:将自定义有效负载附加到发送的数据包

--data-string <字符串>:将自定义ASCII字符串附加到发送的数据包

--data-length <num>:将随机数据附加到发送的数据包

--ip-options <选项>:发送具有指定ip选项的数据包

--ttl <val>:设置IP生存时间字段

--spoof-mac <mac地址/前缀/供应商名称>:欺骗您的MAC地址

--badsum:发送带有虚假TCP / UDP / SCTP校验和的数据包

输出:

-oN / -oX / -oS / -oG <文件>:以普通,XML,s | <rIpt kIddi3, 和Grepable格式分别更改为给定的文件名。

-oA <basename>:一次以三种主要格式输出

-v:提高详细程度(使用-vv或更高的效果更好)

-d:提高调试级别(使用-dd或更多以获得更大的效果)

--reason:显示端口处于特定状态的原因

--open:仅显示打开(或可能打开)的端口

--packet-trace:显示所有发送和接收的数据包

--iflist:打印主机接口和路由(用于调试)

--append-output:追加而不是破坏指定的输出文件

--resume <文件名>:恢复中止的扫描

--stylesheet <路径/ URL>:XSL样式表,可将XML输出转换为HTML

--webxml:Nmap.Org的参考样式表,用于更便携式的XML

--no-stylesheet:防止关联带有XML输出的XSL样式表

MISC:

-6:启用IPv6扫描

-A:启用操作系统检测,版本检测,脚本扫描和跟踪路由

--datadir <目录名>:指定自定义Nmap数据文件位置

--send-eth /-send-ip:使用原始以太网帧或IP数据包发送

--privileged:假设用户具有完全特权

--unprivileged:假设用户缺乏原始套接字特权

-V:打印版本号

-h:打印此帮助摘要页面。

例子:

nmap -v -A scanme.nmap.org

nmap -v -sn 192.168.0.0/16 10.0.0.0/8

nmap -v -iR 10000 -Pn -p 80

有关更多选项和示例,请参见手册页(https://nmap.org/book/man.html)

nmap中文帮助文档的更多相关文章

  1. DecimalFormat 中的 # 与 0 的区别(中文帮助文档中翻译可能是错误的)

    想对数字进行格式化的时候,可能会使用到 java.text.DecimalFormat 类.中文帮助文档中,有如下符号 位置 本地化 含义 0 数字 是 阿拉伯数字 # 数字 是 阿拉伯数字,如果不存 ...

  2. 强大的矢量图形库:Raphael JS 中文帮助文档及教程

    Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库.它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,你可以通过 JavaScript 操作 DOM 来轻松创建出 ...

  3. vim中文帮助文档安装

    vim自带的帮助手册是英文的, 对平时编程的人来说没有多大阅读困难,在何况还有"星级译王"呢, 但是我猜和我一样连英语四级都愁的大有人,可偏偏就有一帮好心人人将其翻译成了中文, 可 ...

  4. 【译】StackExchange.Redis中文使用文档

    StackExchange.Redis中文使用文档 Intro 最近想深入学习一些 Redis 相关的东西.于是看了看官方的项目StackExchange.Redis,发现里面有一份文档,于是打算翻译 ...

  5. StackExchange.Redis中文使用文档

    StackExchange.Redis中文使用文档 Intro 最近想深入学习一些 Redis 相关的东西.于是看了看官方的项目 StackExchange,发现里面有一份文档,于是打算翻译成中文,方 ...

  6. Entity Framework Core 中文入门文档

    点击链接查看文档: Entity Framework Core 中文入门文档

  7. django 中文入门文档

    django中文入门文档:阅读地址

  8. [No0000190]vim8安装教程和vim中文帮助文档Vimcdoc安装方法-Vim使用技巧(5)

    Vim8.0是近十年来的一次大更新,支持任务.异步I/O.Channels和JSON以及异步计时器.Lambdas 和 Closures等,还包括对GTK + 3的支持.由于ubuntu默认安装的Vi ...

  9. Plupload上传插件中文帮助文档

    Plupload上传插件中文帮助文档 配置参数 实例化一个plupload对象时,也就是 new plupload.Uploader(),需要传入一个对象作为配置参数.后面内容中出现的plupload ...

随机推荐

  1. 关于类似QQ的展开和折叠效果的实现

    介绍: 1.两级折叠与展开: 实现原理如下: 1>通过表视图的组的头视图和单元格实现; 2>通过改变cell的高度实现; 3>通过cell实现; 实现 UITableView 的ce ...

  2. Swift学习 (四)

    5.枚举与结构体: 不必给枚举成员提供一个值.如果我们想要为枚举成员提供一个值(raw value),我们可以用字符串,字符,整型或浮点数类型. 1 2 3 4 5 6 7 enum CompassP ...

  3. 用Inno setup制作以管理员权限启动的安装包

    inno setup制作的安装包,默认是不需要管理员权限启动的.我们制作安装包,往往需要做一些设置工作,这些设置工作可能用到管理员权限.使用Resource Hacker修改inno setup资源, ...

  4. Codis的安装配置

    codis是分布式redis解决方案 centos系统下安装codis需要安装相关的依赖,将图中的依赖上传至centos系统中 依次进行安装: 一.go环境的安装配置 解压到install目录下: . ...

  5. jquery-easyui中改变【确认框控件的按钮文字】($.messager.confirm)

    根据API这句话,就很自然想到重写该方法,代码如下: $.messager.defaults = { ok: "通过", cancel: "不通过" ,widt ...

  6. springboot与redis

    该项目已上传至GitHub:https://github.com/xiaostudy/springboot_redis 用到的框架技术有:springboot.mybatis.shiro.redis ...

  7. lamp和xampp和lampp的区别

    lamp:我们最常说的lamp,是一种系统环境,由Linux+Apache+Mysql+PHP构成,常用来运行web服务器.要在系统上完成这个环境的安装,可以很复杂的一步一步编译和设置,也可以用已经集 ...

  8. Acquire and Release Fences

    转载自:   http://preshing.com/20130922/acquire-and-release-fences/ Acquire and release fences, in my op ...

  9. [转帖]Keccak简介

    Keccak简介 https://blog.csdn.net/chengqiuming/article/details/82819769 2018年09月23日 08:04:40 cakincqm 阅 ...

  10. Spring IoC 详解(四)

    Spring IoC 概述 IoC:Inverse of Control(控制反转) 为了更好的理解用可以这样通俗易懂的这样讲:IOC主要是说是new一个类来使用,方式分为:开发这手动创建和Sprin ...