gnu linux badge

Comandos para encontrar o IP público ou WAN IP no Linux

Usuários de qualquer distro GNU/Linux ou UNIX podem usar vários comandos shell para obter informações de sua rede, entre estas, o número de IP na WAN que estão usando.
A informação pode ser útil para quem deseja montar scripts que façam algum tipo de uso destes dados.
Se você não é usuário avançado ou deseja apenas obter rapidamente esta informação, pode acessar qualquer uma destas páginas web — onde o valor do seu IP público é exibido em questão de segundos.

Como obter o endereço IP através do comando dig

O dig é um aplicativo de pesquisa de DNS. Seu nome corresponde a Domain Information Groper.

O dig é uma ferramenta flexível para inquirir os servidores DNS.
Pesquisa os servidores DNS presentes na rede e exibe as informações obtidas daí.

O aplicativo é muito usado por administradores para detectar erros relacionados aos servidores de nomes.
Se você não fornecer um endereço de servidor DNS específico, o dig irá tentar inquirir todos os servidores listados em /etc/resolv.conf. Caso não encontre qualquer endereço útil por lá, o dig se dirige ao host local.
No emulador de terminal digite o seguinte comando para obter unicamente a informação desejada:

dig +short myip.opendns.com @resolver1.opendns.com
202.9.131.64

Se você quiser armazenar este valor em uma variável, use o seguinte procedimento:

meuip=$(dig +short myip.opendns.com @resolver1.opendns.com)
echo "O meu endereço IP público ou WAN é $meuip"
O meu endereço IP público ou WAN é 201.9.130.64

Ficou mais apresentável, não é?
O exemplo abaixo mostra como apontar para o servidor de nomes do Google:

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
"202.9.131.64"

Outros comandos para determinar o IP WAN

Há várias outras formas de se obter esta informação, veja algumas:

  • Com o comando host:
    host myip.opendns.com resolver1.opendns.com
    Using domain server:
    Name: resolver1.opendns.com
    Address: 208.67.222.222#53
    Aliases: 
    
    myip.opendns.com has address 202.9.131.64
    Host myip.opendns.com not found: 3(NXDOMAIN)
    Host myip.opendns.com not found: 3(NXDOMAIN)
  • O comando curl, permite inquirir outros sites sobre o seu IP público:
    curl ifconfig.co
    202.9.131.64

Você conhece outras formas de determinar seu IP público? Compartilhe conosco, nos comentários. 😉

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

5 thoughts on “Comandos para encontrar o IP público ou WAN IP no Linux”

  1. Olá, se posso contribuir um pouco, eu uso esse comando:

    echo “IP Publico em uso no momento: `wget http://ipecho.net/plain -O – -q ; echo`”

    Fiz um script e coloquei dentro, dai ele retorna pra mim, o ip publico e os ip´s das interfaces locais, claro, inserindo os demais comandos.

  2. Excelente!

    O comando DIG realiza a busca instantaneamente, enquanto serviços como o ifconfig.me são muito lentos e muitas vezes chegam a expirar o tempo de execução, timeout.

    Imensamente agradecido!

  3. Para retornar o comando HOST com o endereço ip limpo, segue a dica:

    public_ip=$(host myip.opendns.com resolver1.opendns.com|grep ‘myip.opendns.com has address ‘|awk ‘{print $4}’);

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *