Linux nmap 命令教程:强大的网络扫描工具 🔍
nmap
(Network Mapper)是一个开源的网络扫描和安全审计工具,用于发现网络中的设备、识别主机和服务、检查开放端口等。它被广泛用于网络管理、漏洞检测和安全审计。nmap
强大的功能和灵活的选项使得它成为网络管理员和安全专家的必备工具。🌐
1. 简介
nmap
可以扫描单个主机或整个子网,帮助你识别网络中的设备、运行的服务、操作系统信息、开放的端口等。它广泛应用于网络发现、系统安全检测以及漏洞扫描等领域。🛠️
你可以通过 sudo apt install nmap
安装它。
nmap 的基本语法
nmap [选项] <目标>
注意:使用
nmap
进行网络扫描时,可能需要sudo
权限,以便访问某些网络接口和端口。
2. 常见操作概览 📋
操作 | 命令格式 | 说明 |
---|---|---|
扫描单个主机 | nmap <目标IP或域名> | 对目标主机进行基本的端口扫描,识别开放的端口。 |
扫描多个主机 | nmap <目标IP范围> | 对一系列主机进行扫描。 |
扫描特定端口 | nmap -p <端口号> <目标> | 扫描目标主机的指定端口。 |
扫描所有端口 | nmap -p- <目标> | 扫描目标主机的所有端口。 |
扫描服务版本 | nmap -sV <目标> | 获取目标主机上运行服务的版本信息。 |
探测操作系统 | nmap -O <目标> | 探测 目标主机的操作系统信息。 |
扫描特定子网 | nmap <子网地址>/24 | 对整个子网进行扫描(例如扫描 192.168.1.0/24)。 |
执行隐匿扫描 | nmap -sS <目标> | 使用 SYN 扫描进行端口扫描,以避免被目标主机检测。 |
输出扫描结果到文件 | nmap -oN <文件名> <目标> | 将扫描结果保存到文件中,便于后续查看。 |
扫描并显示拓扑图 | nmap --traceroute <目标> | 获取并显示目标主机的网络拓扑图(路径)信息。 |
3. 命令示例 ⚡
3.1 扫描单个主机
扫描单个主机的开放端口,显示哪些端口是开放的:
nmap 192.168.1.1
示例输出:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-11-22 05:47 CST
Nmap scan report for 192.168.1.1
Host is up (0.0075s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp filtered ssh
23/tcp filtered telnet
53/tcp open domain
80/tcp open http
5080/tcp open onscreen
8080/tcp open http-proxy
此命令会扫描 192.168.1.1
主机的常见端口,输出每个端口的状态(开放、关闭等)。
3.2 扫描多个主机
你可以通过 IP 地址范围或子网掩码扫描多个主机。例如,扫描 192.168.1.1
到 192.168.1.10
的主机:
nmap 192.168.1.1-10
你也可以扫描整个子网(例如 192.168.1.0/24
):
nmap 192.168.1.0/24
这会扫描该子网中所有主机的开放端口。
3.3 扫描指定端口
如果你只对某些端口感兴趣,可以通过 -p
选项指定端口。例如,扫描 192.168.1.1
上的 22 和 80 端口:
nmap -p 22,80 192.168.1.1
你还可以使用端口范围进行扫描,比如扫描 80
到 100
端口:
nmap -p 80-100 192.168.1.1
3.4 扫描所有端口
要扫描目标主机的所有端口,可以使用 -p-
选项:
nmap -p- 192.168.1.1