Nmap使用详解
文章目录一、Nmap介绍二、安装Nmap三、Nmap常用方法1、扫描单个目标地址2、扫描多个目标地址3、扫描一个范围内的目标地址4、扫描目标地址所在的某个网段5、扫描列表 targets.txt 中的所有目标地址6、扫描除某一个目标地址之外的所有目标地址7、扫描除某一文件中的目标地址之外的目标地址8、-p 扫描某一目标地址的21、22、23、80端口9、--traceroute 路由跟踪10、-sP 所在C段的在线状况11、-O 操作系统识别12、-Pn 跳过Ping扫描无ping扫描13、-sV 版本探测14、-sS 半开放扫描15、--script ssl-enum-ciphers 探测 SSL/TLS 版本和加密算法16、--scriptvuln 漏洞扫描一、Nmap介绍Nmap(Network Mapper网络映射器)是一款开放源代码的网络探测和安全审核工具。它被设计用来快速扫描大型网络包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。它的图形化界面是Zenmap分布式框架为DNmap。Nmap的特点如下主机探测探测网络上的主机如列出响应TCP和ICMP请求、ICMP请求、开放特别端口的主机。端口扫描探测目标主机所开放的端口。版本检测探测目标主机的网络服务判断其服务名称及版本号。系统检测:探测目标主机的操作系统及网络设备的硬件特性。支持探测脚本的编写:使用Nmap的脚本引擎(NSE)和Lua编程语言。二、安装NmapWindows中Nmap下载地址https://nmap.org/download.html在安装的过程中按照提示一步步进行即可安装完成后可以直接通过命令行使用三、Nmap常用方法Nmap的参数较多但是通常用不了那么多以下是在渗透测试过程中比较常见的命令。1、扫描单个目标地址在Nmap后面直接添加目标地址即可扫描如下所示nmap192.168.0.1002、扫描多个目标地址如果目标地址不在同一网段或在同一网段但不连续且数量不多可以使用该方法进行扫描如下所示nmap192.168.0.1192.168.0.63、扫描一个范围内的目标地址可以指定扫描一个连续的网段中间使用“-”连接例如下列命令表示扫描范围为192.168.0.1~192.168.0.6如下所示nmap192.168.0.1-64、扫描目标地址所在的某个网段以C段为例如果目标是一个网段则可以通过添加子网掩码的方式扫描下列命令表示扫描范围为192.168.0.1192.168.0.255如下所示nmap192.168.0.1/245、扫描列表 targets.txt 中的所有目标地址扫描 targets.txt 中的地址或者网段此处导入的是绝对路径如果 targets.txt 文件与 nmap.exe 在同一个目录下则直接引用文件名即可如下所示nmap-iLC:\Users\smk\Desktop\targets.txt6、扫描除某一个目标地址之外的所有目标地址下列命令表示扫描除192.168.0.105之外的其他192.168.0.x地址从扫描结果来看确实没有对192.168.0.105进行扫描如下所示nmap192.168.0.100/24-exclude192.168.0.17、扫描除某一文件中的目标地址之外的目标地址下列命令表示扫描除了target.txt文件夹中涉及的地址或网段之外的目标地址。还是以扫描192.168.0.x网段为例在targets.txt中添加192.168.0.100和192.168.0.105从扫描结果来看已经证实该方法有效可用如下所示nmap192.168.0.100/24-excludefile C:\Users\smk\Desktop\targets.txt8、-p 扫描某一目标地址的21、22、23、80端口如果不需要对目标主机进行全端口扫描只想探测它是否开放了某一端口那么使用-p参数指定端口号将大大提升扫描速度如下所示nmap192.168.0.6-p135,443,445-p : 只扫描指定的端口-p-代表全端口扫描9、--traceroute路由跟踪下列命令表示对目标地址进行路由跟踪如下所示nmap--traceroute192.168.0.610、-sP 所在C段的在线状况已被新版本中 -sn 参数取代但仍兼容下列命令表示扫描目标地址所在C段的在线状况如下所示nmap-sP192.168.0.100/2411、-O 操作系统识别下列命令表示通过指纹识别技术识别目标地址的操作系统的版本如下所示nmap-O192.168.0.612、-Pn 跳过Ping扫描无ping扫描nmap-Pn192.168.1.113、-sV 版本探测nmap-sV192.168.1.1### 14、-sn 只单独进行主机发现默认主机发现同会发送四种不同类型的数据包来探测目标主机是否在线ICMP echo requesta TCP SYN packet to port 443(https)a TCP ACK packet to port 80(http)an ICMP timestamp request依次发送这四个报文对目标主机进行探测只要收到其中一个包的回复目标主机存活。使用四种不同类型的数据包可以避免因防火墙或丢包造成错误判断。14、-sS 半开放扫描-sS半开放扫描更不容易被目标系统的服务日志记录下来。nmap-sS-p1-65535192.168.0.1如果你是使用 sudo 或以 root 权限运行 Nmap默认是 -sS如果你是以普通用户身份运行默认则是 -sT。15、--script ssl-enum-ciphers探测 SSL/TLS 版本和加密算法nmap-sV--scriptssl-enum-ciphers-p443192.168.0.116、--scriptvuln漏洞扫描指定加载 Nmap 内置的 “漏洞检测脚本集”vuln 脚本类别这类脚本会针对目标服务此处为 80 端口的 HTTP 服务扫描常见漏洞比如 SQL 注入、XSS、目录遍历、服务版本漏洞等nmap--scriptvuln-p80192.168.56.108