Arpwatch – 在 Linux 中监视以太网活动 {IP 和 Mac 地址}
Arpwatch是一个开源计算机软件程序,可以帮助您监控网络上的以太网流量活动(如更改 IP和MAC 地址)并维护以太网/IP 地址配对的数据库。
它会生成已发现的 IP 和 MAC 地址配对信息以及时间戳的日志,因此您可以仔细观察网络上出现配对活动的时间。当添加或更改配对时,它还可以选择通过电子邮件向网络管理员发送报告。
Arpwatch工具对于网络管理员特别有用,可以监视ARP 活动以检测ARP 欺骗或意外的IP/MAC地址修改。
在 Linux 中安装 Arpwatch
Arpwatch工具未安装在 Linux 发行版上,您需要使用默认包管理器从系统存储库中安装它,如图所示。
$ sudo apt install arpwatch [On Debian, Ubuntu and Mint] $ sudo yum install arpwatch [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a net-analyzer/arpwatch [On Gentoo Linux] $ sudo apk add arpwatch [On Alpine Linux] $ sudo pacman -S arpwatch [On Arch Linux] $ sudo zypper install arpwatch [On OpenSUSE]
安装后,您可以查看最重要的 arpwatch 文件,根据您的操作系统,文件的位置略有不同。
- /usr/lib/systemd/system/arpwatch – 用于启动或停止守护进程的 arpwatch 服务。
- /etc/sysconfig/arpwatch – 这是主要的 arpwatch 配置文件。
- /usr/sbin/arpwatch – 通过终端启动和停止工具的二进制命令。
- /var/lib/arpwatch/arp.dat – 这是记录 IP/MAC 地址的主要数据库文件。
- /var/log/messages – 日志文件,arpwatch 将任何对 IP/MAC 的更改或异常活动写入其中。
现在运行以下命令来启动arpwatch服务。
# systemctl enable arpwatch # systemctl start arpwatch # systemctl status arpwatch
如何在 Linux 中使用 Arpwatch 命令
要监视特定接口,请键入以下命令-i
和设备名称。
# arpwatch -i eth0
因此,每当插入新的 MAC 或特定 IP 在网络上更改其 MAC 地址时,您都会使用tail 命令注意到“ /var/log/syslog ”或“ /var/log/message ”文件中的 syslog 条目。
# tail -f /var/log/messages
示例输出
Apr 15 12:45:17 example arpwatch: new station 172.16.16.64 d0:67:e5:c:9:67 Apr 15 12:45:19 example arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45 Apr 15 12:45:19 example arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45 Apr 15 12:45:19 example arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45 Apr 15 12:45:19 example arpwatch: new station 172.16.25.86 0:d0:b7:23:72:45
上面的输出显示了一个新的工作站。如果进行了任何更改,您将获得以下输出。
Apr 15 12:45:17 example arpwatch: changed station 172.16.16.64 0:f0:b8:26:82:56 (d0:67:e5:c:9:67) Apr 15 12:45:19 example arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45) Apr 15 12:45:19 example arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45) Apr 15 12:45:19 example arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45) Apr 15 12:45:19 example arpwatch: changed station 172.16.25.86 0:f0:b8:26:82:56 (0:d0:b7:23:72:45)
您还可以使用以下命令检查当前ARP表。
# arp -a
示例输出
example.com (172.16.16.94) at 00:14:5e:67:26:1d [ether] on eth0 ? (172.16.25.125) at b8:ac:6f:2e:57:b3 [ether] on eth0
如果您想向您的自定义电子邮件 ID 发送警报,请打开主配置文件“ /etc/sysconfig/arpwatch ”并添加电子邮件,如下所示。
# -u <username> : defines with what user id arpwatch should run # -e <email> : the <email> where to send the reports # -s <from> : the <from>-address OPTIONS="-u arpwatch -e admin@example.com -s 'root (Arpwatch)'"
这是当连接新的MAC时的电子邮件报告示例。
hostname: centos ip address: 172.16.16.25 interface: eth0 ethernet address: 00:24:1d:76:e4:1d ethernet vendor: GIGA-BYTE TECHNOLOGY CO.,LTD. timestamp: Monday, April 15, 2022 15:32:29
这是当IP更改其MAC地址时的电子邮件报告示例。
hostname: centos ip address: 172.16.16.25 interface: eth0 ethernet address: 00:56:1d:36:e6:fd ethernet vendor: GIGA-BYTE TECHNOLOGY CO.,LTD. old ethernet address: 00:24:1d:76:e4:1d timestamp: Monday, April 15, 2022 15:43:45 previous timestamp: Monday, April 15, 2022 15:32:29 delta: 9 minutes
如上所示,它记录了主机名、IP 地址、MAC 地址、供应商名称和时间戳。
有关更多信息,请在终端上点击“ man arpwatch ”查看 arpwatch 手册页。
# man arpwatch