Kali Linux 中 Nmap 工具详细使用指南

一、前言

在渗透测试与网络安全领域,信息收集(Information Gathering) 是至关重要的第一步,而 Nmap(Network Mapper) 则是最经典、最强大的网络扫描工具之一。在 Kali Linux 中,Nmap 几乎是默认必备工具,被广泛用于主机发现、端口扫描、服务识别、操作系统识别以及漏洞探测。

本文将从 基础概念 → 常用命令 → 高级扫描 → 脚本引擎(NSE) → 实战示例,系统性地讲解 Kali 中 Nmap 的详细使用步骤,适合初学者和进阶用户参考。


二、Nmap 基础概念

1. Nmap 能做什么?

Nmap 主要用于:

  • 主机发现(哪些主机在线)
  • 端口扫描(开放了哪些端口)
  • 服务与版本识别
  • 操作系统识别
  • 漏洞探测(基于 NSE 脚本)

2. Kali 中的 Nmap

Kali Linux 默认已安装 Nmap,可直接使用:

bash 复制代码
nmap --version

如果未安装:

bash 复制代码
sudo apt update
sudo apt install nmap

三、Nmap 基本语法

bash 复制代码
nmap [扫描类型] [选项] <目标>

目标表示方式

  • 单个 IP:192.168.1.1
  • IP 段:192.168.1.0/24
  • 多个目标:192.168.1.1 192.168.1.2
  • 域名:example.com

四、主机发现(Host Discovery)

1. Ping 扫描(不扫端口)

bash 复制代码
nmap -sn 192.168.1.0/24

常用于判断哪些主机在线。

2. 跳过 Ping(适用于防火墙环境)

bash 复制代码
nmap -Pn 192.168.1.1

-Pn 表示假设主机在线,直接扫描端口。


五、端口扫描详解

1. TCP SYN 扫描(最常用)

bash 复制代码
sudo nmap -sS 192.168.1.1
  • 默认扫描前 1000 个常用端口
  • 隐蔽性较好(半开扫描)

2. TCP Connect 扫描

bash 复制代码
nmap -sT 192.168.1.1
  • 不需要 root 权限
  • 完整 TCP 连接,易被记录

3. UDP 扫描

bash 复制代码
sudo nmap -sU 192.168.1.1
  • 扫描速度慢
  • 常用于 DNS、SNMP、NTP 等服务

4. 指定端口扫描

bash 复制代码
nmap -p 80,443 192.168.1.1
nmap -p 1-65535 192.168.1.1

六、服务与版本识别

bash 复制代码
nmap -sV 192.168.1.1

可识别:

  • Web 服务(Apache / Nginx)
  • SSH / FTP 版本
  • 中间件版本信息

组合使用:

bash 复制代码
sudo nmap -sS -sV -p 1-1000 192.168.1.1

七、操作系统识别

bash 复制代码
sudo nmap -O 192.168.1.1

增强模式:

bash 复制代码
sudo nmap -A 192.168.1.1

-A 包含:

  • OS 探测
  • 版本识别
  • 默认脚本扫描
  • Traceroute

八、Nmap 脚本引擎(NSE)

1. NSE 简介

Nmap Script Engine(NSE)允许使用脚本进行:

  • 漏洞扫描
  • 弱口令检测
  • 服务枚举

脚本路径:

bash 复制代码
/usr/share/nmap/scripts/

2. 使用默认脚本

bash 复制代码
nmap -sC 192.168.1.1

3. 使用指定脚本

bash 复制代码
nmap --script=vuln 192.168.1.1

示例:扫描 SMB 漏洞

bash 复制代码
nmap --script smb-vuln* -p 445 192.168.1.1

九、扫描速度与规避策略

1. 扫描速度控制

bash 复制代码
nmap -T4 192.168.1.1

速度等级:

  • T0(最慢,隐蔽)
  • T3(默认)
  • T4(快速)
  • T5(极快,易被发现)

2. 分片与伪装(了解即可)

bash 复制代码
sudo nmap -f 192.168.1.1

十、输出结果保存

bash 复制代码
nmap -oN result.txt 192.168.1.1
nmap -oX result.xml 192.168.1.1
nmap -oA scan_result 192.168.1.1

适合生成报告或导入其他工具(如 Metasploit)。


十一、实战示例(完整流程)

bash 复制代码
# 1. 发现主机
nmap -sn 192.168.1.0/24

# 2. 扫描端口
sudo nmap -sS -p 1-65535 192.168.1.100

# 3. 服务识别
nmap -sV 192.168.1.100

# 4. 漏洞扫描
nmap --script=vuln 192.168.1.100

十二、注意事项与法律声明

⚠️ 重要提醒

  • 仅对 授权目标 进行扫描
  • 未经授权扫描可能违反法律法规
  • 建议在靶机环境(如 Metasploitable、DVWA)中练习

十三、总结

Nmap 是每一位安全人员必须掌握的基础工具,从简单端口扫描到复杂漏洞探测都离不开它。熟练使用 Nmap,不仅能提升信息收集效率,也能为后续渗透测试打下坚实基础。

如果你能将本文内容逐步实践,相信你已经具备了 独立完成目标初步侦察的能力


相关推荐
生而为虫2 小时前
34-35.玩转Linux操作系统
linux·运维·服务器
枕咸鱼的猫2 小时前
Linux命令打包/压缩(tar)、通用压缩(zip)详解
linux·运维·服务器
`林中水滴`2 小时前
Linux系列:Ubantu 安装 MySQL 8.0 教程
linux
你我一见如故2 小时前
Linux基础(4)Linux中的开发工具(1)--yum和vim
linux·服务器·编辑器·vim
JiMoKuangXiangQu2 小时前
Linux eBPF 错误:invalid bpf_context access
linux·ebpf
深圳南柯电子2 小时前
深圳南柯电子|EMC电磁兼容测试系统:5G时代应对频段的干扰挑战
网络·人工智能·互联网·实验室·emc
kaoa0002 小时前
Linux入门攻坚——61、tomcat负载均衡集群-LB Cluster
linux·tomcat·负载均衡
洋葱 ☠2 小时前
极简部署linux免费ssl证书Let‘s Encrypt,自动续签,nginx/apache都可以,域名指向服务器即可,无需项目
linux·nginx·ssl
西门吹牛2 小时前
openwrt学习笔记
linux·笔记·学习