简介
在本实验中,我们将探索如何使用 Nmap 欺骗 MAC 地址。欺骗 MAC 地址可让你在扫描期间隐藏网络身份,这对于逃避检测或测试网络安全性很有用。
本实验涵盖使用 --spoof-mac
选项指定自定义 MAC 地址、使用 --spoof-mac 0
随机化 MAC 地址、使用 -v
标志增加详细程度、将欺骗扫描输出保存到文件,以及在 Xfce 终端中将结果与正常扫描进行比较。
在本实验中,我们将探索如何使用 Nmap 欺骗 MAC 地址。欺骗 MAC 地址可让你在扫描期间隐藏网络身份,这对于逃避检测或测试网络安全性很有用。
本实验涵盖使用 --spoof-mac
选项指定自定义 MAC 地址、使用 --spoof-mac 0
随机化 MAC 地址、使用 -v
标志增加详细程度、将欺骗扫描输出保存到文件,以及在 Xfce 终端中将结果与正常扫描进行比较。
在本步骤中,我们将探索如何使用 Nmap 欺骗 MAC 地址。欺骗 MAC 地址可让你在扫描期间隐藏你的网络身份。出于各种原因,这可能会很有用,比如逃避检测或测试网络安全性。
在开始之前,让我们简要讨论一下什么是 MAC 地址。MAC(媒体访问控制)地址是分配给网络接口控制器(NIC)的唯一标识符,用作网段内通信中的网络地址。它就像是你网卡的物理地址。
现在,让我们使用 Nmap 来欺骗我们的 MAC 地址。我们将使用 --spoof-mac
选项,后跟所需的 MAC 地址和目标 IP 地址。
打开你的 Xfce 终端。
执行以下命令:
sudo nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1
此命令告诉 Nmap 在扫描目标 IP 地址 192.168.1.1
期间使用 MAC 地址 00:11:22:33:44:55
。你可能会看到类似于正常 Nmap 扫描的输出,但用于扫描的源 MAC 地址将是被欺骗的那个。
输出将显示扫描结果,包括开放端口和有关目标的其他信息。
示例输出(具体输出将因目标而异):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.10s
在这个示例中,Nmap 使用被欺骗的 MAC 地址 00:11:22:33:44:55
扫描了 192.168.1.1
。
在上一步中,我们学习了如何使用特定值欺骗 MAC 地址。在本步骤中,我们将探索如何使用 Nmap 随机化 MAC 地址。当你想要通过使用可预测的 MAC 地址来避免被追踪时,这会很有用。
Nmap 允许你通过将 0
用作 --spoof-mac
选项的参数来随机化 MAC 地址。这会告诉 Nmap 为每次扫描生成一个完全随机的 MAC 地址。
打开你的 Xfce 终端。
执行以下命令:
sudo nmap --spoof-mac 0 127.0.0.1
此命令告诉 Nmap 在扫描目标 IP 地址 127.0.0.1
(localhost)期间使用随机 MAC 地址。
输出将显示扫描结果,包括开放端口和有关目标的其他信息。由于我们正在扫描 localhost,结果应该相对较快。
示例输出(具体输出将因目标和系统配置而异):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed
Nmap done: 1 IP address (1 host up) scanned in 0.01s
在这个示例中,Nmap 使用随机化的 MAC 地址扫描了 127.0.0.1
。每次你运行此命令时,Nmap 都会生成不同的 MAC 地址。
在本步骤中,我们将把 MAC 地址欺骗与增加 Nmap 的详细程度结合起来。详细程度会提供有关扫描过程的更详细信息,这对于故障排除或理解 Nmap 的行为可能会有帮助。
Nmap 中的 -v
选项会增加详细程度级别。使用一次 -v
会提供比默认情况更多的信息,多次使用它(例如 -vv
或 -vvv
)会进一步增加详细程度。
打开你的 Xfce 终端。
执行以下命令:
sudo nmap -v --spoof-mac 00:11:22:33:44:55 192.168.1.1
此命令告诉 Nmap 对 192.168.1.1
进行扫描,将 MAC 地址欺骗为 00:11:22:33:44:55
,并提供详细输出。
输出将比前几步更详细,显示扫描的不同阶段、发送的探测以及收到的响应。
示例输出(具体输出将因目标和系统配置而异):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Ping Scan at 10:10
Scanning 192.168.1.1 [4 ports]
Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:10
Completed Parallel DNS resolution of 1 host. at 10:10, 0.00s elapsed
Initiating SYN Stealth Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Discovered open port 80/tcp on 192.168.1.1
Completed SYN Stealth Scan at 10:10, 0.05s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00018s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
80/tcp open http
Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07s
Raw packets sent: 1001 (44.044KB) | Rcvd: 1001 (40.044KB)
注意提供的额外信息,例如 NSE 脚本加载、不同扫描阶段(Ping 扫描、DNS 解析、SYN 隐蔽扫描)的启动以及发送和接收的数据包数量。在调试网络问题或分析扫描结果时,这种详细程度可能非常宝贵。
在本步骤中,我们将学习如何将 Nmap 扫描的输出保存到文件中。这对于后续分析或生成报告很有用。我们还将继续使用 MAC 地址欺骗。
Nmap 提供了几种保存扫描结果的选项。-oN
选项以“正常”格式保存输出,这种格式是人类可读的。-oG
选项以可用于脚本编写的 grep 格式保存输出。-oX
选项以 XML 格式保存输出,这对于导入到其他工具中很有用。
打开你的 Xfce 终端。
执行以下命令:
sudo nmap --spoof-mac 0 -oN spoof.txt 127.0.0.1
此命令告诉 Nmap 对 127.0.0.1
进行扫描,随机化 MAC 地址,并将输出以正常格式保存到当前目录(~/project
)中名为 spoof.txt
的文件中。
扫描完成后,你可以使用 cat
命令查看 spoof.txt
文件的内容:
cat spoof.txt
输出将以人类可读的格式显示扫描结果,类似于你在终端上看到的内容。
示例输出(具体输出将因目标和系统配置而异):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed
Nmap done: 1 IP address (1 host up) scanned in 0.01s
现在,spoof.txt
文件包含了 Nmap 扫描的结果,你可以在方便的时候查看。
在本步骤中,我们将查看在上一步中保存到 spoof.txt
文件的扫描输出。这将让你练习解读 Nmap 扫描结果。
打开你的 Xfce 终端。
使用 cat
命令显示 spoof.txt
文件的内容:
cat spoof.txt
输出将显示 Nmap 扫描报告。让我们来剖析报告的关键部分:
localhost
或 127.0.0.1
)。示例输出(具体输出会因目标和系统配置而异):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed
Nmap done: 1 IP address (1 host up) scanned in 0.01s
花些时间检查输出,并理解它告诉你关于目标系统的哪些信息。在下一步中,我们将把这个输出与正常扫描(不进行 MAC 地址欺骗)的输出进行比较,看看是否有任何差异。
在本步骤中,我们将执行一次正常的 Nmap 扫描(不进行 MAC 地址欺骗),并将其输出与前几步中欺骗扫描的输出进行比较。这将帮助你了解 MAC 地址欺骗是否会影响扫描结果。
打开你的 Xfce 终端。
首先,对 127.0.0.1
运行一次正常的 Nmap 扫描:
sudo nmap 127.0.0.1
此命令将对本地主机执行标准的 Nmap 扫描。
仔细检查此扫描的输出。注意以下几点:
127.0.0.1
)。示例输出(具体输出会因目标和系统配置而异):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:25 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed
Nmap done: 1 IP address (1 host up) scanned in 0.01s
现在,将此输出与包含欺骗扫描输出的 spoof.txt
文件的内容进行比较。你可以使用 cat
命令查看 spoof.txt
的内容:
cat spoof.txt
这两次扫描结果之间有什么差异吗?在大多数基本情况下,扫描结果将是相同的。然而,在更复杂的网络环境中,MAC 地址欺骗可能会影响目标系统对扫描的响应方式,从而可能导致不同的结果。这是因为一些网络设备或防火墙可能会使用 MAC 地址进行过滤或访问控制。
在这个简单的实验环境中,MAC 地址欺骗的主要目的是掩盖扫描的来源,而不一定是改变扫描结果。
在这个实验中,我们探索了如何使用 Nmap 欺骗 MAC 地址。我们学会了在扫描目标 IP 地址时,使用 --spoof-mac
选项来指定一个特定的 MAC 地址,例如 00:11:22:33:44:55
。这使我们能够伪装自己的网络身份,并有可能逃避检测。
此外,我们开始研究如何使用 Nmap 随机化 MAC 地址,这对于避免因使用可预测的 MAC 地址而被追踪很有用。该实验展示了指定 MAC 地址和随机化 MAC 地址的基本语法,为更高级的网络扫描技术奠定了基础。