nmap

用于端口扫描,并支持一些漏洞扫描

  • 主机探测

  • 端口扫描

  • 版本检测

  • 支持探测脚本的编写

基本扫描

# 基本快速扫描, 默认发送 一个 ARP 的 ping 数据包,探测目标主机在 1-10000 范围内开放的所有端口
nmap IP

# 快速扫描多个目标
nmap IP1 IP2....

# 详细描述输出扫描, 简单扫描,并对返回的结果详细描述输出
nmap [ -v | -vv ] IP 

# 指定端口和范围扫描
nmap -p [port, port...] IP

# 扫描除某一个 IP 外的所有子网主机
nmap IP/24 -exclude IP

# 显示扫描的所有主机的列表
nmap -sL IP/24

# Ping 扫描,只检测主机是否存在于网络中
nmap -sP IP

# SYN 半开放扫描, 不会在目标主机上产生记录
nmap -sS IP

# TCP 扫描
nmap -sT IP
# UDP 扫描
nmap -sU IP

# FIN  标志的数据报扫描, 不会在目标主机创建日志
nmap -sF IP

# Version 版本检测扫描
nmap -sV IP

# 操作系统探测
nmap -O IP

# 猜测匹配操作系统
nmap -O --osscan-guess IP

# NO Ping 扫描
nmap -O -PN IP

# 设置时间模板
nmap -sS -T<0-5> IP

# 网段扫描格式
nmap -sP IP/CIDR

# 从文件中读取需要扫描的 IP 列表
nmap -iL file

# 路由跟踪扫描
nmap -traceroute IP

# 包含 OS 识别、版本探测、脚本扫描、traceroute 综合扫描
nmap -A IP

脚本使用

官方脚本文档

常见的一些脚本使用

参数详解

Nmap 支持主机名 IP 网段表示方式

1. 主机发现

2. 端口扫描

状态
描述

open

这表明与扫描端口的连接已建立。这些连接可以是TCP 连接、UDP 数据报以及SCTP 关联。

closed

当端口显示为关闭时,TCP 协议表明我们收到的数据包包含一个RST标志。这种扫描方法也可以用来确定我们的目标是否还活着。

filtered

Nmap 无法正确识别扫描的端口是打开还是关闭,因为要么没有从目标返回该端口的响应,要么我们从目标获得错误代码。

unfiltered

端口的这种状态只发生在TCP-ACK扫描期间,表示该端口是可访问的,但无法确定它是打开还是关闭。

open|filtered

如果我们没有得到特定端口的响应,Nmap则将其设置为该状态。这表明防火墙或数据包过滤器可以保护端口。

closed|filtered

此状态仅出现在IP ID 空闲扫描中,表示无法确定扫描的端口是否已关闭或被防火墙过滤。

3. 端口说明和扫描顺序

4. 服务版本识别

5. 脚本扫描

6. OS 识别

7. 时间和性能

8. 防火墙/IDS躲避和哄骗

9. Nmap 输出

10. 其他 nmap 选项

参考文章

最后更新于

这有帮助吗?