Nmap的基本使用

Nmap的基本使用

背景介绍

在日常的运维/开发环境中,难以避免对网络环境中服务器及终端的联通性进行测试。随着日益复杂的网络环境与测试环境,使用更强大的工具也难以避免。

原有替代方案

Windows及Linux中也有着很基本的网络命令用于测试网络环境的状况:

# 基于ICMP协议用于测试网络是否互通
ping ipv4

# 路由追踪 win
tracert ipv4
# 路由追踪 linux
traceroute ipv4

# 端口联通性
telnet ipv4 port

对于基本网络环境,以上三条命令足以。但在复杂网络环境中,以上命令不免会存在致命的缺陷,如:

  1. 基于安全策略,在一些场景下 ping 无回响,此时不能100%认为网络不通;
  2. telnet一次只能测试一个端口,而且相当耗时,也容易被拦截

Nmap介绍

Nmap(Network Mapper)是一款开源的网络探测和安全审计工具,被广泛用于网络发现、端口扫描、服务版本检测、操作系统识别和漏洞检测等任务。Nmap通过发送定制化的数据包到目标主机,并分析响应结果来获取网络和主机的详细信息。

  1. 主机发现:检测网络中的活动主机,即使目标禁用了ICMP响应,Nmap也能通过TCP、UDP或ARP请求发现主机。
  2. 端口扫描:支持多种扫描技术(如TCP SYN扫描、TCP Connect扫描、UDP扫描等),快速识别目标主机开放的端口及对应的服务。
  3. 服务与版本检测:识别端口上运行的服务类型及其具体版本信息,帮助评估潜在的安全风险。
  4. 操作系统检测:通过分析TCP/IP协议栈的响应特征,推测目标主机的操作系统类型和版本。
  5. 脚本化扫描:内置强大的NSE(Nmap Scripting Engine)脚本引擎,可用于漏洞检测、后门检测、服务枚举等高级任务。
  6. 网络拓扑与可视化:支持生成网络拓扑图,并提供可视化工具(如Zenmap)便于分析和报告。

注:这部分介绍内容为AI(DeepSeek)生成,咱不会写,咱是个废物

总之,Nmap因为支持更多的协议,可以针对不同的场景展示不同的信息,更好的判断网络中的故障问题。

Nmap使用

主机发现

# 扫描整个子网
nmap -sn 192.168.1.0/24
# 扫描多个目标
nmap -sn 192.168.1.1 192.168.1.100

端口扫描

Nmap的端口扫描相对于Telnet来说,可以提供更多的详细信息,如通过STATE为filtered来判断端口号是否被防火墙所过滤

# 快速扫描常用端口
nmap -F 192.168.1.1
# 扫描所有端口
nmap -p- 192.168.1.1
# 扫描指定端口范围
nmap -p 80,443,8080-8090 192.168.1.1
# 扫描指定IP范围+端口范围 192.168.1.0-192.168.200.0
nmap -p 80,443,8080-8090 192.168.1-200.0-255

服务版本检测

# 识别服务版本
nmap -sV 192.168.1.1

操作系统检测

# 操作系统识别
nmap -O 192.168.1.1

综合扫描

# 综合扫描(主机发现、端口扫描、服务版本检测、操作系统识别)
nmap -A 192.168.1.1

使用脚本引擎

# 使用漏洞检测脚本
nmap --script vuln 192.168.1.1
# 使用特定脚本
nmap --script http-title 192.168.1.1
posted @ 2026-01-16 15:53  xiaojiahuo  阅读(1)  评论(0)    收藏  举报