必要なときに最新のデータベースを保持できるように、バックグラウンドで/ etc / ethersを正しいホスト名:macペアで自動的に埋めることができるツール/デーモンがあります(例:Wake on LAN(wol))。たぶん、ネットワークを「スキャン」せずにarpキャッシュなどをランダムにダンプすることもできます。
ありがとう
ベストアンサー1
これらのほとんどを処理するツールはですarpwatch
。デフォルトでは(少なくともDebianでは)、このファイルは停止されるたびにフラッシュされ更新されます/var/lib/arpwatch/arp.dat
。arpwatch
ファイルには次の形式のエントリが含まれています。
52:54:00:aa:bb:cc 192.168.1.2 1452252063 somehostname eth0
ファイル/etc/ethers
にはMACアドレスとIPアドレス、または解決可能なホスト名のみが必要です。
52:54:00:aa:bb:cc 192.168.1.2
その後、/etc/ethers
毎日実行される小さなスクリプトを使用して更新を維持して同期することは非常に簡単ですcrontab
。
#!/bin/bash
# Flush arp.dat
service arpwatch restart
# Save a copy
test -f /etc/ethers || touch /etc/ethers
cp -fp /etc/ethers /etc/ethers.old
# Check to see if anything new has arrived. If so rebuild the file
(
echo '# This file is updated automatically from /var/lib/arpwatch/arp.dat'
echo '# Take care when editing'
echo '#'
(
awk '{print $1,$2}' /var/lib/arpwatch/arp.dat
grep -v '^#' /etc/ethers.old
) |
sort -u
) >/etc/ethers.tmp
# Update ethers with the new file
cmp -s /etc/ethers.tmp /etc/ethers || cat /etc/ethers.tmp >/etc/ethers
rm -f /etc/ethers.tmp
# All done
exit 0