Linux 中的 Macof 命令
您可能听说过 MAC 泛洪攻击。在MAC洪泛攻击中,攻击者试图通过发送无效的IP和MAC地址来填充MAC表。源表开始填充无效 MAC 地址,替换有效 MAC 地址。网络交换机的安全性主要受到MAC泛洪攻击的挑战。要进行MAC泛洪攻击,需要使用Linux中的macof命令。在本文中,我们将了解Linux中的macof命令以及如何使用macof命令进行MAC洪泛攻击。
Linux 中的 Macof 命令是什么?
使用 macof Linux 命令将 MAC 地址洪泛到本地网络交换机上。网络交换机维护一个 MAC 表,其中保存所有 MAC 地址。 macof 命令发送各种 MAC 地址来淹没交换机,导致交换机进入故障打开模式。交换机并不真正知道要把数据发送到哪里,所以它把数据发送到各处。它通常用于执行 MAC 泛洪攻击。它在 Dsniff suite 工具集下作为 MAC 地址表溢出实用程序提供。
Linux 中的 Macof 命令如何工作?
Linux 中的 macof 命令用各种 MAC 地址淹没交换机,导致其进入故障打开模式。它将各种 MAC 地址发送到交换 LAN,并用随机 MAC 地址填充 MAC 表。这会导致某些开关在重复模式下无法打开。发生这种情况是因为交换机将数据发送到 MAC 地址指定的端口。当它找不到发送数据的目标 MAC 地址时,它就像一个集线器一样,开始向各处发送数据。集线器不支持目标映射,它们将数据广播到设备上可用的每个端口。除了数据的预期用途之外,没有端口接受该数据。中心网络可以轻松跟踪和监控网络流量。
当 MAC 表充满随机无效 MAC 地址时,交换机会执行相同的操作并充当集线器。由于大多数设备使用交换机来分发数据并进行MAC地址映射,因此黑客很难跟踪网络流量。因此,他们使用 macof 命令对交换机进行泛洪,并用无效地址填充 MAC 表,并将其设为集线器,以便他们可以轻松跟踪所有网络流量并执行 MAC 泛洪攻击。在本文中,我们将通过一些示例来学习如何在 Linux 中使用 macof 命令。
我们将通过一些示例来了解 Linux 中的 macof 命令是如何工作的。让我们开始!
Linux 中 Macof 命令的语法
在研究示例之前,让我们先了解 macof 命令的语法并了解它的每个组件。以下是 Linux 中 macof 命令的语法:
“macof”是执行该功能的主命令。 “-i interface”标志用于定义发送 MAC 地址的接口。 “-s source”用于指定源的IP地址。 “-d 目的地”标志用于提供目的地的 IP 地址。 “-e target-address”用于提供目标硬件地址。 “-x TCP-source-port ”标志用于定义 TCP 源端口。 “-y TCP-dest-port ”用于表示 TCP 目标端口。最后,“-n packet”用于定义数据包的数量。这些数据包通过网络发送。必须提供每个标志的值。如果任何选项未指定,将自动为其生成一个随机值。
现在,让我们以 macof 命令为例。由于macof是dsniff工具箱的一部分,因此我们需要先安装它。
在 Linux 中安装 Macof
为了在 Linux 中使用 macof 命令,必须安装 dsniff 工具箱。 dsniff 工具箱可以通过 apt-get install 轻松安装。如果您在未安装 dsniff 的情况下运行 macof 命令,您将遇到一些错误。检查以下命令并尝试在终端中运行它:
执行该命令后,您将得到以下结果:
由于您没有安装 macof,系统返回“没有这样的文件或目录”错误。因此,您需要先安装 dsniff 工具箱才能使用 macof 命令而不会遇到任何错误。这是完整的命令,允许您安装 dsniff 并通过它使用 macof 实用程序。请参阅以下命令:
按键盘上的 Enter 键运行此命令并在 Ubuntu 22.04 操作系统中安装 dsniff 工具箱。 “sudo apt-get install dsniff”命令允许您安装 dsniff 工具箱。请参阅以下结果:
现在,您的 Ubuntu 22.04 系统已准备好运行 macof 命令并使用随机 MAC 地址淹没交换机。让我们通过一些示例来了解如何使用 macof 命令。
使用 Macof 命令执行简单的 MAC 泛洪
无需指定任何MAC地址即可执行简单的MAC泛洪。它允许我们通过用几个随机地址淹没交换机来监控网络上的所有流量。在终端中输入命令(附在下面的屏幕截图中)。这将执行简单的 MAC 泛洪操作。
macof 是该函数的主命令。 “-i eth1 ”指定发送 MAC 地址的接口“eth1”。 “-n 10”指定应通过网络发送 10 个数据包。请注意,没有提供源或目标 IP 地址,因此将随机选择这些地址。同样,没有指定源或目标 TCP 端口,因此也将随机选择这些端口。此外,没有指定目标硬件地址,并且也会自动选择目标硬件地址。这就是执行 MAC 泛洪的方法。看到下面的结果:
使用 Macof 命令执行有针对性的 MAC 泛洪
目标 MAC 泛洪是通过提供目标 MAC 地址来执行的。您可以注意到,上一个示例中没有提供目标 MAC 地址,从而导致了简单的 MAC 泛洪。在这里,我们将提供一个特定的 MAC 地址作为 MAC 泛洪的目标。请参阅以下代码以及附加的输出。
这会导致目标 MAC 泛洪。看到下面的结果:
结论
本文是 Linux 操作系统中 macof 命令的演练。 macof 命令用于用随机 MAC 地址淹没交换机,导致交换机进入故障开放模式。 macof 命令包含在 dsniff 工具箱中。要使用macof命令,必须在Ubuntu系统中安装dsniff。在本文中,我们学习了安装 dsniff,并且看到了 macof 命令的两个示例。