No. The MAC address of the client never makes it off of its local network. This isn't a perl limitation, but a factor of how networks work. You would hit this issue in any language.
L | [reply] |
There is a good discussion at getting mac address. In short you can (probably) get the remote IP but (almost certainly) not get the MAC. The MAC address you see is generally that of the last router that touched the packet.
Update
I note you have asked the same question on the getting mac address thread. Given that it (to me) already answers your question I will add this clarification. In a Web type CGI environment it is IMPOSSIBLE to get a useful MAC address that identifies a client uniquely in the way that client's IP (sort of) does. This is due to the design of the TCP/IP protocol and is not a Perl limitation. It is true for any language. So if the goal was say to use MAC address to limit a given physical machine to a certain throughput on your CGI Web Server then the answer is you simply can't do that. You will need to use IP, sessions and cookies. Referer is another useful thing to slow screen scrapers down. Finally client side Javascript makes scraping that little bit harder. mod_throttle is a useful adjunct.
| [reply] |
In the general case, no. The MAC address is lost after the first hop your TCP packet takes. So you can only see the MAC addresses of the machines on the same network segment.
| [reply] |
Actually, It depends. I know on Windows computers, over the internet you can get the mac Address if the person has port 135-139 open.
the program on windows is called "nbtstat" you'd run nbtstat -a IP and it returns lots of useful information.
I know there is a linux equiv, but I forget where | [reply] |