¿Hay una forma de línea de comandos para mostrar la dirección IP hacia afuera de mi máquina?

3

¿Hay una forma de línea de comandos para mostrar la dirección IP hacia afuera de mi máquina?


fuente

Respuestas:

7

Puede crear un script que llame a whatismyip.com o similar y devuelva la parte interesante (aunque a esos sitios web no les guste que lo haga). En general, tendrá que preguntarle a otra persona (otra computadora) cuál es su IP, ya que su computadora no lo sabe. También es posible que le preguntes a tu enrutador, pero el análisis probablemente será más difícil.

Su computadora no sabe que es una dirección IP externa porque el enrutador está usando NAT *. Un paquete que deja su computadora tiene de: [su IP interna], pero el enrutador maneja de: [La IP externa de su enrutador] y lo envía a Internet. El enrutador luego desmarca (o vuelve a enredar) el campo a: en los paquetes devueltos y los reenvía a su computadora. **

Puede obtener una salida casi limpia de:

wget -q -O - checkip.dyndns.org

*Traducción de Direcciones de Red.

** Esta es solo una descripción de cómo funciona NAT.

Greg
fuente
Agregando un poco de sed para analizarlo: wget -q -O - checkip.dyndns.org | sed 's /.*: (. *) & lt; \ / body. * $ / \ 1 /'
jon077
4

Puedes obtenerlo de varios sitios web en el mundo, como checkip.dyndns.org . Una vez que tenga un sitio que le diga su dirección IP, no debería ser demasiado difícil usar curl para obtener la página y awk para analizarla.

curl http://checkip.dyndns.org/ 2> /dev/null | ruby -pe '$_=$_.scan(/\d+\.\d+\.\d+\.\d+/)'
Ken Bloom
fuente
1

ifconfig.me tiene algunas grandes opciones de línea cmd.

Esto devuelve tu ip

curl ifconfig.me/ip

Esto devuelve una gran cantidad de información

curl ifconfig.me/all
MJ.
fuente