某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工具

    • 工具首页
    • 渗透类工具

      • 信息收集

        • Nmap
          • 1. 指定扫描目标
            • 1.1 直接指定
            • 1.2 从文件中读取
            • 1.3 排除地址
          • 2. 主机发现方式
            • 2.1 Ping扫描
            • 2.2 跳过主机发现
          • 3. 扫描技术
            • 3.1 SYN扫描方式(默认)
            • 3.2 TCP扫描方式
            • 3.3 UDP扫描方式
            • 3.99 更多扫描方式
          • 4. 端口和扫描顺序
            • 4.1 扫描指定端口
            • 4.2 快速扫描
            • 4.3 按顺序扫描端口
          • 5. 服务和版本侦测
            • 5.1 探测端口的 服务/版本 信息
            • 5.2 探测级别
            • 5.3 显示详细的版本扫描活动(用于debug)
          • 6. 操作系统检测
            • 6.1 启用操作系统检测
            • 6.2 缩小 操作系统检测 范围
            • 6.3 增加 操作系统检测 范围
          • 7. 时间和性能
            • 7.1 扫描线程(计时模板)
        • Nmap脚本引擎—NSE脚本编写教程(nmap插件)
        • GoogleHacking
        • Cloudlist
      • 目录扫描

      • 漏洞综合扫描

      • 口令暴破

      • 模糊测试

      • 代码审计

      • 内网渗透

      • 木马生成工具

    • 字典

    • 应用程序安全

    • 应急响应

  • 数据库

  • 云安全

  • 容器技术

  • 应急响应

  • 安全设备及平台

  • 面试

  • Top榜单

  • 知识库
  • 工具
  • 渗透类工具
  • 信息收集
clincat
2023-04-16
目录

Nmap

# Nmap

# 1. 指定扫描目标

# 1.1 直接指定

# 参数
nmap <地址>

### 示例
nmap www.example.com
nmap www.example.com/24

nmap 192.168.1.1
nmap 192.168.1.1/24

# 扫描192.168.1.1 - 192.168.1.254
nmap 192.168.1.1-254

# 扫描192.168.0.1 - 192.168.255.254
nmap 192.168.0-255.1-254

# 多个地址可以用 逗号, 隔开
nmap 192.168.1.1,192.168.1.50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 1.2 从文件中读取

你可以将多个地址 保存到文件中(每行一个地址),然后使用 Nmap 批量读取并扫描。

# 参数
nmap -iL <文件名>

# 示例
nmap -iL 1.txt
1
2
3
4
5

# 1.3 排除地址

如果你不想扫描某个地址,则可以排除它。

# 参数
nmap <地址> --exclude <排除地址>

### 示例

# 扫描192.168.0.1 - 192.168.0.254,跳过其中的192.168.0.100
nmap 192.168.0.1-254 --exclude 192.168.0.100

# 多个排除地址可以使用 逗号, 隔开
nmap 192.168.0.1-254 --exclude 192.168.0.100,192.168.0.200
1
2
3
4
5
6
7
8
9
10

# 2. 主机发现方式

# 2.1 Ping扫描

启用 ping扫描 之后:

  • 自动禁用端口扫描;
  • 用 ping 的方式发现主机。

适用于需要 主机发现 ,而不需要 端口扫描 的场景。

### 示例

# 探测192.168.0.1 - 192.168.0.254中存活的主机有哪些
nmap -sn 192.168.0.1-254
1
2
3
4

# 2.2 跳过主机发现

Nmap 通常会用 Ping 的方式来检测目标主机是否在线。

在某些情况下,目标主机会“禁ping”,这样一来 Nmap 就会错失一台主机。

  • 你可以禁用主机发现,让 Nmap 始终认为这台主机是存活的。
### 示例

# nmap会跳过主机发现,认为192.168.0.1的主机是存活,直接进行扫描
nmap -Pn 192.168.0.1
1
2
3
4

# 3. 扫描技术

# 3.1 SYN扫描方式(默认)

该扫描方式是 Nmap 默认的扫描方式。

使用 TCP SYN 方式进行扫描(TCP协议 扫描类型之一)。

  • 该扫描使用了 TCP协议的SYN技术,并不是完整的 TCP协议。
# 不指定参数, 默认就是SYN扫描
nmap 192.168.1.1

