Solved

Hardware address client

Posted on 2010-09-03
4
435 Views
Last Modified: 2013-11-23
If we all are in the same network then why cannot we get the MAC address of the client ?. NetworkInterface.getHardwareAddress gives the machine hardware address not the client which connects to the server. Anyone with any suggestions ?
0
Comment
Question by:Micheal_Male
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 12

Expert Comment

by:geowrian
ID: 33602120
Even if you are on the same physical network, network policies and/or routing across subnets can make this (practically) impossible. As far as I'm aware, there is no "reliable" way to retrieve the MAC address of a remote network device short of having a way to send a command to a process running on the remote PC, or implementing discovery calls to the switch (i.e. via CDP for Cisco switches).

If within the same subnet and barring any network policies or configuration preventing it, you may be able to lookup the IP of the remote PC in the ARP table, then grab the MAC address from that. However, this is not guaranteed to work, and may actually give wrong information (i.e. if switching or routing is performed it may return the MAC of the switch/router).

http://my-addr.com/i/determine_mac_address_from_ip/lookup-ping-search/howto_find_remote_mac_address.php
0
 

Author Comment

by:Micheal_Male
ID: 33602136
Good article. That gives me an idea that it is impossible to get the MAC address of the client in java even it is connected on the same network. The only way is to run the Process Runtime.exec() command and give arp as a parameter and then compare the client ip with the ip we got from running the arp command in java and then parse the mac address.
0
 
LVL 2

Accepted Solution

by:
chataros earned 250 total points
ID: 33609477
also if you're running on windows you can run the "nbtstat -A/a server name/IP " command and parse the output

EX:
nbtstat -a NAME
nbtstat -A IP

0
 

Author Closing Comment

by:Micheal_Male
ID: 33610341
Thank you
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

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

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Suggested Courses

630 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