Como obter o endereço de Internet (endereço IP) de um computador usando a linha de comando?

6

Como obter o endereço de Internet (endereço IP) de um computador usando a linha de comando?

Por exemplo, usando curl ou wget?

    
por AlikElzin-kilaka 14.04.2016 / 08:45

2 respostas

8

Existe um serviço que fornece isso: ipinfo.io .

Você pode invocá-lo usando curl . Exemplo:

curl ipinfo.io

Resultado:

{
  "ip": "...",
  "hostname": "...",
  "city": "...",
  "region": "...",
  "country": "...",
  "loc": "...,...",
  "org": "..."
}

Informações específicas de um IP também podem ser solicitadas: curl ipinfo.io/216.58.194.46 :

{
  "ip": "216.58.194.46",
  "hostname": "dfw25s12-in-f14.1e100.net",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4192,-122.0574",
  "org": "AS15169 Google Inc.",
  "postal": "94043"
}

Fonte: link

    
por 14.04.2016 / 08:45
2

Como a pergunta não especifica um sistema operacional, é como obter as mesmas informações com curl do PowerShell (na verdade, um alias de Invoke-WebRequest ):

(curl ipinfo.io).Content

Isso produz uma string JSON. Para obter o objeto que o JSON representa, use ConvertFrom-Json :

curl ipinfo.io | ConvertFrom-Json

Como esse é um objeto do PowerShell, você pode obter facilmente campos específicos dele. Por exemplo, este comando obtém apenas o IP externo como uma string:

(curl ipinfo.io | ConvertFrom-Json).ip

Observe que as informações geográficas deste serviço não são super precisas, mas localizaram-me dentro de 20 milhas ou mais. A informação do ISP parece ser confiável.

    
por 17.04.2016 / 04:55