Desde el blog de erjaimer es que me llega este muy util tip.
Sucede que erjaimer nos explica cómo en una sola línea, podemos conocer nuestra IP pública (IP real), pero además invita a cualquiera que desee mejorar la línea a hacerlo … y bueno… saben que soy un gran fan de bash, por lo que hice algún que otro cambio. Esta es mi línea:
GET http://www.vermiip.es/ | grep "Tu IP pública es" | cut -d ':' -f2 | cut -d '<' -f1
Veamos un screenshot del resultado que obtenemos con mis cambios:
La línea de él es la siguiente:
GET http://www.vermiip.es/ | grep "Tu IP pública es" | perl -pe 's/(.*:)||\s+//g;'
Y cómo se vería usando la línea original:
La explicación del comando original nos la brinda el mismo erjaimer en el artículo:
- El comando GET está en cualquier distro GNU/Linux y como su propio nombre indica nos descarga un HTML dada una URL.
- El siguiente paso es observar el documento HTML para ver que IP estás nos muestra la página. En este segundo paso obtenemos este resultado: <h2>Tu IP pública es: xx.xx.xxx.xxx</h2>, donde obviamente los X son números.
- El siguiente paso utilizaré expresiones regulares y PERL como una orden de consola, filtrando las letras, etc perl -pe ‘s/(.*:)|(<\/h2>)|(\s+)//g; , esta regex está realizada un poco a la ligera propongo mejorarla o incluso usando grep un poco mejor se puede sacar.
Y aquí dejo yo la explicación del mío:
- Mediante GET descargamos el HTML de esa URL, que nos dice la IP nuestra y además montón de texto más que no deseamos.
- Limpiaremos todo ese código no deseado, dejando solamente la línea de la IP mediante grep.
- El problema está en que nos muestra la IP con un pequeño texto y tags H2, por eso ahora usando dos veces cut limpiaremos todo y solo dejaremos la IP.
- (1er cut) » Limpiamos el texto y el 1er tag H2 simplemente diciendo que no muestre nada que esté desde los : (dos puntos) hacia su izquierda, quedándonos solamente al final un tag H2.
- (1er cut) » Limpiamos este último tag H2 con el otro cut, que no mostrará nada desde el primer < hacia su derecha. Quedándonos solo la IP.
Cualquier método (comando) que usen les dará el mismo resultado, yo simplemente quise hacer mi aporte, pues al ver la línea de comando con expresiones regulares y perl, se haría complejo explicar caracter por caracter a otros jaja.
En fin, espero les guste y mil gracias a erjaimer por haber escrito el artículo original.
Saludos
29 comentarios, deja el tuyo
Si no dispones de curl y si de wget (p.ej. mi caso en MacOSX) este comando también sirve:
wget -nv -q -O – http://ip.appspot.com/
(aunque como dice Edwin, ifconfig.me es lo indicado… e instalé curl en MacOSX)
Más fácil
curl ifconfig.me
O_O … no conocía ese sitio… WTF!, es GENIAL!!!
Gracias por el dato amigo, super interesante jeje.
PD: Ahora me siento como un idiota por usar toda una cadena de instrucciones cuando tú lo lograste hacer con 2 palabras JAJAJA
EXELENTE, con sólo instalar curl y ese comando, funciona genial!
Muy buen aporte! Igualmente es muy útil porque no requiere nada extra instalado. Probé con CURL pero me pide que instale el paquete.
Saludos.
Ah, CURL no viene igual en el sistema por defecto? O_O
Bueno, gracias por lo de buen aporte, se hace lo que se puede 🙂
Saludos y gracias amigo
WTF!! genial la explicación de (copy-paste, xD núnca he escrito ese nickname) KZKG^Gaara. Edwin, bueno, genial, ese método no lo conocía. Gracias por compartir.
hahaha gracias amigo 🙂
O con:
curl -s http://ip.appspot.com/
Como dice el refran, a la cama no te iras sin saber una cosa mas
Genial ese modo, no conocía ese servicio.
Al autor de este artículo comentarle, que la imagen que tiene de fondo en el emulador de terminal dificulta la lectura.
Está buenísimo. Sin embargo así es más fácil:
$ curl ifconfig.me
JAJA síp ya lo comentaron más arriba, me siento un poco mal por haber tenido que usar toda una cadena de instrucciones jejeje
gracias, muy util
Buen tip…(es bueno saberlo).
Otros métodos:
Conocer mi IP Pública:
wget -qO- ifconfig.me/ip
wget -qO- ifconfig.me/host
Bueno, al menos en Debian, alternativamente se puede utilizar el navegador de consola por defecto:
www-browser http://ifconfig.me
Yo suelo usar elinks o w3m
Qué comandos más complicados Gaara!! yo uso
wget -qO- icanhazip.com
Jajaja, buenisimo.
Muy bueno, no conocia esta forma. Nunca te acostaras sin aprender nada nuevo.
Eso mismo pensé yo cuando ví todas las formas de hacer esto jaja
Yo tengo uno parecido. El resultado es el mismo.
wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Si esto lo ponemos en un script y le añadimos para que lo muestre en pantalla con zenity (p.e), queda una «aplicación» muy chula
Sería así la cosa:
#!/bin/sh
IPPUBLICA=$(wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//')
zenity --info --text="Tu IP es: $IPPUBLICA"
Saludos
Ni wget viene instalado por defecto en algunas distribuciones, así que curl es el más apropiado al respecto
curl viene instalado por defecto en todas?
Yo lo hago así, tengo un alias xD:
alias myip=’wget http://automation.whatismyip.com/n09230945.asp -O – 2> /dev/null; echo’
Pero la del CURL me dejó boqueabierto.
¡Saludos!
Considero que existe muchos métodos (maneras) para obtener la ip publica y que cada quien es libre de escoger la suya, con la que mas se identifique, a mi particularmente me gusta usar:
wget -qO- ifconfig.me/ip
Una sugerencia de mi parte es editar el post y colocar cada una de las alternativas que existen para Saber la ip publica y que sea el lector libre de escoger el método a utilizar.
ve al «panel de control» ahy seleccionas «conexiones de red» luego de abrirla haces click dercho sobre la conexion que este funcionando (esta sera las que tenga 2 pc de color azul) y selecionas «propiedades» en la nueva vantana que se abrira has click sobre «protocolos de internet» y luego en la opcion «propiedades» ahy podras observar tu direccion de IP
Si te gusto me respues, votame! https://es.answers.yahoo.com/question/index?qid=20080731112416AAVDKNz
Me fue de gran ayuda encontrar toda la infromacion que brindan en la pagina. Pude seguir los pasos y conocer mi IP Publica.En esta otra pagina http://www.gurugles.com/internet-y-computadoras/cual-es-mi-ip-publica/ . Tambien encontre muchisimas respuestas acerca de las IP, muy claras, para los que no entendemos mucho del tema.
curl es lo maximo