ARPWATCH(8) System Manager's Manual ARPWATCH(8)

arpwatch — ردیابی و نظارت بر ارتباط آدرسهای اترنت و IP

arpwatch [-CdFNpqsvzZ] [-D arpdir] [-f datafile] [-i interface] [-P pidfile] [-w watcher@email] [-W watchee@email] [-n net[/width]] [-x net[/width]] [-r file]

دستور arpwatch ارتباط و نگاشت آدرس‌های اترنت/IP را ردیابی و نظارت می‌کند. این ابزار فعالیت‌ها را در گزارش‌های سیستمی (syslog) ثبت کرده و تغییرات مشخصی را از طریق ایمیل گزارش می‌دهد. arpwatch از کتابخانه pcap(3) برای شنود بسته‌های داده ARP روی یک رابط شبکه اترنت محلی استفاده می‌کند.

فایل arp.dat شامل سه یا چهار فیلد است. فیلد اول آدرس مک اترنت (ethernet MAC address)، فیلد دوم آدرس IPv4 و فیلد سوم زمان بر حسب ثانیه از مبدأ نیمه‌شب ۱ ژانویه ۱۹۷۰ است. فیلد اختیاری چهارم، نام کوتاه میزبان است که هنگام مشاهده اولیه جفت mac/ip از رکورد PTR آدرس IP استخراج می‌شود؛ این فیلد هرگز به‌روزرسانی نمی‌شود و هدف از آن، نگهداری ردی برای تشخیص منشأ جفت mac/ip است.

گزینه -C باعث استفاده از آدرس‌های اترنت فشرده‌شده با پدینگ (compact padded) در arp.dat می‌شود، مانند 0:8:e1:1:2:d6.

گزینه -d برای فعال‌سازی حالت اشکال‌زدایی (debugging) استفاده می‌شود. این گزینه همچنین از رفتن فرآیند به پس‌زمینه و ارسال گزارش‌ها از طریق ایمیل جلوگیری می‌کند؛ در عوض، گزارش‌ها به stderr ارسال می‌شوند.

گزینه -D برای تعیین دایرکتوری کاری arpwatch استفاده می‌شود. مقدار پیش‌فرض آن /usr/local/arpwatch است.

گزینه -f برای تعیین نام فایل پایگاه‌داده آدرس‌های اترنت/IP به کار می‌رود. مقدار پیش‌فرض آن arp.dat است.

گزینه -F از انشعاب arpwatch به پس‌زمینه جلوگیری کرده و باعث اجرای آن در پیش‌زمینه (foreground) می‌شود.

گزینه -i برای تغییر رابط شبکه پیش‌فرض استفاده می‌شود.

گزینه -n شبکه‌های محلی اضافی را مشخص می‌کند. این گزینه زمانی که بیش از یک شبکه روی یک سیم/رسانه فیزیکی اجرا می‌شود، برای جلوگیری از هشدارهای «bogon» کاربردی است. اگر شناسه اختیاری width مشخص نشود، ماسک شبکه (netmask) پیش‌فرض کلاس مربوط به آن شبکه استفاده خواهد شد.

گزینه -N گزارش هرگونه آدرس نامعتبر (bogon) را غیرفعال می‌کند.

گزینه -p حالت درهم یا بی‌قاعده (promiscuous mode) را غیرفعال می‌کند.

گزینه -P مسیر فایل شناسه فرآیند یا pidfile را مشخص می‌کند.

گزینه -q از ثبت گزارش‌ها در لاگ یا چاپ آن‌ها در stderr جلوگیری می‌کند.

گزینه -r برای مشخص کردن یک فایل ذخیره‌شده (که احتمالاً توسط tcpdump(1) یا pcapture(1) ایجاد شده است) جهت خواندن بسته‌ها به‌جای شنود مستقیم از شبکه استفاده می‌شود. در این حالت arpwatch به پس‌زمینه منشعب نمی‌شود.

توجه داشته باشید که پیش از نخستین اجرای arpwatch ، باید یک فایل خالی arp.dat ایجاد شده باشد.

گزینه -s ارسال گزارش‌ها از طریق ایمیل را متوقف و غیرفعال می‌کند.

