type
status
date
slug
summary
tags
category
icon
password
一、nmap的扫描方式
常见的
- TCP Connect 扫描 (-sT): 这是最常见的扫描方式之一,也被称为"全连接扫描"。它通过建立完整的TCP连接来确定目标主机上的端口是否开放。这种扫描方式在扫描日志中留下较少的痕迹,但比较慢。
- SYN 扫描 (-sS): 也称为"半开放扫描",它发送SYN数据包以建立TCP连接,但在三次握手的最后一步不进行完成。这种扫描方式较快,常用于快速扫描大量主机。
- UDP 扫描 (-sU): 用于扫描目标主机上的UDP端口。UDP是一种面向无连接的协议,因此UDP扫描通常需要更多的时间,并且结果可能不够稳定。
- Ping 扫描 (-sP): 用于检测目标子网中的活跃主机,但不进行端口扫描。它通常使用ICMP Echo请求。
不常见的
- ACK 扫描 (-sA): 使用TCP中的ACK标志位来扫描目标主机,用于检测防火墙规则和过滤规则。
- Window 扫描 (-sW): 类似于SYN扫描,但使用TCP中的窗口字段,用于探测过滤规则和防火墙配置。
- IDLE/IPID 扫描 (-sI): 利用TCP/IP协议栈中的IDLE和IPID序列号来进行扫描,用于绕过IDS。
- FTP Bounce 扫描 (-b): 利用FTP服务器的"暴走"特性来进行扫描,已经不太常用。
- RPC 扫描 (-sR): 用于识别目标主机上的远程过程调用(RPC)服务。
- FIN/NULL/Xmas 扫描 (-sF, -sN, -sX): 使用TCP标志位中的FIN、NULL或Xmas来扫描目标主机的端口,通常用于绕过防火墙或IDS。
二、基本命令
- 基本扫描:
nmap target: 扫描目标主机的常规扫描。- 示例:
nmap 192.168.1.1
- 指定端口范围:
nmap -p port-range target: 扫描特定端口范围内的目标。- 示例:
nmap -p 80-100 192.168.1.1
- 扫描常见端口:
nmap -F target: 扫描目标主机的常见端口(100个)。- 示例:
nmap -F 192.168.1.1
- 扫描所有TCP端口:
nmap -p- target: 扫描目标主机的所有TCP端口。- 示例:
nmap -p- 192.168.1.1
- 版本检测:
nmap -sV target: 扫描目标主机并尝试检测服务及其版本。- 示例:
nmap -sV 192.168.1.1
- 操作系统检测:
nmap -O target: 扫描目标主机并尝试猜测其操作系统类型。- 示例:
nmap -O 192.168.1.1
- 脚本扫描:
nmap --script script-name target: 运行特定的Nmap脚本进行扫描。- 示例:
nmap --script http-enum 192.168.1.1
- Ping扫描:
nmap -sn target: 扫描目标主机以检测存活主机,但不进行端口扫描。- 示例:
nmap -sn 192.168.1.0/24
- UDP扫描:
nmap -sU target: 扫描目标主机的UDP端口。- 示例:
nmap -sU 192.168.1.1
- 使用代理:
nmap --proxy proxy-server:port target: 通过代理服务器执行扫描。- 示例:
nmap --proxy 10.0.0.1:8080 192.168.1.1
11.报告生成:
nmap -oN report.txt target: 将扫描结果保存为普通文本格式文件。
- 示例:
nmap -oN scan_report.txt 192.168.1.1
12.发现子网中活跃的主机:
nmap -sP target: 使用ping扫描发现子网中活跃的主机。
- 示例:
nmap -sP 192.168.1.0/24
13.使用自定义扫描技术:
nmap -sA target: 使用ACK扫描技术,用于检测防火墙规则。
- 示例:
nmap -sA 192.168.1.1
三.使用chatgpt帮助理解
我:
你是一个 Linux 终端。在以下代码块中,你将看到对靶场地址 1.1.1.1 使用不同的 nmap 命令的回显输出。该靶场上有多个服务和端口开放,可以根据不同的 nmap 命令输出不同的结果。
nmap 1.1.1.1,这是第一个示例,请提供相应的 nmap 命令回显输出。
ChatGPT:
很抱歉,我无法直接执行命令或提供实时输出。但是,我可以为你提供预期的 nmap 命令回显输出,以及解释每个命令的含义。如果你想了解关于特定 nmap 命令的信息,请告诉我,我将尽力为你解答。以下是针对靶场地址 1.1.1.1 的第一个 nmap 示例:
预期输出示例:
解释:
- 该命令使用 nmap 对靶场地址 1.1.1.1 进行了一次默认的端口扫描。
- 扫描结果表明,主机 1.1.1.1 是活动的,延迟为 0.050 秒。
- 22/tcp 端口是开放的,服务为 ssh(Secure Shell)。
- 80/tcp 端口是开放的,服务为 http(Hypertext Transfer Protocol)。
- 443/tcp 端口是开放的,服务为 https(Hypertext Transfer Protocol Secure)。
- 扫描结束后,显示了扫描的主机数量、活动主机数量以及扫描耗时。
请注意,实际的输出可能会因网络环境、主机配置等因素而有所不同。如果你想了解其他 nmap 命令的输出示例或有关特定命令的解释,请告诉我。

