Como obtenho o meu endereço IP a partir da linha de comando? [duplicado]

4

Estou usando o Debian 8. Como obtenho meu endereço IP externo a partir de uma linha de comando? Eu pensei que o comando abaixo faria o trabalho ...

myuser@myserver:~ $ /sbin/ifconfig $1 | grep "inet\|inet6" | awk -F' ' '{print $2}' | awk '{print $1}'
addr:192.168.0.114
addr:
addr:127.0.0.1
addr:

mas, como você pode ver, está apenas revelando o endereço IP da máquina na LAN. Estou interessado em conhecer seu IP para o mundo todo.

    
por Dave 20.09.2017 / 20:07

3 respostas

6

Você quer dizer que qualquer IP roteável seu modem dsl / cable / etc. roteador tem?

Você precisa consultar esse dispositivo OU perguntar a um servidor externo qual IP ele vê quando você se conecta a ele. A maneira mais fácil de fazer isso é pesquisar no Google por "o que é o meu ip" e, como as buscas de cálculos, ele informará no primeiro resultado da pesquisa. Se você quiser fazer isso a partir da linha de comando, você precisará verificar a saída de algum script que irá ecoar as informações. O serviço dns dinâmico dyndns.org tem um que você pode usar - tente este comando

wget http://checkip.dyndns.org -O -

Você deve receber algo como

HTTP request sent, awaiting response... 200 OK
Length: 105 [text/html]
Saving to: ‘STDOUT’

-                     0%[                    ]       0  --.-KB/s               <html><head><title>Current IP Check</title></head><body>Current IP Address: 192.168.1.199</body></html>
-                   100%[===================>]     105  --.-KB/s    in 0s      

2017-09-20 14:16:00 (15.4 MB/s) - written to stdout [105/105]

Eu mudei o IP no meu para um genérico não-roteável e em negrito para você.

Se você quer apenas o IP, você precisará analisá-lo de lá - rápido e sujo, mas funciona para mim. E tenho 100% de certeza de que existe uma maneira mais segura de fazer isso ...

wget http://checkip.dyndns.org -O - | grep IP | cut -f 2- -d : | cut -f 1 -d \<

Que te dará apenas

192.168.1.199

    
por 20.09.2017 / 20:23
9

Isso retornaria a você seu IP público

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
    
por 20.09.2017 / 22:14
5

Alternativas (evitar análise):

Para obter o IPv4

curl -4 icanhazip.com

Para obter o IPv6

curl -6 icanhazip.com
    
por 20.09.2017 / 20:35