# 指定参数
nmap -sS 192.168.1.1
1
2
3
4
5

# 3.2 TCP扫描方式

在 3.1 当中,使用了 TCP协议 的 SYN技术 进行扫描,如果你想使用完整的TCP扫描,则可以:

# 示例
nmap -sT 192.168.1.1
1
2

# 3.3 UDP扫描方式

如题。

# 示例
nmap -sU 192.168.1.1
1
2

# 3.99 更多扫描方式

你可以参考官方文档:https://nmap.org/man/zh/man-port-scanning-techniques.html (opens new window)

  • -sA:ACK扫描(TCP扫描类型的其中一种)
  • -sW:窗口扫描(和 ACK扫描 类似)
  • -sM:Maimon扫描(和 Xmas扫描 类似)
  • -sN:TCP Null扫描(和TCP标志位有关)
  • -sF:FIN扫描(和TCP标志位有关)
  • -sX:Xmas扫描(和TCP标志位有关)
  • -b:FTP弹跳扫描
  • --scanflags:定制你自己的TCP扫描(稍微复杂,对用户的知识掌握程度 要求较高)

# 4. 端口和扫描顺序

# 4.1 扫描指定端口

Nmap 默认只扫描 Top 1000 端口,例如 80、443、3306 等。

# 参数
nmap <地址> -p <端口范围>

### 示例

# 只扫描 22 这一个端口
nmap 192.168.0.1 -p 22

# 扫描1 到 65535端口,也就是全端口
nmap 192.168.0.1 -p 1-65535


### 高级用法

# 以UDP方式扫描23和111端口,以TCP方式扫描21至25端口,以SYN方式扫描9端口
nmap 192.168.0.1 -p U:53,111,T:21-25,S:9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 4.2 快速扫描

快速扫描方式,扫描的端口数量 比 默认的 还要少。

# 示例
nmap -F 192.168.1.1
1
2

# 4.3 按顺序扫描端口

默认情况下,Nmap 按随机顺序扫描端口。

# 示例

# nmap从1端口开始,按数字顺序扫描到最后一个端口
nmap -r -p 1-65535 192.168.0.1
1
2
3
4

# 5. 服务和版本侦测

# 5.1 探测端口的 服务/版本 信息

添加该参数后,如果某个端口是开放(Open)状态,则 Nmap 会尝试探测端口的 服务和版本信息。

# 示例
nmap -sV 192.168.1.1
1
2

# 5.2 探测级别

用于设置 服务/版本 信息探测的级别。

  • 可选范围0-9
  • 数字越大,侦测强度也越大
  • 默认级别为7
# 参数
nmap --version-intensity <级别> <地址>

# 示例
nmap --version-intensity 9 192.168.0.1
1
2
3
4
5

# 5.3 显示详细的版本扫描活动(用于debug)

# 示例
nmap --version-trace 192.168.0.1
1
2

# 6. 操作系统检测

# 6.1 启用操作系统检测

启用“操作系统检测”之后,Nmap 会尝试探测目标的操作系统类型。

# 示例
nmap -O 192.168.0.1
1
2

# 6.2 缩小 操作系统检测 范围

将操作系统检测范围,限制为有希望的目标类型。

# 示例
nmap -O --osscan-limit 192.168.0.1
1
2

# 6.3 增加 操作系统检测 范围

让 Nmap 更积极地猜测操作系统。

  • 当 Nmap 无法确定所检测的操作系统时,会尽可能地提供最相近的匹配。
# 示例
nmap -O --osscan-guess 192.168.0.1
1
2

# 7. 时间和性能

# 7.1 扫描线程(计时模板)

Nmap 默认提供了 6 个线程:

  • paranoid (0)
  • sneaky (1)
  • polite (2)
  • normal (3)
  • aggressive (4)
  • insane (5)

你可以使用对应的 数字或名称 来指定模板,默认线程为3。

# 参数
nmap -T<数字> <地址>

### 示例

# Nmap 默认采用速率 3 来进行扫描
nmap 192.168.0.1

# 使用速率 4 进行扫描
nmap -T4 192.168.0.1
1
2
3
4
5
6
7
8
9
10
编辑 (opens new window)
工具首页
Nmap脚本引擎—NSE脚本编写教程(nmap插件)

← 工具首页 Nmap脚本引擎—NSE脚本编写教程(nmap插件)→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式