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 的基础到进阶操作。建议结合实际场景练习,逐步熟悉其强大功能!

Nmap 从入门到精通:详细指南的更多相关文章

  1. Oracle从入门到精通(详细) 明日科技

  2. 【PHP】最详细PHP从入门到精通(二)——PHP中的函数

     PHP从入门到精通 之PHP中的函数 各位开发者朋友大家好,自上次更新PHP的相关知识,得到了大家的广泛支持.PHP的火爆程度不言而喻,函数作为PHP中极为重要的部分,应诸位的支持,博主继续跟进更新 ...

  3. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组

     PHP从入门到精通 之PHP中的数组 各位开发者朋友大家好,链接上次更新,我们PHP的学习也更深了一层,本次博主给大家带来PHP数组的数组实例详解的相关资料.数组分为数组数值数值,关联数组,多维数组 ...

  4. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总

     PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...

  5. 【PHP】最详细PHP从入门到精通(四)——PHP中的字符串

     PHP从入门到精通 之PHP中的字符串 大家好,继续跟进PHP最详尽的知识更新,本周,跟大家重点讲一下PHP中字符串的使用.在PHP中,字符串是非常重要的一个概念,基本上大家想到的字符串的处理功能, ...

  6. 一份从入门到精通NLP的完整指南 | NLPer

    该小博主介绍 本人:笔名zenRRan,方向自然语言处理,方法主要是深度学习. 未来的目标:人工智能之自然语言处理博士. 写公众号目的:将知识变成开源,让每个渴求知识而难以入门人工智能的小白以及想进阶 ...

  7. Promise入门到精通(初级篇)-附代码详细讲解

    Promise入门到精通(初级篇)-附代码详细讲解 ​     Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. ​     Pr ...

  8. 【PHP】最详细PHP从入门到精通(五)——PHP错误处理

     PHP从入门到精通 之PHP中的字符串 在创建脚本和 web 应用程序时,错误处理是一个重要的部分.如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门. 本教程介绍了 PH ...

  9. 【PHP】最详细PHP从入门到精通(一)——想学习PHP的朋友们福利来了!

     PHP从入门到精通 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java ...

  10. 从入门到精通C++需要学的10本书

    学习C++从入门到精通的的十本最经典书籍  文章来源中国IT实验室收集整理作者佚名更新时间2009-5-16 12:27:05 保存本文保存本文推荐给好友推荐给好友收藏本页收藏本页 欢迎进入C/C++ ...

随机推荐

  1. Java01 - Scanner对象

    简介 之前我们学的基本语法中并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.util.Scanner是Java5的新特征,我们可以通过Scanner ...

  2. 一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案

    一种基于虚拟摄像头.NDI.OBS以及yolo的多机视觉目标检测方案 绪论 近来为了实现某种实时展示效果,笔者希望通过一套方案实现在两台主机上分别运行仿真平台以及视觉深度学习算法.透过对当下较为流行的 ...

  3. 数据挖掘 | 数据隐私(2) | 差分隐私 | 数据重构化攻击(Reconstruction Attacks)

    L2-Reconstruction Attacks 本节课的目的在于正式地讨论隐私,但是我们不讨论算法本身有多隐私,取而代之去讨论一个算法隐私性有多么的不可靠.并且聚焦于 Dinur 与 Nissim ...

  4. CICFlowMeter 使用方法

    前言 因实验需要提取流量特征,就找到了这个较为著名的流量特征提取工具 CICFlowMeter .例如 CIC-IDS-2017 数据集就是通过这个工具提取而来. 网络上的教程众说纷纭,但我始终是无法 ...

  5. faker 函数支持哪些

    3.2 常用函数 除了上述介绍的fake.name和fake.address生成姓名和地址两个函数外,常用的faker函数按类别划分有如下一些常用方法. 1.地理信息类 fake.city_suffi ...

  6. MAMP使用简单教程

    这个配置,没有域名访问,平时可以放些demo使用,如果需要域名访问请看MAMP PRO教程 启用服务 打开Launchpad中灰色的MAMP,进入界面后,点击Preferences,然后只需拿着鼠标点 ...

  7. Camel多智能体框架初探

    Camel介绍 CAMEL 是一个开源社区,致力于探索代理的扩展规律.我们相信,在大规模研究这些代理可以提供对其行为.能力和潜在风险的宝贵见解.为了促进该领域的研究,我们实现了并支持各种类型的代理.任 ...

  8. SpringBoot集成亚马逊的S3对象存储

    依赖导入:aws-java-sdk-s3 <dependencyManagement> <dependencies> <dependency> <groupI ...

  9. Docker top 命令

    Docker 命令大全Docker 命令大全docker top :查看容器中运行的进程信息,支持 ps 命令参数.语法docker top [OPTIONS] CONTAINER [ps OPTIO ...

  10. halcon 入门教程(五) 缺陷检测

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18785484 有兴趣可以多看其他的halcon教程 halcon 学习教程目录 本篇主要讲一些 ...