nmap的使用

参考文章:

https://blog.csdn.net/2302_82189125/article/details/135961736

nmap的主要功能

kali自带nmap,可以直接使用

  • 主机发现: Nmap 可以通过发送网络探测包(ping 扫描)来确定一个网络中活跃的主机。这有助于确定哪些 IP 地址上有活动的设备。
  • 端口扫描: Nmap 可以扫描目标主机的开放端口,帮助确定哪些服务正在运行。它支持多种扫描技术,包括 TCP 扫描、UDP 扫描、SYN/ACK 扫描等。
  • 服务识别: Nmap 可以识别目标主机上运行的具体服务和应用程序的版本号。这对于了解目标系统上可能存在的漏洞和弱点很有帮助。
  • 操作系统检测: Nmap 能够尝试检测目标主机的操作系统类型和版本。这有助于识别网络中的不同操作系统,并为后续的渗透测试提供信息。
  • 脚本扫描: Nmap 支持脚本扫描,允许用户执行自定义脚本以进行更深入的信息收集和安全审计。
  • 版本检测: Nmap 可以检测目标系统上运行的服务的版本信息。这对于确定目标系统上可能存在的已知漏洞和安全问题非常有用。
  • 输出格式: Nmap 可以生成多种输出格式,包括文本、XML、JSON 等,以便进一步的分析和报告。

nmap的使用方法

主机

快速扫描

1
nmap ip
1
2
# 扫描 192.168.1.102,检测开放的端口和服务
nmap 192.168.1.102

image-20250426151805995

扫描多个目标

1
nmap ip ip
1
2
# 扫描 192.168.1.102 和 192.168.1.103,检测开放的端口和服务
nmap 192.168.1.102 192.168.1.103

image-20250426152013156

网段扫描

1
nmap ip/子网掩码
1
2
3
# 扫描 192.168.1.103 所在的子网
# 会扫描 192.168.1.0 到 192.168.1.255 范围内的所有 IP 地址,查找存活主机、开放端口和服务
nmap 192.168.1.0/24

image-20250426153051960

过滤IP的网段扫描

1
nmap ip/子网掩码 -exclude 需要过滤的ip或文件
1
2
# 扫描 192.168.1.0/24 子网中的所有主机,但排除 192.168.1.1
nmap 192.168.1.103/24 -exclude 192.168.1.1

image-20250426152436796

仅扫描存活主机

1
nmap -sP ip/子网掩码
1
2
# 只扫描 192.168.1.103 所在的子网的所有存活主机
nmap -sP 192.168.1.0/24

image-20250426153445425

端口

端口状态6种状态

  • open(开放的):端口上有应用程序正在监听并响应探测
  • closed(关闭的):端口不响应探测,可能被防火墙封锁或无应用程序监听
  • filtered(被过滤的):端口被防火墙等设备过滤,无法确定是否开放。
  • unfiltered(未被过滤的):端口可访问,但无法确定是开放还是关闭。
  • open|filtered(开放或者被过滤的):端口可能开放,也可能被过滤,需要进一步探测。
  • closed|filtered(关闭或者被过滤的):端口可能关闭,也可能被过滤,仅在特定扫描中出现。

扫描端口

1
nmap ip -p 端口号
1
2
# 扫描 IP 为 192.168.1.102 的 22 端口
nmap 192.168.1.102 -p 22

image-20250426154157875

端口范围扫描

1
nmap ip -p 范围
1
2
# 扫描 IP 为 192.168.1.102 的 1 到 100 端口
nmap 192.168.1.102 -p 1-100

image-20250426154559761

服务

识别服务版本

1
nmap -sV ip
1
2
# 识别 192.168.1.102 的服务
nmap -sV 192.168.1.102

image-20250426155116268

识别具体端口的服务

1
nmap -sV ip -p 端口号或范围
1
nmap -sV 192.168.1.102 -p 22

image-20250426155211943

系统

识别操作系统

1
nmap -O ip
1
2
# 识别 192.168.1.102 主机上运行的操作系统(需要root权限)
nmap -O 192.168.1.102

image-20250426155629610

扫描方式

TCP SYN 扫描

1
nmap -sS ip

TCP connect() 扫描

1
此扫描为默认扫描,不用加参数

UDP 扫描

1
nmap -sU ip

TCP Null 扫描

1
nmap -sN ip

TCP FIN 扫描

1
nmap -sF ip

TCP Xmas 扫描

1
nmap -sX ip

TCP ACK 扫描

1
nmap -sA ip

TCP 窗口扫描

1
nmap -sW ip

TCP Maimon 扫描

1
nmap -sM ip

防火墙

报文分段

1
nmap -f ip

最大传输单元

1
nmap --mtu 1500 ip

诱饵隐藏扫描

1
nmap -D <ip,ip,ip……> 目标 ip

源地址哄骗

1
nmap -S <伪装的源 ip> ip

源端口哄骗

1
nmap --source-port 或 -g <源端口号> ip

附加随机数据

1
nmap --data-length <长度> ip

生存时间

1
nmap --ttl <值> ip

MAC 地址哄骗

1
nmap --spoof-mac <mac 地址> ip

nmap的使用
https://yschen20.github.io/2025/04/26/nmap的使用/
作者
Suzen
发布于
2025年4月26日
更新于
2025年4月26日
许可协议