Nmap的使用

简介: Nmap是一款开源的网络安全扫描工具,用于网络发现和安全审计。它能检测网络上的主机和服务,识别操作系统、开放端口、服务版本,并查找潜在的安全漏洞。Nmap支持多种扫描类型,如主机发现(-sn, -sP等)、端口扫描(-sS, -sT等)、服务和版本探测(-sV)以及操作系统检测(-O)。在使用时,要确保合法性和合规性,避免扫描未经授权的网络。常见参数如 `-oX` 用于输出XML报告,`-A` 选项则进行全面扫描。基础用法包括对单个IP、子网或文件中列出的IP进行扫描。注意,扫描可能消耗大量资源并应适时更新以保证准确性。

NMAP简介

(Network Mapper)是一款开源且免费的网络安全扫描工具,广泛用于网络发现和安全审计。它能够帮助网络管理员和安全专家检测网络上的设备和服务,识别操作系统类型、开放的端口、服务版本以及可能存在的安全漏洞。nmap的强大之处在于其广泛的扫描能力、详细的报告功能以及易于使用的命令行界面。


nmap参考指南(中文版):

https://nmap.org/man/zh/


注意事项

  • 在使用 nmap 进行网络扫描时,务必确保你有权对目标网络进行扫描,以避免侵犯隐私和违反法律法规。
  • 扫描可能会消耗大量的网络带宽和计算资源,因此在进行大规模扫描时,请考虑合理安排时间和资源。
  • 不断更新 nmap 和相关的漏洞数据库,以确保扫描结果的准确性和及时性。

功能介绍

1. 检测网络存活主机(主机发现)

2. 检测主机开放端口(端口发现或枚举)

3. 检测相应端口软件(服务发现)版本

4. 检测操作系统,硬件地址,以及软件版本

5. 检测脆弱性的漏洞(nmap的脚本)


端口状态

Open                   端口开启,数据有到达主机,有程序在端口上监控

Closed                  端口关闭,数据有到达主机,没有程序在端口上监控

Filtered                 数据没有到达主机,返回的结果为空,数据被防火墙或IDS过滤

UnFiltered            数据有到达主机,但是不能识别端口的当前状态

Open|Filtered      端口没有返回值,主要发生在UDPIPFINNULL和Xmas扫描中

Closed|Filtered    只发生在IP ID idle扫描


常用的Nmap操作参数及其功能介绍

1. 主机发现

-sn:Ping扫描,仅进行主机发现,不进行端口扫描。

-sP:使用Ping扫描判断主机是否存活,但不做进一步测试(如端口扫描或操作系统探测)。

-PE-PP-PM:使用不同类型的ICMP请求包(如Echo、Timestamp、Address Mask)进行主机发现。

-PS [portlist]:使用TCP SYN包进行主机发现。

-PA [portlist]:使用TCP ACK包进行主机发现,适用于某些防火墙封锁SYN请求的场景。

-PU [portlist]:使用UDP包进行主机发现,可以穿越只过滤TCP的防火墙。

-Pn:假定所有指定的主机都是活跃的,跳过主机发现阶段,直接进行端口扫描。

2. 端口扫描

-sS:TCP SYN扫描,半开放扫描,不是完整的TCP连接。

-sT:TCP connect()扫描,全连接扫描,准确性高但耗时长。

-sU:UDP扫描,用于扫描UDP端口。

-sN-sF-sX:使用TCP Null、FIN、Xmas(包含FIN、Push、Urgent)扫描进行秘密扫描。

-p:指定扫描的端口或端口范围,如-p 80-p 1-65535

--exclude-ports:排除指定的端口或端口范围,不对其进行扫描。

3. 服务和版本探测

-sV:探测开放端口的服务和版本信息。

--version-intensity:设置服务版本检测的强度级别,0到9,数字越高表示检测的强度越大。

4. 操作系统检测

-O:启用操作系统检测。

5. 扫描性能

-T:设置扫描的时间模板,共有6个级别(0-5),级别越高扫描速度越快,但越容易被防火墙或IDS检测。

--min-parallelism--max-parallelism:设置扫描期间使用的最小和最大并发探测数。

