[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Resolve MAC addresses?

Posted on 1998-09-16
8
Medium Priority
?
315 Views
Last Modified: 2013-12-25
Is there some kind of variable (like cgi.remote_host for ip's) for retriving MAC addresses? I am using IIS3 and Cold Fusion 3.
Thanks for your help.
0
Comment
Question by:jagoodie
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 7

Expert Comment

by:faster
ID: 1828638
The answer is definetly NO.  A browser never send the MAC address to the server.  If you really need it, you can consider to write an ActiveX control, which get the MAX address by itself and then fill it in the form using VB script (or directly talk to the server).
0
 
LVL 2

Author Comment

by:jagoodie
ID: 1828639
Pretty cockey to think you are the end all know it all (if I don't know it, it doesn't exist attitude).
Thanks for your comment/opionion.
0
 
LVL 7

Expert Comment

by:faster
ID: 1828640
It is not that I know it all, but I did read the whole http 1.0 and http 1.1 protocol, all the information sent from a browser are based on these two protocols.  So if you have a look at the these two RFCs, you will know that it is not possible that a browser will ever send this kind of information to the server, unless you send it by yourself, that is, writing your own ActiveX or the kind.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 2

Author Comment

by:jagoodie
ID: 1828641
my point is that someone has this code that i am looking for and i am hoping that they read this question, and if i accept your answer then i have to learn programming just to get this script.
any idea where i would find this script?
0
 
LVL 11

Expert Comment

by:mouatts
ID: 1828642
faster is correct in that the client does not send back the MAC address. To do so would require the application protocol to understand the details of the lower level protocols which runs contrary to the entire approach of network communications.

There are functions within the WINSOCK API that will allow you to obtain the MAC address from an IP address but to utilise these you will need to learn how to write programs.

But given I can't see what you will use these four unless you are writing a program I can't see your problem.

Incidently its worth remembering that the IP address (and thus the resultant MAC address) will not always be that of the client but that of a proxy that the client has accessed you site through.

Steve
0
 
LVL 2

Author Comment

by:jagoodie
ID: 1828643
if this is the answer, faster deserves the points.
i am not collecting outside our LAN, in is for internal use- maintaining a bootp table, so i don't care about any proxys.
0
 
LVL 11

Expert Comment

by:mouatts
ID: 1828644
Fine then award them. Just because you don't like an answer is not the reason to reject an answer.

Incidently using WEB access to maintain a bootp table is a recipe for disaster.

Steve
0
 
LVL 5

Accepted Solution

by:
thoellri earned 200 total points
ID: 1828645
As said before by faster and mouatts, the MAC address of a system connecting to you server is not available in the environment. All you get is the ip-address and/or hostname of the system talking to your server. However, for packets being transported back to the system in question, the MAC address has to be know.
You can try the following from a CMD.EXE seesion: After getting the IP-address from the cgi.remote_host field, ping the system using "ping ip-address". Now do a "arp -a"  and look for the ip-address of the system you just pinged. You will see that the matching MAC-address appears in the second column.
A look through the Windows Socket 2 documentation should get you on the right track.
Here is what I did for UNIX/Perl5. The following sub gets either ip or mac-address and return ip and MAC-address (filling in the missing one). This is done after the system has been pinged to make sure that the MAC/IP-addresses are known to ARP:
sub fromarp {
    my($ip,$ether) = @_;
    my ($a_name, $a_ether, $a_ip, $addr);
    open(PIPE,"arp -a|") || return (undef, undef);
    while (<PIPE>) {
        chomp;
        $addr=undef;
        if (/^\S+\s+(\S+)\s+.*\s+([\dabcdef:]+)$/) {
            $a_name=$1;$a_ether=$2;
            if ($addr=gethostbyname($a_name)) {
                $addr=inet_ntoa($addr);
            }
        } else {
            next;
        }
        if (defined($ip)) {
            if (defined($addr) && ($ip eq $addr)) {
                $ether=$a_ether;
                last;
            }
        } else {
            if (defined($addr) && ($ether eq $a_ether)) {
                $ip=$addr;
                last;
            }
        }
    }
    close(PIPE);
    return ($ip, $ether);
}

Hope this helps
Tobias
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
Measuring Server's processing rate with a simple powershell command. The differences in processing rate also was recorded in different use-cases, when a server in free and busy states.
The viewer will learn how to count occurrences of each item in an array.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Suggested Courses
Course of the Month20 days, 2 hours left to enroll

872 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question