Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

MAC address

by Magrini (Initiate)
on Oct 23, 2004 at 15:38 UTC ( [id://401849]=perlquestion: print w/replies, xml ) Need Help??

Magrini has asked for the wisdom of the Perl Monks concerning the following question:

Does anybody know if is possible to get the MAC address from a client side of a Perl script? It will make possible to get the MAC addres from the router other side.

Replies are listed 'Best First'.
Re: MAC address
by lhoward (Vicar) on Oct 23, 2004 at 15:55 UTC
    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.


Re: MAC address
by tachyon (Chancellor) on Oct 23, 2004 at 21:53 UTC

    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.


    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.



Re: MAC address
by Corion (Patriarch) on Oct 23, 2004 at 15:56 UTC

    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.

Re: MAC address
by Anonymous Monk on Oct 23, 2004 at 19:35 UTC
    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

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://401849]
Approved by Joost
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-05-22 08:25 GMT
Find Nodes?
    Voting Booth?

    No recent polls found