#!usr/bin/perl # # Trevelyn -=Weak-Net Labs=- 2008 # version 2.2 (finally) # IP Address: use LWP::Simple; my $IP = get "http://www.whatismyip.com/automation/n09230945.asp"; $ENV{"EXIP"} = $IP; #============================# # Help: # #============================# ($arg) = @ARGV; if ($arg eq "--help") {system ('clear'); print "\n\nJust do \"perl ngh0st.pl\"\n"; print " __ .__ _______ __ \n"; print " ____ _____/ |_ ____ | |__ \\ _ \\ _______/ |_ \n"; print " / \\_/ __ \\ __\\ ______ / ___\\| | \\/ /_\\ \\ / ___/\\ __\\ \n"; print "| | \\ ___/| | /_____/ / /_/ > Y \\ \\_/ \\\\___ \\ | | \n"; print "|___| /\\___ >__| \\___ /|___| /\\_____ /____ > |__| \n"; print " \\/ \\/ /_____/ \\/ \\/ \\/ \n\n"; print "\nVersion 2.2 - http://zombie.el.cx/ngh0st/ \n2008 -=Weak-Net Labs=- KP101ST[at]gmail[dot]com\n\n";exit;} #============================# # Subroutines: # #============================# ##EXTRA WIFI SETUP STUFF sub wifu2 { $ENV{"WIFU"} = $wifu; print "Should I scan with $wifu? (y/n) "; $wifuscan = ; chomp ($wifuscan); if ($wifuscan eq "n") { &scan; } if ($wifuscan eq "y") { system ('airodump-ng $WIFU --write output'); &wifu_report; } sub setmon {system ('clear'); print "\n\n .o-------------------------------o.\n"; print " --== Welcome to Net-gh0st! ==--\n"; print " .o-------------------------------o.\n\n\n"; print "what's the wireless devices name? "; $wifu = ; chomp ($wifu); $ENV{"WIFU"} = $wifu; if ($wifu eq "ath0") { system ('ifconfig $WIFU down && airmon-ng stop $WIFU && airmon-ng start wifi0');&wifu2} else { system ('ifconfig $WIFU down && airmon-ng stop $WIFU && airmon-ng start $WIFU');&wifu2}} } sub wifu_report { print "Would you like a report of the surrounding BSS\'s? (y/N) "; $ans = ; chomp ($ans); $ans =~ tr/A-Z/a-z/; if ($ans eq "y") { system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " WiFu SCAN:" >> analysis.txt && echo "o--------------------------------------------o" >> analysis.txt && cat output-01.txt >> analysis.txt'); system ('rm -rf outpu*');print "done :-)\n\n"; &shoutz;} if ($ans eq "n") {&scan;} } sub wifu3 { print "\nWould you like to add the surrounding wireless BSS info to your report? (y/n) "; $anr = ; chomp ($anr); $anr =~ tr/A-Z/a-z/; if ($anr eq "y") {&wifi_analysis;} if ($anr eq "n") {&title;} } sub wifi_analysis { print "what's the wireless device\'s name? "; $wifu3 = ; chomp ($wifu3); $ENV{"WIFU"} = $wifu3; if ($wifu3 eq "ath0") { system ('ifconfig $WIFU down && airmon-ng stop $WIFU && airmon-ng start wifi0');} else { system ('ifconfig $WIFU down && airmon-ng stop $WIFU && airmon-ng start $WIFU');} print "I am going to start scanning now, simply press Ctrl+C to stop when you get the info you want... "; $ret0 = ; chomp $ret0; system ('echo "o--------------------------------------------o" >> analysis.txt && echo " WiFu SCAN:" >> analysis.txt && echo "o--------------------------------------------o" >> analysis.txt'); system ('airodump-ng $WIFU --write output'); system ('cat output-01.txt >> analysis.txt'); print "\nAll done :-)\n\n"; system ('rm -rf output*');&shoutz;} #start(HUGE)sub routine "scan" sub scan { $type = ;chomp ($type);$type =~ tr/A-Z/a-z/; if ($type eq "help") {&help;} if ($type eq "0") {system ('smbtree -N'); print "\n"; system ('net cache list'); &title;} if ($type eq "2") {system ('route'); &title;} if ($type eq "n") {&rprt;} if ($type eq "1") {print "External WAN IP is $IP\n"; system ('nmap -T Aggressive -P0 $EXIP'); &title; system ('nslookup $EXIP');} if ($type eq "q") {print "\nGoodbye!! :-)\n\n";exit;} if ($type eq "8") {&analysis;} if ($type eq "3") {system ('ifconfig $CARD && iwconfig $CARD'); &title;} if ($type eq "7") {system ('smbtree -N && net cache list && route && nmap -T Aggressive -P0 $EXIP && ifconfig $CARD && iwconfig $CARD && nslookup $EXIP && cat /etc/resolv.conf'); print "\n\nAll done. :-)\n\n"; &title;} if ($type eq "4") { $ENV{"CARD"} = $card; system ('touch IPs.txt && chmod a+rxw IPs.txt'); system ('ettercap -pTi $CARD // // -s lq'); &title;} if ($type eq "5") { system ('nslookup $EXIP && echo ""'); &title;} if ($type eq "w") { print "Is your WiFu card in monitor mode? (y/n) "; $monitor = ; chomp ($monitor); if ($monitor eq "n") {&setmon;} if ($monitor eq "y") {print "what is the card\'s name? "; $wifu = ; chomp ($wifu); &wifu2;}} if ($type eq "6") { system ('ping -c 10 google.com | grep % && traceroute google.com');&title; } if ($type eq "9") { print "\n\nGive me an IP to scan, if you don't know it you can (Ctrl+C) \nand run Option (4)\n"; print "to search all IP\'s on the LAN/WLAN... "; $ipscan = ; chomp ($ipscan);&pscan; } if ($type eq "u") { print "\nGive me an IP address, or domain to check... "; $upip = ; chomp ($upip); $ENV{"UPIP"} = ($upip); system ('hping2 $UPIP -c 2 -S -p 80 --tcp-timestamp | grep uptime');print "\n";&title; } if ($type eq "b") {█} if ($type eq "v") {&vendor;} else { print "that\'s not an option (yet)... "; &scan; } #END } sub pscan { $ENV{"IPSCAN"} = $ipscan; system ('nmap -T Aggressive -O -P0 $IPSCAN');&title;} sub type { chomp ($type); if ($type eq "smb") { system ('smbtree -N'); &title;}} sub title { print "Would you like another scan? (y/n) "; $athr = ; chomp ($athr); if ($athr eq "y") {&relay} if ($athr eq "n") {&rprt;}} sub help { system ('clear'); print "\n\n .o-------------------------------o.\n"; print " --== Welcome to Net-gh0st! ==--\n"; print " .o-------------------------------o.\n\n"; print " (0) SMB\n (1) WAN-info\n (2) Route-info\n (3) Local-info (NIC)\n"; print " (4) IP\'s (clients) on LAN \n (5) Nameserver-info \n (6) Connectivity-info\n"; print " (7) Ranged Scan\n (8) Report Creator\n (9) Port Scan an IP \n"; print " (w) Wireless Scanning (channel hopping)\n (B) IP Block Scanning\n"; print " (u) Check Server Uptime\n (V) Check MAC Vendor\n (q) To quit\n\nchoose one... "; &scan;} sub block { system ('clear'); print "\n\n .o-------------------------------o.\n"; print " --== Welcome to Net-gh0st! ==--\n"; print " .o-------------------------------o.\n\n"; print "\n\nIP Addresses are assigned as blocks, such that\n"; print "they are similar to N.A.B.C ~ N.D.E.F \n"; print "Using the same syntax, ";&startb; sub startb { print "\nGive me the \"N\" ";$n1 = ; chomp ($n1); print "Give me the \"A\" ";$a = ; chomp ($a); print "Give me the \"B\" ";$b = ; chomp ($b); print "Give me the \"C\" ";$c = ; chomp ($c); $s1 = $n1 . "." . $a . "." . $b . "." . $c; $a1 = $a;$b1 = $b;$c1 = $c; &check1b; } sub check1b { print "OK, is this starting point good? $s1 (y/N) ";$ans0 = ; chomp ($ans0); $ans0 =~ tr/A-Z/a-z/; if ($ans0 eq "y") {&stopb;} if ($ans0 eq "n") {&startb;} else { print "just a \"y\" or \"n\" plzkthx. :P\n";&check1b;} } sub stopb { print "\nWe have N.A.B.C = $s1 \n"; print "Now let's get the N.D.E.F (end) \n"; print "Give me the \"D\" ";$d = ; chomp ($d); print "Give me the \"E\" ";$e = ; chomp ($e); print "Give me the \"F\" ";$f = ; chomp ($f); &check2b; } sub check2b { $e1 = $n1 . "." . $d . "." . $e . "." . $f; print "OK, should I scan from $s1 to $e1 ?(y/N) ";$ans1 = ; chomp ($ans1); $ans1 =~ tr/A-Z/a-z/; if ($ans1 eq "y") {$e1 = $n1 . "." . $d . "." . $e . "." . $f;&fina;} if ($ans1 eq "n") {&stopb;} else { print "just a \"y\" or \"n\" plzkthx. :P\n";&check2b;} } sub fina { print "\nWhat tool should I use? ";$toolb = ; chomp ($toolb);&check1c; } sub check1c { print "OK, I will use $toolb? (y/N) "; $toolans = ; chomp ($toolans); $toolans =~ tr/A-Z/a-z/; if ($toolans eq "y") { print "This can take a while, put the coffee on :-) \n";&finb; } if ($toolans eq "n") { &fina;} else { print "Just a \"y\" or \"n\" plzkthx. :P\n";&check1c; } } sub finb { while ($a1 ne $d+1) { $s2 = $n1 . "." . $a1 . "." . $b1 . "." . $c1;system ("$toolb $s2 >> $n1-IPblock.txt"); $a1++;}&secondb; } sub secondb { $a1 = $a; $b1 = $b1+1;&nextb;} sub nextb { if ($b1 eq $e+1) {$b1 = $b; $c1 = $c1+1; &next2b;} else { &finb;} } sub next2b { print "We've made it to C = $c1\n"; if ($c1 eq $f+1) {&exitb;} else { &finb;} } sub exitb { print "\nAll Done :-)\n";&shoutz1; } } sub relay { print "type (help) or choose a scan type... "; &scan;} sub rprt { print "\nWould you like a report? (y/n) "; $rprt = ; chomp ($rprt); if ($rprt eq "y") { print "I will use analysis as the suffix.\n\n";&analysis;} if ($rprt eq "n") { print "\n\nNet-Gh0st has finished, check your working directory for reports if applicable.\n\n";exit;} } #============================# # The Report: # #============================# sub analysis { $ENV{"CARD"} = $card; print "\n\nPrinting up the analysis.txt report, this may take a while ...\n\n"; print "\n\nScanning WAN info now... "; system ('date >> analysis.txt && echo "" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " WAN INFO:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo "external IP is:" >> analysis.txt && echo "" >> analysis.txt && echo $EXIP >> analysis.txt'); print "[done]\n\nScanning for opened ports... "; system ('nmap -T Aggressive -P0 $EXIP >> analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " NAMESERVER INFO:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); print "[done]\n\nGathering Nameserver info... "; system ('nslookup $EXIP >> analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "" >> analysis.txt'); print "[done]\n\nScanning for SMB info... "; system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " SMB INFO:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('smbtree -N >> analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "" >> analysis.txt'); print "[done]\n\nGetting Local NIC info... "; system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " NIC INFO:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('ifconfig $CARD >> analysis.txt'); system ('iwconfig $CARD >> analysis.txt'); print "[done]\n\nGathering LAN clients IP\'s "; system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " LOCAL IPs:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('touch IPs.txt && chmod a+rxw IPs.txt && ettercap -Tpi $CARD // // -k IPs.txt -s q && cat IPs.txt >>analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "" >> analysis.txt'); print "\n [done]"; print "\n\nChecking Routing tables... "; system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " ROUTING TABLES:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('route >> analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "" >> analysis.txt'); print"[done]\n\n"; print "\n\nGathering Connectivity Info... "; system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('echo " Connectivity Strength:" >> analysis.txt'); system ('echo "o--------------------------------------------o" >> analysis.txt'); system ('ping -c 10 google.com | grep % >> analysis.txt && traceroute google.com >> analysis.txt'); system ('echo "" >> analysis.txt'); system ('echo "" >> analysis.txt'); print "[done]\n\n"; print "Removing IPs.txt... "; system ('rm -rf IPs.txt'); print "[done]\n\n"; print "\n\n\nAll done :-)\n\n\n"; wifu3;} #============================# # Starting TTY output: # #============================# system ('clear'); print "\n\n .o-------------------------------o.\n"; print " --== Welcome to Net-gh0st! ==--\n"; print " .o-------------------------------o.\n\n\n"; print "I will scan some things and make a nice report\n"; print "out of the results for you! :)\n\n"; print "NOTE: run net-gh0st as root to use NIC in promiscuous mode...\n\n"; print "\nfirst I need to know your active network card\'s name.\n"; print "type the name and press ... "; $card = ; chomp ($card); &card; sub card {$ENV{"CARD"} = $card; print "\nOK, $card? (y/N) "; $crdans = ; chomp ($crdans); $crdans =~ tr/A-Z/a-z/; if ($crdans eq "y") { &dialogue1;} if ($crdans eq "n") { &dialogue2;} else {&card;}} sub crd2 {$ENV{"CARD"} = $crd2; print "\nOK, $crd2? (y/n) "; $crdans2 = ; chomp ($crdans2);$crdans2 =~ tr/A-Z/a-z/; if ($crdans2 eq "y") { $card = $crd2; &dialogue1;} if ($crdans2 eq "n") { &dialogue2;} else {&crd2;}} sub dialogue1 { system ('clear'); print "\n\n .o-------------------------------o.\n"; print " --== Welcome to Net-gh0st! ==--\n"; print " .o-------------------------------o.\n\n\n"; print "Now tell me what you need to know about the network\n"; print "or just simply type \'(7)\' for a wide ranged fast scan.\n"; print "\nFor suggestions of scan types, type \'help\' and press ... "; &scan; } sub dialogue2 { $ENV{"CARD"} = $card; print "OK, give me the active NIC to use, and press "; $crd2 = ; chomp ($crd2); &crd2;} sub shoutz { system ('echo "Report Brought to you by Net-Gh0st (2008) -=Weak-Net Labs=-" >> analysis.txt');&title; } sub shoutz1 { system ("echo '' >> $n1-IPblock.txt && echo 'Report Brought to you by Net-Gh0st (2008) -=Weak-Net Labs=-' >> $n1-IPblock.txt");&title; } #============================# # MAC Vendor Module # #============================# #http://standards.ieee.org/regauth/oui/oui.txt sub vendor { system ("clear"); $prints1 = <<'THAT'; .o-------------------------------------o. -= Welcome to The MAC Vendor tester =- .o-------------------------------------o. THAT print $prints1; $prints0 = <<'THIS'; I can tell you what manufacturer made your network interface. THIS print $prints0; &nameV; sub nameV { print "\n (Option 1) Type \"other\" to check a remote device.\n"; print " (Option 2) Type \"list\" to list your devices.\n"; print " \n Or simply follow the instructions below. \n"; print " What is your local cards name? (ath0, eth0, rausb0, wlan0, etc) "; $card = ;chomp ($card); $card =~ tr/A-Z/a-z/; if ($card eq "list") {print "\n";system ("ifconfig -a | grep HWaddr");print "\n";&nameV;} if ($card eq "other") {&otherV;} print " Simply give me the first 3 sets from the MAC Address you see here:\n"; print " (e.g. XX:XX:XX:YY:YY:YY) Just give me the X's. You can even copy and paste it... \n ";&do0V; } sub otherV { print " Simply give me the MAC Address to check ";$MAC = ; chomp ($MAC);&doV; } sub do0V { system ("ifconfig $card | grep HWaddr"); print "\n "; $MAC = ; chomp $MAC; $MAC = uc($MAC);&doV; } sub doV { if ($MAC =~ m/00:11:24|00:14:51|00:16:CB|00:17:F2|00:19:E3|00:1B:63|00:1C:B3|00:11:24|00:1D:4F|00:1E:53|00:1E:C2|00:1F:5B|00:33:65|00:50:E4|00:A0:3F|00:A0:40|08:00:07/) { print "\n\nThat's an Apple Device. :-) \n";&endV; } if ($MAC =~ m/00:04:5A|00:06:25|00:0C:41|00:0E:08|00:0F:66|00:12:17|00:13:10|00:14:BF|00:16:B6|00:18:39|00:18:F8|00:1A:70|00:1C:10|00:1D:7E|00:1E:E5/) { print "\n\nThat's a Linksys Device.. :-) \n";&endV; } if ($MAC =~ m/00:0C:43/) { print "That's a Ralink Device.\n";&endV; } if ($MAC =~ m/00:00:0C|00:01:42|00:01:43|00:01:63|00:01:64|00:01:96|00:01:97|00:01:C9|00:01:C7|00:02:16|00:02:17|00:02:4A|00:02:4B|00:02:7D|00:02:7E/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:02:B9|00:02:BA|00:02:FC|00:02:FD|00:03:31|00:03:32|00:03:6B|00:03:6C|00:03:9F|00:03:A0|00:03:E3|00:03:E4|00:03:FD|00:03:FE|00:04:27/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:04:28|00:04:4D|00:04:4E|00:04:6D|00:04:6E|00:04:9A|00:04:9B|00:04:C0|00:04:C1|00:04:DD|00:04:DE|00:05:00|00:05:01|00:05:31|00:05:32/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:05:5E|00:05:5F|00:05:73|00:05:74|00:05:9A|00:05:9B|00:05:DC|00:05:DD|00:06:28|00:06:2A|00:06:52|00:06:53|00:06:7C|00:06:C1|00:06:D6/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:06:D7|00:07:0D|00:07:0E|00:07:4F|00:07:50|00:07:84|00:07:85|00:07:B3|00:07:B4|00:07:EB|00:07:EC|00:08:20|00:08:21|00:08:7C|00:08:7D/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:08:A3|00:08:A4|00:08:C2|00:08:E2|00:08:E3|00:09:11|00:09:12|00:09:43|00:09:44|00:09:7B|00:09:7C|00:09:B6|00:09:B7|00:09:E8|00:09:E9/){ print "\n\nThat's a Cisco Device. :-) \n";&endV; } if ($MAC =~ m/00:0A:41|00:0A:42|00:0A:8A|00:0A:8B|00:0A:B7|00:0A:B8|00:0A:F3|00:0A:F4|00:0B:45|00:0B:46|00:0B:5F|00:0B:60/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:0B:85|00:0B:BE|00:0B:BF|00:0B:FC|00:0B:FD|00:0C:30|00:0C:31|00:0C:85|00:0C:86|00:0C:CE|00:0C:CF|00:0D:28|00:0D:29|00:0D:65|00:0D:66/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:0D:BC|00:0D:BD|00:0D:EC|00:0D:ED|00:0E:08|00:0E:38|00:0E:39|00:0E:83|00:0E:84|00:0E:D6|00:0E:D7|00:0F:23|00:0F:24|00:0F:34|00:0F:35/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:0F:8F|00:0F:90|00:0F:F7|00:0F:F8|00:10:07|00:10:0B|00:10:0D|00:10:11|00:10:14|00:10:1F|00:10:29|00:10:2F|00:10:54|00:10:79|00:10:7B/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:10:A6|00:10:F6|00:10:FF|00:11:20|00:11:21|00:11:5C|00:11:5D|00:11:92|00:11:93|00:11:BB|00:11:BC|00:12:00|00:12:01|00:12:43|00:12:44/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:12:7F|00:12:80|00:12:D9|00:12:DA|00:13:10|00:13:19|00:13:1A|00:13:5F|00:13:60|00:13:7F|00:13:80|00:13:C3|00:13:C4|00:14:1B|00:14:1C/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:14:69|00:14:6A|00:14:A8|00:14:A9|00:14:F1|00:14:F2|00:15:2B|00:15:2C|00:15:62|00:15:63|00:15:C6|00:15:C7|00:15:F9|00:15:FA|00:16:46/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:16:47|00:16:9C|00:16:9D|00:16:C7|00:16:C8|00:17:0E|00:17:0F|00:17:59|00:17:5A|00:17:94|00:17:95|00:17:DF|00:17:E0|00:18:18|00:18:19/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:18:73|00:18:74|00:18:B9|00:18:BA|00:19:06|00:19:07|00:19:2F|00:19:30|00:19:55|00:19:56|00:19:A9|00:19:AA|00:19:E7|00:19:E8|00:1A:2F/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:1A:30|00:1A:6C|00:1A:6D|00:1A:A1|00:1A:A2|00:1A:E2|00:1A:E3|00:1B:0C|00:1B:0D|00:1B:2A|00:1B:2B|00:1B:2B|00:1B:2B|00:1B:8F|00:1B:90/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:1B:D4|00:1B:D5|00:1C:0E|00:1C:0F|00:1C:10|00:1C:57|00:1C:58|00:1C:B0|00:1C:B1|00:1C:F6|00:1C:F9|00:1D:45|00:1D:46|00:1D:70|00:1D:71/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:1D:A1|00:1D:A2|00:1D:E5|00:1D:E6|00:1E:13|00:1E:14|00:1E:49|00:1E:4A|00:1E:79|00:1E:7A|00:1E:BD|00:1E:BE|00:1E:F6|00:1E:F7|00:1F:26/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:1F:27|00:1F:6C|00:1F:6D|00:1F:9D|00:1F:9E|00:1F:C9|00:1F:CA|00:30:19|00:30:24|00:30:40|00:30:71|00:30:78|00:30:7B|00:30:80|00:30:85/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:30:94|00:30:96|00:30:A3|00:30:B6|00:30:F2|00:40:0B|00:40:96|00:50:0B|00:50:0F|00:50:14|00:50:2A|00:50:3E|00:50:50|00:50:53|00:50:54/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:50:73|00:50:80|00:50:A2|00:50:A7|00:50:BD|00:50:D1|00:50:E2|00:50:F0|00:60:09|00:60:2F|00:60:3E|00:60:47|00:60:5C|00:60:70|00:60:83/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:90:0C|00:90:21|00:90:2B|00:90:5F|00:90:6D|00:90:6F|00:90:86|00:90:92|00:90:A6|00:90:AB|00:90:B1|00:90:BF|00:90:D9|00:90:F2|00:B0:4A/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:B0:64|00:B0:8E|00:B0:C2|00:D0:06|00:D0:58|00:D0:63|00:D0:79|00:D0:90|00:D0:97|00:D0:BA|00:D0:BB|00:D0:BC|00:D0:C0|00:D0:D3|00:D0:E4/){ print "\n\nThat's a Cisco Device.. :-) \n";&endV; } if ($MAC =~ m/00:D0:FF|00:E0:14|00:E0:1E|00:E0:34|00:E0:4F|00:E0:8F|00:E0:A3|00:E0:B0|00:E0:F7|00:E0:F9|00:E0:FE/){ print "\n\nThat's a Cisco Card. :-) \n";&endV; } if ($MAC =~ m/00:05:5D|00:0D:88|00:0F:3D|00:11:95|00:13:46|00:15:E9|00:17:7C|00:17:9A|00:19:5B|00:1B:11|00:1C:F0|00:1E:58|00:50:BA|00:80:C8/){ print "\n\nThat's a D-Link Device.. :-) \n";&endV; } if ($MAC =~ m/00:09:5B|00:0F:B5|00:14:6C|00:18:4D|00:1B:2F|00:1E:2A|00:1F:33/){print "\n\nThat's a Netgear Device. :-) \n";&endV; } if ($MAC =~ m/00:02:55|00:04:AC|00:06:29|00:09:6B|00:0D:60|00:10:D9|00:11:25|00:14:5E|00:1A:64|00:20:35|00:50:76|00:60:94|08:00:5A|10:00:5A/){print "\n\nThat's an IBM Device. :-) \n";&endV; } if ($MAC =~ m/00:01:02|00:01:03|00:02:9C|00:04:0B|00:05:1A|00:06:8C|00:0A:04|00:0A:5E|00:0B:AC|00:0D:54|00:0E:6A|00:0F:CB/){print "\n\nThat's a 3COM Device. :-) \n";&endV; } if ($MAC =~ m/00:10:4B|00:10:5A|00:12:A9|00:14:7C|00:16:E0|00:18:6E|00:1A:C1|00:1C:C5/){print "\n\nThat's a 3COM Device. :-) \n";&endV; } if ($MAC =~ m/00:1E:C1|00:20:AF|00:26:54|00:30:1E|00:50:04|00:50:99|00:50:DA|00:60:08|00:60:8C|00:60:97|00:90:04|00:A0:24|00:D0:96|00:D0:D8|02:60:8C|02:C0:8C|08:00:4E/){print "\n\nThat's a 3COM Device. :-) \n";&endV; } if ($MAC =~ m/00:02:B3|00:03:47|00:04:23|00:07:E9|00:0C:F1|00:0E:0C|00:0E:35|00:11:11|00:12:F0|00:13:02/){print "\n\nThat's an Intel Device. :-) \n";&endV; } if ($MAC =~ m/00:13:20|00:13:CE|00:13:E8|00:15:00|00:15:17|00:16:6F|00:16:76|00:16:EA|00:16:EB|00:18:DE|00:19:D1|00:19:D2|00:1B:21|00:1B:77|00:1C:BF/){print "\n\nThat's an Intel Device. :-) \n";&endV; } if ($MAC =~ m/00:1C:C0|00:1D:E0|00:1D:E1|00:1E:64|00:1E:65|00:1E:67|00:1F:3B|00:1F:3C|00:20:7B|00:90:27|00:A0:C9|00:AA:00|00:AA:01|00:AA:02|00:D0:B7/){print "\n\nThat's an Intel Device. :-) \n";&endV; } if ($MAC =~ m/00:0F:B3|00:15:05|00:18:01|00:1E:A7|00:1F:90|00:20:E0/){print "\n\nThat's an Actiontec Device. :-) \n";&endV; } if ($MAC =~ m/00:01:AF|00:04:56|00:04:BD|00:08:0E|00:0A:28|00:0B:06|00:0C:E5|00:0E:5C|00:0E:C7|00:0F:9F|00:11:1A|00:11:80|00:11:AE|00:12:25|00:12:8A|00:12:C9/){print "\n\nThat's a Motorola Device. :-) \n";&endV; } if ($MAC =~ m/00:13:71|00:14:04|00:14:9A|00:14:E8|00:15:2F|00:15:9A|00:15:A8|00:16:26|00:16:75|00:16:B5|00:17:00|00:17:84|00:17:E2|00:17:EE|00:18:A4|00:18:C0/){print "\n\nThat's a Motorola Device. :-) \n";&endV; } if ($MAC =~ m/00:19:2C|00:19:5E|00:19:A6|00:19:C0|00:1A:1B|00:1A:66|00:1A:77|00:1A:AD|00:1A:DB|00:1A:DE|00:1B:52|00:1B:DD|00:1C:11|00:1C:12|00:1C:C1|00:1C:FB/){print "\n\nThat's a Motorola Device. :-) \n";&endV; } if ($MAC =~ m/00:1D:6B|00:1D:BE|00:1E:46|00:1E:5A|00:1E:8D|00:1F:7E|00:1F:C4|00:20:40|00:20:75|00:50:E3|00:90:9C|00:A0:BF|00:C0:F9|00:D0:88|00:E0:0C|00:E0:6F/){print "\n\nThat's a Motorola Device. :-) \n";&endV; } if ($MAC =~ m/00:0F:DB|00:18:3A|00:60:0F/){print "\n\nThat's a Westell Device. :-) \n";&endV; } if ($MAC =~ m/00:00:95|00:01:4A|00:04:1F|00:0A:D9|00:0E:07|00:0F:DE|00:12:EE|00:13:15|00:13:A9|00:15:C1|00:16:20/){print "\n\nThat's a Sony Device :-) \n";&endV; } if ($MAC =~ m/00:16:B8|00:18:13|00:19:63|00:19:C5|00:1A:75|00:1A:80|00:1B:59|00:1C:A4|00:1D:0D|00:1D:28|00:1D:BA|00:1E:45|00:1E:DC|00:1F:A7|08:00:46/){print "\n\nThat's a Sony Device :-) \n";&endV; } if ($MAC =~ m/00:09:BF|00:16:56|00:17:AB|00:19:1D|00:19:FD|00:1A:E9|00:1B:7A|00:1B:EA|00:1C:BE|00:1D:BC|00:1E:35|00:1E:A9|00:1F:32|00:1F:C5/){print "\n\nThat's a Nintendo Device :-) \n";&endV; } else { print "\n\nI'm not sure what type of device that is, yet... \n";&endV;} } sub endV { print "Would you like to test another device? (y/N) ";$ans0 = ; chomp ($ans0);$ans0 =~ tr/A-Z/a-z/; if ($ans0 eq "y") {&nameV;} if ($ans0 eq "n") {&title;} else {print "Just a \"y\" or a \"n\" please :P\n";&endV;} } }