#! /usr/bin/perl ############################################################ # 04/12/2004 # # SirMACsAlot automated MAC address # # changer for Linux, FreeBSD, and OpenBSD # # SirMACsAlot.pl written and maintained by # # roamer@worldwidewardrive.org # # can be downloaded from # # http://www.michiganwireless.org/tools/sirmacsalot/ # ########################################################### print "\n\n"; print "SirMACsAlot v2.1 \n"; print "by Roamer \n"; print "Report Bugs to roamer\@worldwidewardrive.org \n"; print "\n\n"; startme(); sub startme { print "Choose your OS by number: \n"; print "1. Linux: \n"; print "2. FreeBSD (should work for Mac OSX but is untested): \n"; print "3. OpenBSD: \n"; $os=; chomp $os; if ($os == 1) { linux_mac(); } elsif ($os == 2) { freebsd_mac(); } elsif ($os == 3) { openbsd_mac(); } else { print "Please choose the number 1, 2, or 3. \n"; startme(); } } sub linux_mac { print "Enter the interface to change the MAC of (ex eth1): "; $interface=; chomp $interface; $down1="ifconfig $interface down"; system($down1); print "Enter the MAC address to use: "; $mac=; chomp $mac; $machak="ifconfig $interface hw ether $mac"; system($machak); $up1="ifconfig $interface up"; system($up1); } sub freebsd_mac { print "Enter the interface to change the MAC of (ex fxp1): "; $interface=; chomp $interface; $down1="ifconfig $interface down"; system($down1); print "Enter the MAC address to use: "; $mac=; chomp $mac; $machak="ifconfig $interface ether $mac"; system($machak); $up1="ifconfig $interface up"; system($up1); } sub openbsd_mac { print "OpenBSD Functionality Requires that you have compiled 'sea' on your system.\n"; print "sea.c has been included with this distribution of SirMACsAlot \n"; print "Enter the interface to change the MAC of (ex wi1): "; $interface=; chomp $interface; $down1="ifconfig $interface down"; system($down1); print "Enter the MAC address to use (Use the format 00:00:00:00:00:00)"; $mac=; chomp $mac; $machak="sea -v $interface $mac"; system($machak); $up1="ifconfig $interface up"; system($up1); }