Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements
Webcast-Catalyst9k
New Member

NIC problems

I am trying to find the manufacture of many different LAN and WLAN NIC we have. We do not have Ciscoworks installed, so that is out of the question. Does anyone know a quick way to do this?

- Ted

1 ACCEPTED SOLUTION

Accepted Solutions
Bronze

Re: NIC problems

Hey Ted,

I certainly understand this issue. The trick is pulling the info from a switch bridge table and then either querying the IEEE OUI database or having a prebuilt DB with the most common OUI's in it.

I wrote a perl script to help me hunt down WLAN cards. With so many fish to catch, I am a little lazy in code writing, so this uses ARP and just runs a web query to the IEEE OUI database. I ran this on my Mac with Curl installed and it worked great. Just cut copy paste and you should be ready, providing you have Perl and Curl installed. Both are free.

while() {

chomp;

my $addr = $_;

my $ip = $_;

$addr =~ s/.* ([\d\w]+:[\d\w]+:[\d\w]+):.*/$1/;

$addr =~ s/\b([\d\w])\b/0$1/g;

$addr =~ s/:/-/g;

next unless $addr =~ /..-..-../;

$ip =~ s/.*?(\d+\.\d+\.\d+\.\d+).*/$1/;

print ".";

$cards{$addr}||=`curl -sd "x=$addr"

http://standards.ieee.org/cgi-bin/ouisearch

($cards{$addr} =~ /Sorry!/) && ($cards{$addr} = "Unknown OUI: $addr");

$ips{$ip} = $addr; }

print "\n";

for(keys(%ips)) {

$cards{$ips{$_}} =~ s/.*.hex.\s+([\w\s\,\.]+)\n.*/$1/s;

print "$_ -> $cards{$ips{$_}}\n";

}

I hope it helps

3 REPLIES
Bronze

Re: NIC problems

Hey Ted,

I certainly understand this issue. The trick is pulling the info from a switch bridge table and then either querying the IEEE OUI database or having a prebuilt DB with the most common OUI's in it.

I wrote a perl script to help me hunt down WLAN cards. With so many fish to catch, I am a little lazy in code writing, so this uses ARP and just runs a web query to the IEEE OUI database. I ran this on my Mac with Curl installed and it worked great. Just cut copy paste and you should be ready, providing you have Perl and Curl installed. Both are free.

while() {

chomp;

my $addr = $_;

my $ip = $_;

$addr =~ s/.* ([\d\w]+:[\d\w]+:[\d\w]+):.*/$1/;

$addr =~ s/\b([\d\w])\b/0$1/g;

$addr =~ s/:/-/g;

next unless $addr =~ /..-..-../;

$ip =~ s/.*?(\d+\.\d+\.\d+\.\d+).*/$1/;

print ".";

$cards{$addr}||=`curl -sd "x=$addr"

http://standards.ieee.org/cgi-bin/ouisearch

($cards{$addr} =~ /Sorry!/) && ($cards{$addr} = "Unknown OUI: $addr");

$ips{$ip} = $addr; }

print "\n";

for(keys(%ips)) {

$cards{$ips{$_}} =~ s/.*.hex.\s+([\w\s\,\.]+)\n.*/$1/s;

print "$_ -> $cards{$ips{$_}}\n";

}

I hope it helps

New Member

Re: NIC problems

Thank you Jimmy Ray. This worked nicely

New Member

Re: NIC problems

you could have also looked in your DHCP server because under Address Leases you can see what the mac address is. You can go online and find out what type of card it is by typing in the Unique Number.

julio

130
Views
5
Helpful
3
Replies
CreatePlease to create content