Nmap 从入门到精通:详细指南

Nmap 从入门到精通:详细指南


1. Nmap 是什么?

Nmap(Network Mapper)是一款开源的网络探测和安全审计工具,广泛用于以下场景:

  • 主机发现:识别网络中的活动设备。
  • 端口扫描:检测目标主机开放的端口及服务。
  • 服务与版本探测:确定端口对应的应用程序及其版本。
  • 操作系统检测:推测目标主机的操作系统类型。
  • 漏洞探测(结合脚本):通过 NSE(Nmap Scripting Engine)发现潜在漏洞。

Nmap 支持跨平台(Windows、Linux、macOS),被渗透测试人员、网络管理员和安全研究人员广泛使用。


2. 安装 Nmap

Windows

  1. 访问官网 https://nmap.org/download.html
  2. 下载 .exe 安装包并运行。
  3. 安装时勾选 Npcap(用于网络抓包)。
  4. 安装完成后,在命令行输入 nmap 验证是否成功。

Linux

# Debian/Ubuntu

sudo apt-get install nmap

# RedHat/CentOS

sudo yum install nmap

macOS

brew install nmap


3. 初识 Nmap 命令行界面

Nmap 通过命令行操作,基本语法为:

nmap [扫描选项] <目标>

  • 目标:可以是 IP 地址(如 192.168.1.1)、域名(如 example.com)或 IP 段(如 192.168.1.0/24)。

示例

nmap 192.168.1.1 # 扫描单个主机

nmap 192.168.1.1 192.168.1.2 # 扫描多个主机

nmap 192.168.1.1-100 # 扫描 IP 地址范围

nmap scanme.nmap.org # 扫描官方测试域名


4. 指定扫描类型

基础扫描

  • 默认扫描(TCP SYN 扫描):

nmap 192.168.1.1

输出示例:

PORT STATE SERVICE

22/tcp open ssh

80/tcp open http

  • Ping 扫描(仅主机发现):

nmap -sn 192.168.1.0/24

快速发现局域网存活主机。

端口范围控制

  • 扫描指定端口:

nmap -p 80,443,22 192.168.1.1

  • 扫描 1-1000 端口:

nmap -p 1-1000 192.168.1.1


5. 主机发现(Host Discovery)

主机发现是确定目标网络中哪些设备在线的方法。

  • 禁用端口扫描(仅探测存活主机):

nmap -sn 192.168.1.0/24

  • ARP 扫描(局域网内高效探测):

nmap -PR 192.168.1.0/24

  • 绕过防火墙(使用 ICMP、TCP SYN 组合):

nmap -PE -PS22,80 192.168.1.1


6. 服务与版本探测

基本服务探测

使用 -sV 参数启用服务版本检测:

nmap -sV 192.168.1.1

输出示例:

PORT STATE SERVICE VERSION

22/tcp open ssh OpenSSH 7.6p1

80/tcp open http Apache httpd 2.4.29

探测强度控制

Nmap 的版本探测强度分 0-9 级(默认 7):

  • 低强度(速度快,准确性低):

nmap -sV --version-intensity 3 192.168.1.1

  • 高强度(速度慢,准确性高):

nmap -sV --version-intensity 9 192.168.1.1

  • 快速探测(仅常用探测方式):

nmap -sV --version-light 192.168.1.1

  • 全面探测(尝试所有方式):

nmap -sV --version-all 192.168.1.1


7. 高级技巧与优化

  • 操作系统检测

nmap -O 192.168.1.1

  • 脚本引擎(NSE)

nmap --script=http-title 192.168.1.1 # 获取网站标题

nmap --script=vuln 192.168.1.1 # 漏洞探测

  • 调整扫描速度

nmap -T0 192.168.1.1 # 最慢(规避检测)

nmap -T5 192.168.1.1 # 最快(可能丢包)


8. 安全与法律注意事项

  • 合法性:未经授权扫描他人网络可能违法。
  • 隐蔽性:使用 -T0 或 -T1 降低扫描速度以避免触发告警。
  • 渗透测试:仅在授权范围内使用。

9. 学习资源推荐


通过本指南,你可以掌握 Nmap 的基础到进阶操作。建议结合实际场景练习,逐步熟悉其强大功能!

相关推荐
sanggou22 分钟前
Linux批量执行工具脚本使用指南:一键运行多个release-dev.sh脚本
linux·bash
牧以南歌〆5 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
夜月yeyue6 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
kfepiza6 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无妄-20247 小时前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
cuijiecheng20187 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
群联云防护小杜8 小时前
构建分布式高防架构实现业务零中断
前端·网络·分布式·tcp/ip·安全·游戏·架构
独行soc9 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
java龙王*9 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
bcbobo21cn10 小时前
Linux命令的命令历史
linux·histsize·histfile