Connecting Tech Pros Worldwide Help | Site Map

Fetching Host name and MAC address..

 
LinkBack Thread Tools Search this Thread
  #1  
Old June 26th, 2008, 07:52 PM
Member
 
Join Date: Apr 2008
Location: United states
Posts: 123
Default Fetching Host name and MAC address..

Hey all,
I am trying to make one script which I can run on different computers and give me the hostname as well as the MAC address.

Can you please help me how to do so ??script in Perl or PHP will work...
Thanks..
Reply
  #2  
Old June 26th, 2008, 11:23 PM
eWish's Avatar
Moderator
 
Join Date: Jul 2007
Location: Arkansas
Posts: 898
Default

Writing the code is going to be up to you. If you have problems we will be glad to help.

Check CPAN for Net::Domain and Net::Mac

Perlfaq9

--Kevin
Reply
  #3  
Old June 26th, 2008, 11:32 PM
Member
 
Join Date: Apr 2008
Location: United states
Posts: 123
Default

Quote:
Originally Posted by eWish
Writing the code is going to be up to you. If you have problems we will be glad to help.

Check CPAN for Net::Domain and Net::Mac

Perlfaq9

--Kevin
Hi Kevin,
I have written some code , which gives me IP address as well as Host name , but not the MAC address.I am not sure , how can i Get the MAC address of particular IP address using PHP..
My code is ,
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. <?php
  3. echo "IP Address Is : ";
  4. echo $_SERVER['HTTP_X_FORWARDED_FOR']; // Show IP
  5.  
  6. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  7.  
  8. echo " Host Name : ";
  9. echo gethostbyaddr($ip);
  10. $mac = returnMacAddress();
  11. function returnMacAddress() {
  12.  
  13. // Get the arp executable path
  14. $location = `which arp`;
  15. // Execute the arp command and store the output in $arpTable
  16. $arpTable = `$location`;
  17. // Split the output so every line is an entry of the $arpSplitted array
  18. $arpSplitted = split("\n",$arpTable);
  19. // Get the remote ip address (the ip address of the client, the browser)
  20.  
  21. $remoteIp = $ip;
  22. foreach ($arpSplitted as $value) {
  23. // Split every arp line, this is done in case the format of the arp
  24. // command output is a bit different than expected
  25. $valueSplitted = split(" ",$value);
  26. foreach ($valueSplitted as $spLine) {
  27. if (preg_match("/$remoteIp/",$spLine)) {
  28. $ipFound = true;
  29. }
  30. // The ip address has been found, now rescan all the string
  31. // to get the mac address
  32. if ($ipFound) {
  33. // Rescan all the string, in case the mac address, in the string
  34. // returned by arp, comes before the ip address
  35. // (you know, Murphy's laws)
  36. reset($valueSplitted);
  37. foreach ($valueSplitted as $spLine) {
  38. if (preg_match("/[0-9a-f][0-9a-f][:-]".
  39. "[0-9a-f][0-9a-f][:-]".
  40. "[0-9a-f][0-9a-f][:-]".
  41. "[0-9a-f][0-9a-f][:-]".
  42. "[0-9a-f][0-9a-f][:-]".
  43. "[0-9a-f][0-9a-f]/i",$spLine)) {
  44. return $spLine;
  45. }
  46. }
  47. }
  48. $ipFound = false;
  49. }
  50. }
  51. return false;
  52. }
  53.  
  54.  
Reply
  #4  
Old June 26th, 2008, 11:38 PM
eWish's Avatar
Moderator
 
Join Date: Jul 2007
Location: Arkansas
Posts: 898
Default

I don't know any PHP and if you prefer PHP I can move your post to the PHP forum. If you want to use perl the checkout the links I provided and then it should be a piece of cake.

--Kevin
Reply
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search


Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,662 network members.