Minotaur is a
simple layer 2 traceroute program written in PHP. The script is
desgined to work with almost all kinds of Cisco switches with CDP
(Cisco Discovery Protocol) turned on and TACACS+ login turned on.
The script will take in a the IP or MAC address, with a optional seed
address, and traverse through the switch network. Check it out and let me know what you
think.
The idea of Minotaur is
very simple, that is to find a method of finding a MAC address in
a large layer 2 switched network. To do this we set a switch
on the switch network as the seed device and start from there.
How does it work?
So how does it work?
Well, First Minotaur checks to make sure you have a MAC address
for the device. If an IP address is entered, it will get the
MAC address by checking the ARP table of the devices' default
router. Once the MAC address is obtained, the Minotaur script uses
your login id and password to login to your seed switch.
From there it search for the MAC address in the MAC address table
and find the associated interface. Then it uses CDP
neighbor to find the IP address of the connected switch to the
associated interface and the process repeats. If the IP
address is not found with CDP neighbor the trace stops.
During the trace it displays each switch as soon as it finds it.
Requirements
PHP 4.2.2 or higher with SNMP and
network functions
Traceroute
Cisco Discovery Protocol (CDP)
turned on on all switches
Supports TACACS and None TACACS
logins
NOTE: currently the scripts only
have been tested on a linux system
Supported Switches
All catos based switches
IOS L3 based switches ex. 2948G-L3
IOS C3500 switches
IOS C3550/C2950 switches
IOS / menu C1900 switches
How do I
install and configure Minotaur Layer 2 traceroute??
Installing Minotaur is
very simple. just put the script under your web server's html
directory and configure the following
// user edit area
$snmppublicstr="public"; // public snmp string
// for none TACACS supported switches
$consolepw="cisco"; // consol password
$enablepw="enable"; // enable password
Then just call the script
up with any web browser. It is that simple.
Known Bugs
Telnet timing issues --
the script will crash if there is a long delay on the telnet
If the IP address a valid
IP for a seed or for the end device the script will stall out.
Currently the trace will
not go beyond a etherchannel port
TACACS log in issue with
slashes before the userid example corp/user will fail (php
issue???)
It is just too slow.
It is a little bit better with some SNMP additions and a new
telnet function, but it is still not lightning fast.
Current Development
I am in the process of
moving to a new job so all development will stop until I find more
time. Any suggestion is still
appreciated.
Warning: fopen(visitorlog.txt) [function.fopen]: failed to open stream: Permission denied in /Library/WebServer/Documents/mintrix/projects/mactrace/index.php on line 736
Warning: fputs(): supplied argument is not a valid stream resource in /Library/WebServer/Documents/mintrix/projects/mactrace/index.php on line 737
Warning: fclose(): supplied argument is not a valid stream resource in /Library/WebServer/Documents/mintrix/projects/mactrace/index.php on line 738
Warning: fopen(minotaurcount.txt) [function.fopen]: failed to open stream: Permission denied in /Library/WebServer/Documents/mintrix/projects/mactrace/index.php on line 751
Warning: fputs(): supplied argument is not a valid stream resource in /Library/WebServer/Documents/mintrix/projects/mactrace/index.php on line 757
5843 visitors since 09/01/2003 last visitor info : Thu May 10 9:17:29 Pacific Daylight Time 2007 - lj612233.crawl.yahoo.net - 74.6.67.124
Warning: fclose(): supplied argument is not a valid stream resource in /Library/WebServer/Documents/mintrix/projects/mactrace/index.php on line 769