小白也能看懂的Nmap教程-最常用的命令

1. 什么是Nmap?

Nmap(Network Mapper)是一款开源的网络扫描工具,广泛用于网络安全审计、漏洞评估和网络管理。Nmap能够快速扫描大型网络,发现主机和开放的端口,还可以检测服务版本、操作系统类型等信息。Nmap的强大之处在于其灵活性和丰富的功能,适用于多种场景,从简单的网络扫描到复杂的渗透测试。

2. Nmap 的基本原理

Nmap的工作原理基于TCP/IP协议栈,通过发送各种类型的网络数据包(如TCP、UDP、ICMP等)来探测目标主机的状态。Nmap的主要工作流程包括以下几个步骤:

  1. 目标选择:确定要扫描的目标,可以是单个IP地址、多个IP地址、IP地址范围或域名。
  2. 数据包发送:根据选择的扫描类型,构造并发送相应的网络数据包。
  3. 响应接收:接收目标主机返回的响应数据包。
  4. 结果解析:解析接收到的数据包,判断目标主机的状态、开放的端口、服务版本等信息。
  5. 结果输出:将扫描结果以文本或XML格式输出。
3. Nmap 的主要功能

Nmap提供了多种扫描选项和功能,以下是一些常用的功能:

  • 主机发现:确定网络中哪些主机是活跃的。
  • 端口扫描:检测目标主机上开放的端口。
  • 服务版本检测:识别目标主机上运行的服务及其版本。
  • 操作系统检测:推断目标主机的操作系统类型和版本。
  • 脚本扫描:使用Nmap Scripting Engine (NSE) 进行高级扫描。
  • 防火墙/IDS规避:使用各种技术绕过防火墙和入侵检测系统。
4. Nmap 的安装

Nmap支持多种操作系统,包括Windows、Linux和macOS。以下是不同操作系统的安装方法:

Windows
  1. 访问Nmap官方网站:Download the Free Nmap Security Scanner for Linux/Mac/Windows
  2. 下载适用于Windows的安装包。
  3. 双击安装包,按照提示完成安装。
Linux

大多数Linux发行版的软件仓库中都包含Nmap,可以直接使用包管理器安装:

# Debian/Ubuntu
sudo apt-get install nmap

# CentOS/RHEL
sudo yum install nmap

# Fedora
sudo dnf install nmap
macOS

使用Homebrew安装Nmap:

brew install nmap
5. Nmap 的基本命令

Nmap的基本命令格式如下:

nmap [选项] <目标>

以下是一些常用的Nmap命令及其功能:

  • 基本扫描

    nmap 192.168.0.1

    这条命令会扫描192.168.0.1的开放端口。

  • 扫描多个目标

    nmap 192.168.0.1 192.168.0.2

    这条命令会扫描多个IP地址。

  • 扫描IP地址范围

    nmap 192.168.0.1-10

    这条命令会扫描192.168.0.1192.168.0.10之间的所有IP地址。

  • 扫描子网

    nmap 192.168.0.0/24

    这条命令会扫描192.168.0.0192.168.0.255之间的所有IP地址。

  • 扫描域名

    nmap baidu.com

    这条命令会扫描baidu.com的IP地址。

6. 高级功能
主机发现

Nmap可以使用多种技术来发现网络中的活跃主机,包括ICMP、TCP、UDP等。

  • ping扫描

    nmap -sn 192.168.0.0/24

    这条命令会发送ICMP Echo请求(ping)来发现网络中的活跃主机。

  • ARP扫描

    nmap -PR 192.168.0.0/24

    这条命令会发送ARP请求来发现局域网内的活跃主机。

端口扫描

Nmap提供了多种端口扫描技术,包括TCP SYN扫描、TCP连接扫描、UDP扫描等。

  • TCP SYN扫描

    nmap -sS 192.168.0.1

    这条命令会发送TCP SYN包来扫描目标主机的开放端口。

  • TCP连接扫描

    nmap -sT 192.168.0.1

    这条命令会建立完整的TCP连接来扫描目标主机的开放端口。

  • UDP扫描

    nmap -sU 192.168.0.1

    这条命令会发送UDP包来扫描目标主机的开放端口。

服务版本检测

Nmap可以检测目标主机上运行的服务及其版本。

  • 服务版本检测
    nmap -sV 192.168.0.1
    这条命令会检测目标主机上开放服务的版本信息。
操作系统检测

Nmap可以推断目标主机的操作系统类型和版本。

  • 操作系统检测
    nmap -O 192.168.0.1
    这条命令会尝试推断目标主机的操作系统类型和版本。
脚本扫描

Nmap Scripting Engine (NSE) 提供了丰富的脚本库,可以进行高级扫描。

  • 使用默认脚本

    nmap --script default 192.168.0.1

    这条命令会使用默认的NSE脚本进行扫描。

  • 使用特定脚本

    nmap --script http-headers 192.168.0.1

    这条命令会使用http-headers脚本扫描HTTP头部信息。

防火墙/IDS规避

Nmap提供了多种技术来绕过防火墙和入侵检测系统。

  • 随机扫描顺序

    nmap -r 192.168.0.1

    这条命令会按随机顺序扫描端口,减少被检测的风险。

  • 慢速扫描

    nmap -T2 192.168.0.1

    这条命令会使用较慢的扫描速度,减少被防火墙或IDS检测的可能性。

7. 实际案例

以下是一些实际案例,展示了如何使用Nmap进行网络扫描和渗透测试。

案例1:基本网络扫描

假设我们要扫描一个局域网内的所有主机,并检测它们的开放端口。

nmap -sn 192.168.0.0/24

这条命令会发送ICMP Echo请求来发现网络中的活跃主机。

nmap -sS 192.168.0.1

这条命令会发送TCP SYN包来扫描目标主机的开放端口。

案例2:高级渗透测试

假设我们要对一个Web服务器进行深入的渗透测试,包括端口扫描、服务版本检测、操作系统检测和脚本扫描。

nmap -sS -sV -O --script default 192.168.0.1

这条命令会执行以下操作:

  • -sS:发送TCP SYN包进行端口扫描。
  • -sV:检测开放服务的版本信息。
  • -O:推断目标主机的操作系统类型和版本。
  • --script default:使用默认的NSE脚本进行扫描。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小零羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值