Você pode usar o Invoke-RestMethod do PowerShell :
PS > Invoke-RestMethod ipinfo.io/ip
99.109.97.210
Ou o alias:
PS > irm ipinfo.io/ip
99.109.97.210
É possível obter seu endereço IP público por meio do cmd sem usar sites como o link ? Eu estou atrás de um roteador.
Por favor, sinta-se à vontade para ir o mais detalhado possível. Estou estudando para meu exame Net +
Você pode usar o Invoke-RestMethod do PowerShell :
PS > Invoke-RestMethod ipinfo.io/ip
99.109.97.210
Ou o alias:
PS > irm ipinfo.io/ip
99.109.97.210
Você não pode. Por quê? Não existe uma definição clara de 'endereço IP público'. Eu notaria que a resposta é uma abstração maciça, boa o suficiente para explicar o meu ponto de vista, mas cheia de pequenos buracos. Sinta-se à vontade para comentar sobre os grandes (para que eu possa conectá-los).
Essencialmente, tudo que um endereço IP público é é um endereço em uma sub-rede que não foi reservada para uso privado. Não há distinção entre um endereço IP público e privado no que diz respeito à pilha de rede. É apenas roteamento entre sub-redes. Teoricamente, em uma rede fechada, embora seja uma prática terrível, você poderia usar um intervalo de endereços IP públicos e fazer o inverso - usando um endereço RFC 1918 na Internet pública, provavelmente quebraria as coisas. / p>
Se eu executar o pathping (e enquanto não estiver disposto a colocar meu endereço ip na internet, mas não for o cgn, e começar com 101)
Meu endereço IP não está em nenhum lugar na rota (então ... seu PC pode não estar ciente do endereço IP público).
O conceito de um endereço IP público também é nebuloso. O que seria por trás de double nat (eww!), Ou mesmo triplo nat (talvez com intervalos de endereços IP sobrepostos!). O que seria por trás da CGN ou mesmo de uma rede fechada?
Em essência, cada roteador ou sistema simplesmente precisa conhecer o próximo salto e não há necessidade ou maneira de o seu PC saber qual é o seu endereço IP público.
A razão pela qual um serviço externo pode encontrar o seu endereço IP 'público' é que é a esperança de que a mensagem foi entregue ao servidor em questão. Ele também não precisa saber se é o computador de um usuário final, um proxy por trás do qual você tem o computador de um usuário final, um roteador / switch ou até mesmo uma torradeira.
Não há nada incorporado automaticamente no Windows que faça isso. Você poderia, como outros usuários sugeriram no passado, tentar algo como:
C:\> nslookup myip.opendns.com resolver1.opendns.com
e use uma solicitação de DNS para retornar seu IP voltado para o público. A resposta foi originalmente encontrada aqui .
Tente isso. Você pode usar% MyIP% como uma variável ou apenas para exibir.
@echo off
nslookup myip.opendns.com resolver1.opendns.com | find "Address" >"%temp%\test1.txt"
more +1 "%temp%\test1.txt" >"%temp%\test2.txt"
del %temp%\test1.txt
set /p MyIP=<%temp%\test2.txt
del %temp%\test2.txt
set MyIP=%MyIP:~10%
cls
echo .
echo %MyIP%
echo .
Aqui está uma solução usando o Powershell:
@powershell -NoProfile -Command "(new-object net.webclient).DownloadString('http://www.trackip.net/ip')"
Sua pergunta é impossível responder como está, porque você está fazendo a pergunta errada.
Você deveria ter perguntado:
How do I get the WAN address of my internet connection from the commmand line?
O endereço da WAN pode ser um endereço IP público ou privado:
Tudo depende de como o ISP configurou a sua rede para se conectar ao seu, a fim de fornecer um serviço de Internet.
Tags command-line windows ip