How to retrieve client machine name from javascript?

I have an ASP.NET application that is located on the server but is accessed from client machines. I need the application to retrieve computer name of the client computer that accesses the application. How can I do that using javascript?

P.S. I've already tried Environment.MachineName and Request.ServerVariables{"HOSTNAME"]. All these will only retrieve either IP Address or Server machine name. I need a client machine name

LVL 35
YZlatAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
nisarkhanConnect With a Mentor Commented:
>>How to retrieve client machine name from javascript?

you cant... because javascript is not a server_side script
0
 
YZlatAuthor Commented:
that's why I need javascript - because I need to retrieve the name of the client machine, the Internet explorer on which opens a web page.

In other words, from a web page opened on computer1 I need to get the name of the computer1. I cannot do that with server-side code, but that's done with client-side code. JavaScript is client-side language
0
 
raterusCommented:
I believe the only way to truly do this is on the server, first you get the IP, and do a DNS lookup to get the computer name.  This will only work in an intranet where you have a local DNS server with all the computer names.
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
YZlatAuthor Commented:
thanks raterus. and how do I do that? can you post some code?
0
 
codeclayCommented:
Here is vbscript solution . http://www.codeproject.com/vbscript/userinfo.asp 
0
 
raterusCommented:
I don't have any code to do this off the top of my head, I could google it probably just as easily as you could. ".net DNS lookup"
0
 
YZlatAuthor Commented:
I wrote this function to retrieve computer name, but I still need to get at least the IP Address of the client machine in order to pass it to my function. ANd Request.ServerVariables["REMOTE_ADDR"] gives me the IP of the localhost and not client computer

public string ComputerName(string ipaddr)
            {
                  System.Net.IPHostEntry objX;
                  string strHostName="";
 
                  try
                  {
                        //get the host dns entry
                        objX = System.Net.Dns.GetHostByAddress(ipaddr);

                        //get the hostname property
                        strHostName = objX.HostName;
                  }
                  catch (Exception ex)
                  {

                        //something went wrong (possibly no entry)

                  }//end try
                  return strHostName;
            }
0
 
raterusCommented:
Try this to get the IP address

string ipaddress;
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
{
  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
  ipaddress = Request.ServerVariables["REMOTE_ADDR"];
}
0
 
YZlatAuthor Commented:
raterus, I get ipaddress=null
0
 
raterusCommented:
You've got something weird going on in the configuration of your server.  REMOTE_ADDR should work, period, and not be the server's ip.
0
 
codeclayCommented:
Wait a minute... when did it go server side ? I thought you wanted to do it client side...???
0
 
YZlatAuthor Commented:
It's really not important if it's done on client side or server-side, as long as I retrieve the name of the client machine, from which the web page is opened
0
 
raterusCommented:
Keeping it simple, I think nisarkhan's first comment answered the question.  We were getting into server side scripting which wasn't really the original question.
0
 
YZlatAuthor Commented:
I guess you are right
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.