--min-rtt-timeout--max-rtt-timeout:设置最小和最大的往返时间(RTT)超时时间。

6. 输出和日志

-oX:将扫描结果保存为XML格式。

-oA:将扫描结果以所有可用的格式保存,包括XML、normal和grepable。

-oG:将扫描结果保存为grepable格式,便于文本处理。

7. 其他

-n:不进行DNS解析,直接显示IP地址。

-R:总是进行DNS解析。

--dns-servers:指定DNS服务器进行域名解析。

--system-dns:使用系统当前配置的默认DNS服务器进行域名解析。

-traceroute:在扫描过程中追踪到目标主机的路径,并显示每一跳的路由信息。


基础用法

nmap -A -T4 192.168.1.1


A:全面扫描\综合扫描

T4:扫描速度,共有6级,T0-T5


单一主机扫描:namp 192.168.1.2

子网扫描:namp 192.168.1.1/24

多主机扫描:nmap 192.168.1.1  192.168.1.10

主机范围扫描namp 192.168.1.1-100

IP地址列表扫描nmap –iL target.txt

扫描除指定IP外的所有子网主机:nmap 192.168.1.1/24 --exclude 192.168.1.1

扫描除文件中IP外的子网主机:nmap 192.168.1.1/24 --excludefile xxx.txt

扫描特定主机上的80,21,23端口:nmap –p 80,21,23 192.168.1.1


扫描全部端口

nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL liveHosts.txt


-sSSYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3

握手)

优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度                快,效率高,在工作中使用频率最高

缺点:它需要root/administrator权限执行


-Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描


-iL:导入需要扫描的列表


NMAP漏洞扫描

nmap -p445 -v --script smb-ghost 192.168.1.0/24

目录
相关文章
|
Prometheus 监控 安全
SpringBoot Actuator未授权访问漏洞的解决方法
SpringBoot Actuator未授权访问漏洞的解决方法Actuator 是 SpringBoot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。
32460 0
|
9月前
|
人工智能 前端开发 机器人
10个优质独立开发者社区
以下是我整理的10个优质独立开发者社区,都是自己平时经常逛或参与过的,分类整理方便不同需求的开发者参考
|
7月前
|
运维 Kubernetes Cloud Native
《K8s网络策略与CNI插件交互问题分析:基于真实案例的排查方法》
本文聚焦云原生集群中因网络策略配置缺陷引发的跨节点服务通信故障。某开源分布式存储系统的数据平面组件突发大规模连接中断,跨节点gRPC请求失败率激增,但基础网络层与节点状态显示正常,呈现隐蔽的"策略级"故障特征。技术团队排查发现,新升级节点的CNI插件与网络策略控制器版本不匹配,叠加节点亲和性(指定网卡型号)与网络能力(驱动兼容性)的错配,导致工作负载被调度至功能不完整的节点。进一步分析揭示,命名空间级NetworkPolicy的规则冲突在跨节点流量经不同厂商CNI插件处理时被放大,相同流量在Calico与Cilium引擎中呈现差异化过滤结果。通过构建策略沙箱验证、优化节点能力匹配模型、实施故障
400 28
|
9月前
|
设计模式 SQL 人工智能
Python设计模式:从代码复用到系统架构的实践指南
本文以Python为实现语言,深入解析23种经典设计模式的核心思想与实战技巧。通过真实项目案例,展示设计模式在软件开发中的结构化思维价值,涵盖创建型、结构型、行为型三大类别,并结合Python动态语言特性,探讨模式的最佳应用场景与实现方式,帮助开发者写出更清晰、易维护的高质量代码。
472 1
|
8月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1700 10
|
传感器 监控 测试技术
LabVIEW程序闪退问题
LabVIEW程序闪退问题
600 2
|
安全 Java 数据安全/隐私保护
java JDWP调试接口任意命令执行漏洞
java JDWP调试接口任意命令执行漏洞
1117 1
|
Java Linux
ffmpeg音频格式转换、合成、速率调整
ffmpeg音频格式转换、合成、速率调整
446 2
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的校园求职招聘系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的校园求职招聘系统附带文章源码部署视频讲解等
250 14
|
Web App开发 缓存 监控