#!/usr/bin/perl -w # feed the list with stdin, # and param for fully random. use strict; my ( %vendor, $lladdr, $i ); $\ = "\n"; my $c = ( defined $ARGV [ 0 ] ) ? 10 : 6; if( $c == 6 ) { while ( <STDIN> ) { chomp $_; $_ =~ s/^( [0-9a-f] {2} ) (?: \s | : ) ? ( [0-9a-f] {2} ) (?: \s | : ) ? ( [0-9a-f] {2} ) (?: (?: \s* ) | (?: (?: \s+ ) ( .+ ) ) ? )$/ $vendor{ "$1:$2:$3" } = $4 || 'N\/A'; /eix; } close STDIN; my @keys = keys % vendor or exit ( 1 ); $lladdr = $keys [ rand @keys ]; print "Vendor: $vendor{ $lladdr }"; } else { $lladdr = '00'; } while ( ++$i ) { last if $i > $c; $lladdr .= ':' if $i % 2; $lladdr .= sprintf "%" . ( qw (X x) [int ( rand ( 2 ) ) ] ), int ( rand ( 16 ) ); } print "lladdr: $lladdr"; exit ( 0 );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: generate random MAC address
by cazz (Pilgrim) on Apr 25, 2005 at 17:54 UTC | |
|
Re: generate random MAC address
by Anonymous Monk on Nov 08, 2009 at 06:18 UTC |