Localização pelo ip

É possível determinar a localização de um usuário pelo ip dele? Qualquer coisa ajuda, estado, cidade…

Como fazer isso?

Fiquei curioso com sua dúvida e encontrei essa biblioteca, mas não testei.
Não sei se traz todas as informações que você precisa.

aparentemente essa biblioteca identifica apenas o país… eu sei que é possível determinar o país pelo ip (não sei como funciona direito mas sei que dá) mas oq eu precisava era de uma granularidade maior, descobrir o estado e se possível até a cidade seria perfeito

Entendi. Acho que a melhor opção é consumir um webservice que retorna essas informações que vc precisa.
Exemplo: http://freegeoip.appspot.com/

legal, vou ver como isso funciona e coloco aqui as novidades