Que comando baseado em * nix posso usar para encontrar meu IP externo?

15

Semelhante a uma pesquisa de link . Obviamente, seria necessário consultar um computador lá fora. Apenas imaginando se alguém tinha uma maneira inteligente de fazer isso?

    
por Gareth 17.07.2009 / 02:47

10 respostas

28
curl http://myip.dnsomatic.com
    
por 17.07.2009 / 03:12
8
dig +short myip.opendns.com

Isso só funciona se você estiver usando o OpenDNS como seu servidor dns.

Se você não for, uma delas 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
    
por 17.07.2009 / 05:33
3

STUN é a solução adequada.

% stun -v stun.ekiga.net
...
MappedAddress = 88.189.152.187:18009
por 20.07.2009 / 19:39
2
lynx -dump http://www.pcmesh.com/ip-check.cgi | awk '/REMOTE_ADDR/{print $2}'
    
por 17.07.2009 / 03:19
2

Deve-se usar os servidores do OpenDNS para usar isso ... Você pode consultar um determinado servidor DNS com escavações assim:

dig +short myip.opendns.com @208.67.222.222
    
por 17.07.2009 / 12:09
2

Você pode usar o curl para obter a página de algo parecido com whatismyip e, em seguida, retirar as peças. Eu usei whatismyipaddress.com neste exemplo ... obviamente os campos serão diferentes com serviços diferentes.

curl -s http://whatismyipaddress.com/ | grep LOOKUPADDRESS | awk '{ print $4 }'
    
por 17.07.2009 / 02:58
1

Eu apenas faço um traceroute em algum lugar da internet e procuro o salto para fora da nossa rede local.

talvez haja uma maneira melhor?

    
por 17.07.2009 / 02:52
1

"lynx link "

    
por 17.07.2009 / 02:55
0

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 de internet é ppp0, você pode rodar

$ ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:X.X.XX.X  P-t-P:Y.Y.Y.Y  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1444  Metric:1
          RX packets:198986 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122929 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:134195571 (127.9 MiB)  TX bytes:17101701 (16.3 MiB)

X.X.X.X será o seu endereço IP. Y.Y.Y.Y é o endereço IP do próximo salto.

você pode então pós-processar a saída de ifconfig com grep / awk / sed / cut / perl / qualquer para extrair apenas o IP.

outra alternativa, se você tiver as ferramentas iproute instaladas, é usar o comando ip. por exemplo,

$ ip addr list ppp0
21842: ppp0:  mtu 1444 qdisc htb state UNKNOWN qlen 3
    link/ppp
    inet X.X.X.X peer Y.Y.Y.Y/32 scope global ppp0

provavelmente é mais fácil de ler e certamente mais fácil de analisar:

$ ip addr list ppp0 | awk '/inet/ {print $2}'
X.X.X.X
    
por 18.07.2009 / 03:18
0

a maneira mais simples é: curvar ifconfig.me

    
por 05.02.2013 / 03:18