靶机又开放一些端口后,nmap -p- 1.1.1.1
ChatGPT
预期的 nmap 命令回显输出如下:
预期输出示例:
解释:
- 该命令使用 nmap 对靶场地址 1.1.1.1 进行了一个全端口(1-65535)扫描。
- 扫描结果表明,主机 1.1.1.1 是活动的,延迟为 0.050 秒。
- 22/tcp、80/tcp、443/tcp 等端口依然是开放的,对应的服务是 ssh、http 和 https。
- 靶机开放了一些新的端口,包括 3389/tcp(ms-wbt-server)、5432/tcp(postgresql)、8080/tcp(http-proxy)、8888/tcp(sun-answerbook)、9090/tcp(zeus-admin)以及 10000/tcp(snet-sensor-mgmt)。
请注意,具体的端口状态和服务可能因网络环境、主机配置以及端口状态变化而有所不同。如果你还有其他问题或需要更多帮助,请随时告诉我。

此时,nmap -p- -sV 1.1.1.1
ChatGPT
预期的 nmap 命令回显输出如下:
预期输出示例:
解释:
- 该命令使用 nmap 对靶场地址 1.1.1.1 进行了一个全端口(1-65535)扫描,并且进行了服务版本探测(-sV 参数)。
- 扫描结果表明,主机 1.1.1.1 是活动的,延迟为 0.050 秒。
- 22/tcp 端口的 ssh 服务版本是 OpenSSH 7.6p1 Ubuntu 4ubuntu0.5。
- 80/tcp 和 443/tcp 端口的 http 和 https 服务版本都是 nginx/1.18.0 (Ubuntu)。
- 3389/tcp 端口是 ms-wbt-server,表示为 Microsoft Terminal Services。
- 5432/tcp 端口是开放的 postgresql 服务,表示为 PostgreSQL Database。
- 8080/tcp 端口是 http-proxy,表示为 Squid Proxy 4.10。
- 8888/tcp、9090/tcp 和 10000/tcp 端口的服务暂时未能确定版本信息。
请注意,服务版本的探测可能受到配置、防火墙规则等因素的影响,有些服务可能无法准确识别其版本信息。如果你还有其他问题或需要更多帮助,请随时告诉我。

此时,nmap -O 1.1.1.1
ChatGPT
预期的 nmap 命令回显输出如下:
预期输出示例:
解释:
- 该命令使用 nmap 对靶场地址 1.1.1.1 进行了操作系统探测(-O 参数)。
- 扫描结果表明,主机 1.1.1.1 是活动的,延迟为 0.050 秒。
- 22/tcp、80/tcp、443/tcp 和 3389/tcp 端口都是开放的,对应的服务分别是 ssh、http、https 和 ms-wbt-server。
- nmap 尝试识别目标主机的操作系统信息,它猜测目标主机可能在运行 Linux 3.X 或 4.X 内核,OS 详细信息是 Linux 3.2 - 4.9。
- nmap 还猜测目标主机的正常运行时间为大约 4.360 天(从 2023 年 8 月 5 日开始)。
- 网络距离(Network Distance)显示为 11 跳,表示从扫描主机到目标主机需要经过 11 个网络跃点。
请注意,操作系统的识别可能会受到主机配置、防火墙规则等因素的影响,有时候无法准确识别操作系统信息。如果你还有其他问题或需要更多帮助,请随时告诉我。

此时nmap -A 1.1.1.1
ChatGPT
预期的 nmap 命令回显输出如下:
预期输出示例:
解释:
- 该命令使用 nmap 对靶场地址 1.1.1.1 进行了一次"全面扫描"(-A 参数)。
- 扫描结果中包含了之前的端口信息,以及服务版本和操作系统猜测。
- 操作系统猜测显示了一系列可能的操作系统版本,其中使用了“Aggressive OS guesses”和“Aggressive OS matches”进行描述。
- 由于测试条件不理想,nmap 无法确定确切的操作系统匹配。
请注意,nmap 的"全面扫描"(-A 参数)会执行端口扫描、服务版本探测、操作系统探测以及一些其他探测,这可能会对目标主机产生一些负载。如果你还有其他问题或需要更多帮助,请随时告诉我。

2 / 2
对ip段的扫描呢,假设1.1.1.2和1.1.1.5也开放?nmap 1.1.1.0/24
ChatGPT
如果假设IP段 1.1.1.0/24 中的三个主机 1.1.1.1、1.1.1.2 和 1.1.1.5 都开放了端口,那么对该 IP 段进行扫描的 nmap 命令回显输出如下:
预期输出示例:
解释:
- 该命令使用 nmap 对 IP 段 1.1.1.0/24 进行了扫描,包括了 1.1.1.1、1.1.1.2 和 1.1.1.5 这三个主机。
- 对于每个主机,显示了开放的端口和对应的服务。
请注意,实际的输出可能会因网络环境、主机配置等因素而有所不同。如果你还有其他问题或需要更多帮助,请随时告诉我。