IP em modo texto (modem router)
Dica publicada em Shell Script / Miscelânea
IP em modo texto (modem router)
Eu já, por isso estou postando aqui uns comandos bem simples de como obter o IP de sua conexão em modo texto usando modem router em modo bridge.
Verifique se você tem o curl instalado, se não tiver instale-o, como por exemplo "apt-get install curl".
Segue abaixo:
#!/bin/sh
IP_EXTERNO=` curl http://www.meuip.com.br/ 2> /dev/null | awk '// {print $2}' | cut -d '>' -f 2| cut -d '<' -f 1`
echo "Endereço IP externo: $IP_EXTERNO"
IP_EXTERNO=` curl http://www.meuip.com.br/ 2> /dev/null | awk '// {print $2}' | cut -d '>' -f 2| cut -d '<' -f 1`
echo "Endereço IP externo: $IP_EXTERNO"
Outras dicas deste autor
Alterando o idioma das mensagens do Squid
Leitura recomendada
Sincronizando o relógio da BIOS - SyncTime
Imprimindo repetidamente uma palavra ou frase na tela
Comentários
Caro rogerio-reis, muito boa dica a sua. Porém não funciona quando você tem um modem router operando com nat, pois não existirá uma conexão "ppp" e sim somente o endereço invalido da placa de rede "ETHx".
Obrigado pela dica.
Obrigado pela dica.
Nandor, eu li a sua dica e nem dei muita atenção da primeira vez. Agora eu precisei verificar o meu ip em modo texto e fiquei com o pensamento "porque eu não dei tanto valor àquela informação?".
Só gostaria de dar uma sugestão. O script da forma que está escrito não está mais funcionando corretamente por causa que o site agora é o http://meuip.datahouse.com.br
Aí no caso basta substituir o endereço atual pelo "novo".
#!/bin/sh
IP_EXTERNO=` curl http://meuip.datahouse.com.br/ 2> /dev/null | awk '/<strong class="IP">/ {print $2}' | cut -d '>' -f 2| cut -d '<' -f 1`
echo "Endereço IP externo: $IP_EXTERNO"
Só gostaria de dar uma sugestão. O script da forma que está escrito não está mais funcionando corretamente por causa que o site agora é o http://meuip.datahouse.com.br
Aí no caso basta substituir o endereço atual pelo "novo".
#!/bin/sh
IP_EXTERNO=` curl http://meuip.datahouse.com.br/ 2> /dev/null | awk '/<strong class="IP">/ {print $2}' | cut -d '>' -f 2| cut -d '<' -f 1`
echo "Endereço IP externo: $IP_EXTERNO"
Opa!
Precisei disso e sua ideia é ótima, mas o sítio omeuip deve ter mudado e não funciona mais.
Consegui alterando para a forma que está abaixo.
Deve haver forma mais elegante de fazer, mas está funcionado ;-)
#!/bin/sh
IP_EXTERNO=`curl http://www.omeuip.com.br 2> /dev/null | grep -A 1 "O Meu IP" | grep -i color | cut -d\> -f3 | cut -d\< -f1`
echo "Endereço IP externo: $IP_EXTERNO"
Precisei disso e sua ideia é ótima, mas o sítio omeuip deve ter mudado e não funciona mais.
Consegui alterando para a forma que está abaixo.
Deve haver forma mais elegante de fazer, mas está funcionado ;-)
#!/bin/sh
IP_EXTERNO=`curl http://www.omeuip.com.br 2> /dev/null | grep -A 1 "O Meu IP" | grep -i color | cut -d\> -f3 | cut -d\< -f1`
echo "Endereço IP externo: $IP_EXTERNO"
Não seria mais simples usar o seguinte comando:
# curl ifconfig.me
# curl ifconfig.me
IP_EXTERNO=` ifconfig ppp0 | grep "inet addr" | cut -f2 -d: | cut -f1 -d" "`
Assim você não precisa instalar nada e nem acessar a internet.
Só uma dica.
Abc.,