Add to that that IP addresses are, generally, dynamic. And, even if your user is behind a modem/router with a fixed IP address what you could "discover" is the IP assigned to that device and so the "name" of his/her provider.
When using Jserver you have "req.RemoteAddress" in the Handle sub to catch the source IP of the request but, as said, it changes in time so you can't link it to a specific user.