Nmap之用法
简介
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之用法的更多相关文章
- nmap高级用法
nmap在信息收集中起着很大的作用,今天我来总结一些nmap常用的一些命令 常用探测主机存活方式 1.-sP:进行ping扫描 打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系 ...
- NMAP 基本用法
Nmap 用途: 1.通过对设备或者防火墙的探测来审计它的安全性. 2.探测目标主机所开放的端口. 3.网络存储,网络映射,维护和资产管理.(这个有待深入) 4.通过识别新的服务器审计网络的安全性. ...
- Nmap工具用法详解
Nmap Network Mapper 是一款开放源代码的网络探测和安全审核工具 1.介绍
- Nmap详细用法
探测主机存活 (1)-sP :进行ping扫描 (2) -sn: ping探测扫描主机, 不进行端口扫描 (3)-sA 发送ACK探测存活 端口扫描 (1) -sS :半开放扫描 (2) sT ...
- 转-Nmap扫描原理与用法
1 Nmap介绍 操作系统与设备类型等信息. Nmap的优点: 1. 灵活.支持数十种不同的扫描方式,支持多种目标对象的扫描. 2. 强大.Nmap可以用于扫描互联网上大规 ...
- Nmap扫描原理与用法
Nmap扫描原理与用法 1 Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Audit ...
- Web安全学习笔记之Nmap扫描原理与用法
1 Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字N ...
- nmap详解之原理与用法
前言 nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由 ...
- Nmap使用指南(1)
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由Fyo ...
随机推荐
- SpringMVC防止重复提交
作者:mylovepan 推荐:GOODDEEP 问题描述: 现在的网站在注册步骤中,由于后台要处理大量信息,造成响应变慢(测试机器性能差也是造成变慢的一个因素),在前端页面提交信息之前,等待后端响应 ...
- Mybatis中的拦截器
作者:moshenglv的专栏 拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法. ...
- CF311B Cats Transport(斜率优化)
题目描述 Zxr960115 是一个大农场主.他养了m只可爱的猫子,雇佣了p个铲屎官.这里有一条又直又长的道路穿过了农场,有n个山丘坐落在道路周围,编号自左往右从1到n.山丘i与山丘i-1的距离是Di ...
- BZOJ 3924 / Luogu P3345 [ZJOI2015]幻想乡战略游戏 (动态点分治/点分树)
题意 树的结构不变,每个点有点权,每一条边有边权,有修改点权的操作,设xxx为树中一点.求∑idist(x,i)∗a[i]\sum_idist(x,i)*a[i]i∑dist(x,i)∗a[i]的最 ...
- MFC 类内线程函数
线程函数必须是全局函数或静态成员函数. 非静态成员函数都有一个隐含的参数用于接收所属类的this指针,一般情况下调用时参数不匹配.所以static可以干掉隐含的参数. 但是没有了this,类内的函数就 ...
- 011_linuxC++之_继承的引入
(一)面向对象程序设计中最重要的一个概念是继承.继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易.这样做,也达到了重用代码功能和提高执行时间的效果. (二)引入继承程序 # ...
- [Hihocoder] 字符串排序
题目 http://hihocoder.com/problemset/problem/1712 题解 https://www.zybuluo.com/wsndy-xx/note/1135606
- Kernel Knights (Gym - 101480K)
题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; int a[200005]; //存放原始 ...
- 集合家族——Vector
一.vector简介 Vector 可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vector 的大小是可以增加或者减小的,以便适应创建 Vector 后进行添加或 ...
- JAVA编程思想第二章答案
欢迎访问我的CSDN博客查看https://mp.csdn.net/mdeditor/94797839# 有其他问题欢迎发送邮箱至hpzhangjunjiell@163.com 感谢