Nmap(Network Mapper)是最广泛使用的网络扫描与安全审计工具之一。
它可以发现主机、端口、服务、操作系统、漏洞信息等,是渗透测试与系统分析的基础利器。

1. 基础扫描命令

1.1 快速扫描主机常见端口(默认 1000 个)

nmap <目标IP或域名>

1.2 扫描单个指定端口

nmap -p <特定端口> <目标IP>

1.3 扫描多个端口

nmap -p 22,80,443,3306 <目标IP>

1.4 扫描端口范围

nmap -p 1-65535 <目标IP>

2 TCP 扫描

2.1 全 TCP 端口扫描(半开放 SYN 扫描)

sudo nmap -sS -p 1-65535 <目标IP>

只发 SYN 包,不完整建立 TCP 三次握手(因此称“半开放扫描”);

参数说明:

  • -sS:TCP SYN 扫描(默认且最常用)
  • -p 1-65535:扫描所有 65535 个 TCP 端口

2.2 全 TCP 端口扫描(全连接扫描)

nmap -sT -p 1-65535 <目标IP>

使用操作系统自带的 connect() 系统调用,真实完成三次握手;

参数说明:

  • -sT:TCP  全连接扫描
  • -p 1-65535:扫描所有 65535 个 TCP 端口

3 UDP 扫描

UDP 扫描速度慢且易漏报,可配合速率控制参数加快:

sudo nmap -sU -p 1-65535 --min-rate 1000 <目标IP>

参数说明:

  • -sU:启用 UDP 扫描;
  • --min-rate 1000:设置最小发包速率;
  • 建议以 root 运行,以便发送原始 UDP 消息。

4 同时扫描 TCP + UDP

sudo nmap -sS -sU -p T:1-65535,U:1-65535 <目标IP>

参数说明:

  • T: 指 TCP 端口范围,U: 指 UDP 端口范围

5 扫描存活设备

5.1 基础扫描:ping 扫描(最常用)

nmap -sn 192.168.1.0/24

ping扫描,最常用

说明:

  • -sn:表示“Ping Scan”(以前叫 -sP),只检测主机是否在线,不进行端口扫描
  • 192.168.1.0/24:扫描整个子网(即 192.168.1.1 - 192.168.1.254)

5.2 指定 IP 范围扫描

nmap -sn 192.168.1.1-50

只扫描 192.168.1.1 到 192.168.1.50 之间的主机是否存在

5.3 扫描多个网段

nmap -sn 192.168.1.0/24 192.168.2.0/24

可以一次性扫描多个子网的在线主机

5.4 使用特定的探测方法(适合防火墙存在的情况)

有些主机会屏蔽ping请求,此时可以用更隐蔽的方式探测:

5.4.1 TCP SYN 探测主机是否在线(通过 TCP 端口判断)
nmap -PS 22,80,443 192.168.1.0/24

向 22、80、443 端口发送 SYN 包,看主机是否响应

5.4.2 ARP 探测(局域网非常快):
sudo nmap -PR -sn 192.168.1.0/24

5.5 结合端口信息获取更多细节

sudo nmap -sS -O -sV 192.168.1.101

说明:

  • -sS:半开 SYN 扫描(常用)
  • -O:操作系统识别
  • -sV:服务版本识别(如:SSH、HTTP、Samba 等)

输出可能会告诉你:

  • 设备运行的 Web 服务端口
  • SSH 版本(可能推断是 Linux)
  • 设备厂商/系统信息(如 TP-Link 路由器)

5.6 输出结果到文件

nmap -sn 192.168.1.0/24 -oN live_hosts.txt

或机器可读格式:

nmap -sn 192.168.1.0/24 -oG live_hosts.gnmap

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