IP externo do servidor interno

1

Eu vi essa pergunta, mas ela não resolve meu problema atual (trata-se de obter o endereço IP externo da máquina atual):
comando do Windows que retorna IP externo

Eu estou em uma rede que possui vários endereços IP externos. Eu preciso determinar o endereço externo de uma máquina interna que pode usar um endereço externo diferente. Obviamente, eu poderia ir para uma máquina fora da rede e pingar a partir daí, mas como faço isso de dentro da rede?

Eu gostaria que isso fosse incorporado em um processo automatizado, portanto, um comando DOS ou script do PowerShell seria o preferido.

pswg
fonte
1
Não é definido usando NAT no seu roteador? A máquina não está ciente de nenhum endereço externo. Só roteador é
Cinzeiro
@Ashtray É possível fazer algo como executar ping no servidor por meio de outro servidor / serviço externo?
pswg
1
Seria mais fácil responder se nós sabermos o que você está tentando alcançar / teste / o que for :)
Cinzeiro
@Ashtray Eu quero construir automaticamente uma lista de endereços IP que um cliente precisará acessar quando instalarmos um determinado produto em sua máquina. Alguns clientes estão atrás de um firewall, por isso não podemos determiná-lo a partir da máquina em que estamos instalando (já precisaríamos saber quais IPs precisam ser desbloqueados). Em vez disso, gostaria que nosso servidor de compilação gerasse a lista dinamicamente, resolvendo os nomes dos servidores para endereços IP externos .
pswg

Respostas:

3

Acho que a única maneira de fazer isso é com serviços externos. Você pode usar a biblioteca Powershell system.Net.WebClient junto com o site http://icanhazip.com, que retorna nada além do seu endereço IP externo.

$obj = New-Object system.Net.WebClient;
$ip = $obj.downloadString("http://icanhazip.com")
trpt4him
fonte
Como posso obter isso para retornar o endereço IP de outra máquina?
pswg
1
Você teria que executá-lo a partir dessa máquina. Ou você pode executar o Powershell nessa máquina remotamente usando o PsExec. technet.microsoft.com/en-us/sysinternals/bb897553.aspx
trpt4him
Eu concordo: você precisaria estar na outra máquina para descobrir seu endereço IP externo, então a outra pergunta que você citou é relevante.
Scott
2
@barlop, o OP disse que há vários IPs externos. Presumivelmente, máquinas diferentes poderiam ter diferentes IPs externos.
trpt4him
2
Bem, se você tiver um nome de host que aponte com segurança para esse IP, você poderá usá-lo apenas nslookuppara obter o IP.
trpt4him
0

Se você pode instalar programas na outra máquina, uma maneira fácil seria configurar esta máquina para publicar seu endereço IP como uma entrada dns.

Por exemplo, http://dyn.com/dns/ (não gratuito) e http://www.noip.com/free/ parecem ser dois programas que fornecem este serviço.

Por exemplo, com dyn.com você pode instalar um programa que é executado como um serviço na outra máquina que manterá atualizando a entrada do DNS para, por exemplo, yourname.dyndns.org.

Se você quiser saber o endereço IP atual, você pode simplesmente pingar yourname.dyndns.org.

Em alguns casos (por exemplo, acessar um servidor da Web), você pode usar o nome diretamente e nunca precisar saber o endereço IP.

sgmoore
fonte
0

ifconfig.me é um pouco lento para mim no momento, mas isso funciona.

De commandlinefu

curl ifconfig.me

curl ifconfig.me/ip -> IP Adress
curl ifconfig.me/host -> Remote Host
curl ifconfig.me/ua ->User Agent
curl ifconfig.me/port -> Port

Outro é

C:\>wget -O abc.a ifconfig.me/ip 2>nul & type abc.a

(obviamente você pode colocar essa linha wget em um arquivo bat tão efetivamente fazer um atalho para isso)

você tem que baixar wget (do gnuwin32) ou curl http://curl.haxx.se/download.html

barlop
fonte
como uma alternativa: ifcfg.me
Eun
@Eun a coisa boa com ifconfig.me/ip foi que deu apenas o endereço IP sem outros dados para grep.
Barlop
Deve funcionar com ifcfg.me também, apenas faça curl ifcfg.me, btw também suporta ftp, nslookup etc.
Eun
@Eun oh, eu vejo, ele detecta o agente do usuário para que o chrome retorne uma página html e enrole - um ip. bom encontrar
barlop
-1

Eu tive problema semelhante, então eu escrevi ferramenta de linha de comando simples, você pode baixar OuterIP do sourceforge .

user286725
fonte
2
Se você ler os comentários para a resposta aceita, perceberá que essa não é a resposta que o OP estava procurando.
Sander Steffann
Apenas um link de download não é uma resposta, mesmo que seja útil para resolver a questão. É provável que atraia votos negativos.
fixer1234