my dog learned polymorphism
The moose likes Servlets and the fly likes how can i get client IP? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "how can i get client IP?" Watch "how can i get client IP?" New topic

how can i get client IP?

suchit pandya
Ranch Hand

Joined: Oct 27, 2009
Posts: 43
I want to get client's IP address when it log in into the system. I am using request.getRemoteAddr() but it returns server's IP address instead of client's IP. I also tried request.getHeader("X-FORWARDED-FOR")

but it returns null. Now how can i get client IP?

Thanks in advance.
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17417

You can't. Not reliably. All the clients on my backend LAN, for example have the apparent IP address of, but that's not their real IP addresses. They use addresses from the private (non-unique range), but pass through a NAT router, which assigns a fixed public address.

An IDE is no substitute for an Intelligent Developer.
suchit pandya
Ranch Hand

Joined: Oct 27, 2009
Posts: 43
If its true then i will have to revert this application from client side. It is working fine at our testing servers and at our developement center but at cliet side it gives same addresses........
Niv Tyagi

Joined: Oct 14, 2009
Posts: 21

getting a client IP in an application running behind load balancer is not possible. most of the time you will get the same IP address and cannot distinguish between the users.
Try this URL : and see the ip you get and what is in the end logged in the web servers/ load balancer logs..

What are you trying to achieve here ?? may be i can help you with and alternative approach ?
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
I want to get client's IP address....

This sounds very dubious ...
suchit pandya
Ranch Hand

Joined: Oct 27, 2009
Posts: 43
Thanks all you guys for replying
and for NIV actually i store ip address of client when he login into my system and i made a report which gives information to user of Ip address and login time for each and every login made in system But right now it is showing same ip for all records.
Rahul Mahindrakar
Ranch Hand

Joined: Jul 28, 2000
Posts: 1868

If you are testing within your LAN then mostly it will give you different IP, because the request is never out of your network.

However if you are testing from a specific client in a different network to a server in your network the IP will that be of your client proxy server even if different client machines are used.

You need to understand Network Address Translation in this case.

I dont see a reason as to why even if you could you would want to record the IP's of the local LAN which could change if the LAN has DHCP.

Now you need to state if this is ok from requirements perspective.

wood burning stoves
subject: how can i get client IP?
It's not a secret anymore!