گزینه -v گزارش پیشوندهای اترنت VRRP/CARP را همان‌طور که در RFC5798 تعریف شده است (0:0:5e:0:1:xx) غیرفعال می‌کند.

گزینه -w برای تعیین آدرس ایمیل مقصد جهت ارسال گزارش‌ها استفاده می‌شود. مقدار پیش‌فرض آن root است.

گزینه -W آدرس ایمیل فرستنده (From) را برای ارسال گزارش‌ها مشخص می‌کند. مقدار پیش‌فرض آن root است.

گزینه -z گزارش تغییرات مربوط به 0.0.0.0 را غیرفعال می‌کند که در شبکه‌های شلوغ دارای سرویس‌دهنده DHCP سودمند است.

گزینه -Z باعث استفاده از آدرس‌های اترنت دارای صفر در ابتدای هر بخش (zero padded) در arp.dat می‌شود، مانند 00:08:e1:01:02:d6.

در اینجا فهرستی کوتاه از پیام‌های گزارش تولیدشده توسط arpwatch(8) (و arpsnmp(8)) آورده شده است:

این جفت آدرس اترنت/IP برای نخستین بار پس از شش ماه یا بیشتر استفاده شده است.
این آدرس اترنت پیش از این هرگز مشاهده نشده بود.
آدرس اترنت از آخرین آدرس دیده‌شده، به دومین آدرسی که پیش از آن دیده شده بود تغییر یافته است. (اگر آدرس اترنت قدیمی یا جدید یک آدرس DECnet باشد و کمتر از ۲۴ ساعت از آن گذشته باشد، نسخه ایمیلی این گزارش ارسال نمی‌شود.)
میزبان به یک آدرس اترنت جدید تغییر یافته است.

در اینجا برخی از پیام‌های گزارش سیستمی (syslog) آورده شده‌اند؛ توجه داشته باشید پیام‌هایی که گزارش می‌شوند، در syslog نیز ثبت می‌گردند.

آدرس مک اترنت میزبان، یک آدرس پخش همگانی (broadcast) است.
آدرس IP میزبان، یک آدرس پخش همگانی (broadcast) است.
آدرس IP مبدأ متعلق به زیرشبکه (subnet) محلی نیست.
آدرس مک مبدأ یا آدرس اترنت ARP تماماً یک (1) یا تماماً صفر (0) بوده است.
آدرس مک اترنت مبدأ با آدرس موجود در داخل بسته داده ARP مطابقت نداشت.
آدرس اترنت از آخرین آدرس دیده‌شده، به سومین (یا قدیمی‌تر) آدرسی که پیش از این کمتر دیده شده بود تغییر یافته است. (این مورد شبیه به flip flop است.)
یک گزارش "flip flop" به این دلیل که یکی از دو آدرس یک آدرس DECnet بود، متوقف و نادیده گرفته شد.

به‌طور معمول arpwatch فایل arp.dat را هر ۱۵ دقیقه یک‌بار به‌روزرسانی می‌کند. سیگنال SIGHUP باعث می‌شود که این فایل بلافاصله به‌روزرسانی شود.

/usr/local/arpwatch
دایرکتوری پیش‌فرض
arp.dat
پایگاه‌داده پیش‌فرض آدرس‌های اترنت/IP
ethercodes.dat
فهرست بلوک‌های اترنت شرکت‌های سازنده (vendor)

arpsnmp(8), arp(8), bpf(4), tcpdump(1), pcapture(1), pcap(3)

Craig Leres از گروه پژوهشی شبکه آزمایشگاه ملی لارنس برکلی (Lawrence Berkeley National Laboratory Network Research Group)، دانشگاه کالیفرنیا، برکلی.

نسخه فعلی از طریق FTP ناشناس در دسترس است:

ftp://ftp.ee.lbl.gov/arpwatch.tar.gz

لطفاً گزارش‌های اشکال را به ⟨arpwatch@ee.lbl.gov⟩ ارسال کنید.

تلاش‌هایی برای متوقف کردن و نادیده گرفتن flip flopهای DECnet انجام شده است اما همیشه موفقیت‌آمیز نیستند.

بیشتر پیام‌های خطا با استفاده از syslog ثبت و ارسال می‌شوند.

December 2, 2023 Linux 6.12.107+deb13-amd64