Brandeis University ARP collection system Copyright 2008 Brandeis University This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . == How it works == The arp collection script runs regularly as a cron job. It uses SNMP to collect ARP data from all of your routers and/or switches, which it then stores in a database. Another job can optionally run to look for MAC addresses which are ARPing for large numbers of IP addresses in a small period of time. == Requirements == * UNIX-like system (developed on RedHat Linux) * PHP with SNMP support * Routers that support SNMP and specifically ipNetToMediaEntry == Setup == 1. Create a MySQL database to hold the data. Load the schema from etc/schema.sql into it. 2. Copy sbin/arp2db.php and sbin/arpwatch.php somewhere, like /usr/local/sbin/ 3. Edit lib/arp-config.php. You'll at least need to specify your database server and connection credentials, your SNMP community string, and the routers/switches to query. 4. Copy the files from lib/* somewhere in the PHP include path. I like to create /usr/local/lib/php and add that to the path in php.ini. 5. Set up cron jobs to call arp2db.php and (optionally) arpwatch.php. I run arp2db.php every 10 minutes and arpwatch.php every hour.