Arpwatch 工具用于监控 Linux 中的以太网活动

linuxoperating systemopen source更新于 2026/2/6 15:52:17

作为系统管理员,密切关注网络活动对于确保安全并检测任何异常至关重要。在 Linux 中,Arpwatch 是一款用于监控以太网活动的实用工具。在本文中,我们将探讨 Arpwatch 是什么、它的工作原理以及如何有效地使用它。

什么是 Arpwatch?

Arpwatch 是一款用于监控网络上以太网活动的工具。它旨在跟踪以太网/IP 地址配对(ARP 活动),并在发生任何变化时向系统管理员发出警报。 ARP(地址解析协议)是一种用于在本地网络上将 IP 地址映射到 MAC 地址的协议。

Arpwatch 尤其适用于检测潜在的网络攻击,例如 ARP 欺骗或 MAC 地址欺骗,这些攻击可用于拦截网络流量或发起中间人攻击。

Arpwatch 的工作原理

Arpwatch 会监听网络上的以太网流量,并记录其观察到的所有 IP/MAC 地址配对。它会将这些信息存储在数据库中,以便与收到的任何新 ARP 请求进行比较。如果它检测到任何更改,例如新的 IP 地址映射到不同的 MAC 地址,它将向系统管理员发送警报。

Arpwatch 可以配置为守护进程运行,这意味着它将在后台持续监控网络活动,并在检测到任何更改时向管理员发出警报。

安装 Arpwatch

Arpwatch 可以使用软件包管理器安装在大多数 Linux 发行版上。在基于 Debian 的系统上,您可以使用以下命令安装它 -

sudo apt-get install arpwatchre

在基于 Red Hat 的系统上,您可以使用以下命令安装它 -

sudo yum install arpwatch

配置 Arpwatch

安装 Arpwatch 后,需要先进行配置才能开始监控网络活动。 Arpwatch 的配置文件位于 /etc/arpwatch.conf。

以下是配置文件示例 -

# arpwatch.conf
# 监控接口
DEVICE=eth0
# 发送警报的邮箱地址
#EMAIL_ADDRESS=root
# 存储 ARP 数据库的文件
#ARP_FILE=/var/lib/arpwatch/arp.dat
# 作为守护进程运行
#RUN_DAEMON=yes

要启动 Arpwatch,请取消注释 RUN_DAEMON=yes 行并保存文件。然后,使用以下命令启动 Arpwatch 服务 -

sudo service arpwatch start

Arpwatch 现在将开始监控指定网络接口上的以太网活动。

查看 Arpwatch 警报

当 Arpwatch 检测到 ARP 活动发生变化时,它会向配置文件中指定的电子邮件地址发送警报。警报将包含有关新的 IP/MAC 地址配对以及之前的配对的信息。

以下是警报示例 -

This is arpwatch program, also known as etherwatch.
There was a change in status for ethernet address
00:11:22:33:44:55 on network interface eth0:

   Previous status: 192.168.1.100 00:11:22:33:44:55
   New status: 192.168.1.101 00:11:22:33:44:55

除了电子邮件警报外,Arpwatch 还可以将 ARP 活动记录到文件中。ARP 数据库文件的默认位置是 /var/lib/arpwatch/arp.dat。您可以使用文本编辑器打开此文件,也可以使用 arpwatch 命令查看 -

sudo arpwatch /var/lib/arpwatch/arp.dat

这将显示 Arpwatch 已检测并记录的所有 IP/MAC 地址配对列表。

Arpwatch 选项

Arpwatch 有多个选项可用于自定义其行为。以下是一些有用的选项 -

  • -n - 不解析主机名。

  • -r - 以只读模式运行(不写入 ARP 数据库)。

  • -f - 指定 ARP 数据库文件的备用位置。

  • -a - 附加到 ARP 数据库文件而不是覆盖它。

  • -d - 增加调试输出。

例如,要以只读模式运行 Arpwatch 并显示调试输出,可以使用以下命令 -

sudo arpwatch -r -d

Arpwatch 的高级用法

虽然Arpwatch 的基本使用方法很简单,还有一些更高级的功能可以用来增强其功能。

MAC 地址白名单

默认情况下,Arpwatch 会在您网络上 MAC 地址到 IP 地址映射的任何更改时发出警报。但是,如果您网络上的设备(例如智能手机或笔记本电脑)经常更改 MAC 地址,则可能会导致大量误报。为了防止这种情况,您可以将允许更改的 MAC 地址列入白名单。这可以通过将 MAC 地址添加到与 Arpwatch 日志位于同一目录的 arp.dat 文件中来实现。每个 MAC 地址应按以下格式单独占一行:-

xx:xx:xx:xx:xx:xx:xx 忽略

在此示例中,xx:xx:xx:xx:xx:xx 应替换为您要列入白名单的 MAC 地址。

DHCP 侦听

如果您的网络使用 DHCP 为设备分配 IP 地址,您可以在 Arpwatch 中启用 DHCP 侦听。这将允许 Arpwatch 将 MAC 地址与其分配的 IP 地址关联起来,并在其日志和警报中提供更详细的信息。要启用 DHCP 侦听,请在 Arpwatch 配置文件中添加以下行:-

dhcp-snooping

DNS 解析

默认情况下,Arpwatch 只会在其日志和警报中记录 IP 地址。但是,如果您想查看主机名而不是 IP 地址,您可以在 Arpwatch 中启用 DNS 解析。要启用 DNS 解析,请在 Arpwatch 配置文件中添加以下行: -

resolve

这将使 Arpwatch 对其检测到的每个 IP 地址执行反向 DNS 查找,并将主机名包含在其日志和警报中。

结论

Arpwatch 是一款用于监控网络上以太网活动的强大工具。通过跟踪 ARP 活动并向系统管理员发出任何更改的警报,它可以帮助检测潜在的网络攻击并确保网络安全。凭借其简单的安装和配置过程,Arpwatch 是任何 Linux 管理员工具包中的重要补充。


相关文章


有用资源