Diferentes maneras de averiguar tu IP
Referencias:
ver varios ejemplos en esos sitios web, especialmente http://ifconfig.co y http://www.ipify.org
Lo interesante de IPIFY es que puede devolver los datos en varios formatos:
curl 'https://api.ipify.org?format=json'
aunque principalmente es text
y json
, y tiene bilbiotecas para un rango muy amplio de lenguajes.
BASH: devuelve la IP como un simple texto
ip=$(curl -s https://api.ipify.org)
curl ifconfig.co
curl ifconfig.co/json
curl ifconfig.me
curl ipinfo.io/ip
wget -qO- icanhazip.com
Usando un DNS:
dig +short myip.opendns.com @resolver1.opendns.com
PYTHON:
en forma interactiva
from requests import get ip = get('https://api.ipify.org').text print 'My public IP address is:', ip
un ejemplo de script muy básico
#!/usr/bin/python # -*- coding: utf-8 -*- from requests import get # traemos los datos en formato json, pero como es un texto # hay que evaluarlo para que se convierta en un diccionario # de python ip = eval(get('http://ifconfig.co/json').text) # imprimimos la información print "IP: ", ip["ip"] print "Nombre:", ip["hostname"] print "Ciudad:", ip["city"] print "País: ", ip["country"]
una versión más segura:
#!/usr/bin/python # -*- coding: utf-8 -*- import ast from requests import get # traemos los datos en formato json, pero como es un texto # hay que evaluarlo para que se convierta en un diccionario # de python ip = ast.literal_eval(get('http://ifconfig.co/json').text) # imprimimos la información print "IP: ", ip["ip"] print "Nombre:", ip["hostname"] print "Ciudad:", ip["city"] print "País: ", ip["country"]