Semelhante a uma pesquisa http://whatismyip.com . Obviamente, seria necessário consultar um computador lá fora. Só queria saber se alguém tinha uma maneira inteligente de fazer isso?
Semelhante a uma pesquisa http://whatismyip.com . Obviamente, seria necessário consultar um computador lá fora. Só queria saber se alguém tinha uma maneira inteligente de fazer isso?
Respostas:
curl http://myip.dnsomatic.com
dig + short myip.opendns.com
Isso só funciona se você estiver usando o OpenDNS como seu servidor DNS.
Se não estiver, um destes deve funcionar:
dig + short myip.opendns.com @ 208.67.222.222 dig + short myip.opendns.com @ 208.67.220.220 dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
@resolver1.opendns.com
(para facilitar a leitura)
STUN é a solução adequada.
% stun -v stun.ekiga.net ... MappedAddress = 88.189.152.187:18009
lynx -dump http://www.pcmesh.com/ip-check.cgi | awk '/REMOTE_ADDR/{print $2}'
Eu apenas corro um traceroute para algum lugar na internet e procuro o salto para fora da nossa rede local.
talvez haja uma maneira melhor?
"lince http://whatismyip.com "
a maneira mais simples é: curl ifconfig.me
você pode usar o comando ifconfig para listar todas as interfaces e seus endereços IP associados.
então, se você sabe que sua interface da Internet é ppp0, pode executar
$ ifconfig ppp0 ppp0 Link encap: protocolo ponto a ponto endereço inet: XXXX.X PtP: AAAA Máscara: 255.255.255.255 UP POINTOPOINT FUNCIONANDO NOARP MULTICAST MTU: 1444 Métrico: 1 Pacotes RX: 198986 erros: 0 eliminados: 0 excedentes: 0 quadro: 0 Pacotes TX: 122929 erros: 0 eliminados: 0 excedentes: 0 transportadora: 0 colisões: 0 txqueuelen: 3 Bytes RX: 134195571 (127,9 MiB) Bytes TX: 17101701 (16,3 MiB)
XXXX será o seu endereço IP. AAAA é o endereço IP do próximo salto.
você pode pós-processar a saída do ifconfig com grep / awk / sed / cut / perl / o que for para extrair apenas o IP.
outra alternativa, se você tiver as ferramentas do iproute instaladas, é usar o comando ip. por exemplo
$ ip addr list ppp0 21842: ppp0: mtu 1444 qdisc htb state UNKNOWN qlen 3 link / ppp escopo inet XXXX AAAA / 32 global ppp0
provavelmente é mais fácil de ler e certamente mais fácil de analisar:
$ ip addr list ppp0 | awk '/ inet / {print $ 2}' XXXX