http://whatismyipaddress.com/ などのサイトを使用せずに、cmdを介してパブリックIPアドレスを取得することは可能ですか?ルーターの後ろにいます。
できるだけ詳しくお気軽にどうぞ。 Net +試験に向けて勉強しています
PowerShell Invoke-RestMethodを使用できます。
PS > Invoke-RestMethod ipinfo.io/ip
99.109.97.210
またはエイリアス:
PS > irm ipinfo.io/ip
99.109.97.210
できません。どうして? 「パブリックIPアドレス」の明確な定義はありません。答えは大規模な抽象概念であり、私のポイントを説明するには十分ですが、小さな穴がたくさんあります。大きなものについてコメントしてください(プラグインできるように)。
基本的に、すべてのパブリックIPアドレスは、プライベート使用のために予約されていないサブネット上のアドレスです。ネットワークスタックに関する限り、パブリックIPアドレスとプライベートIPアドレスの違いはありません。サブネット間の単なるルーティングです。理論的には、閉じたネットワークでは、そのひどい実践中に、パブリックIPアドレス範囲を使用し、その逆を行うことができます-RFC 1918アドレスを使用する公共のインターネット上では、物事を壊す可能性があります。
Pathpingを実行した場合(そして、自分のIPアドレスをインターネット上に表示するつもりはないが、cgnではなく、101で始まる場合)
私のIPアドレスはルート上のどこにもありません(したがって、実際にはPCがパブリックIPアドレスを認識していない可能性があります)。
パブリックIPアドレスの概念も曖昧です。 double nat(eww!)、さらにはtriple nat(多分IPアドレス範囲が重複している!)の背後には何がありますか? CGNの背後にあるのは何でしょうか?
基本的に、各ルーターまたはシステムは、次のホップを知る必要があるだけで、PCがパブリックIPアドレスを知る必要も方法もありません。
外部サービスが「パブリック」IPアドレスを見つけることができるのは、サーバーが関係する限りメッセージが配信されたホップだからです。また、それがエンドユーザーのコンピューター、エンドユーザーのコンピューターの背後にあるプロキシ、ルーター/スイッチ、またはトースターであるかどうかを知る必要はありません。
これを実行するWindowsに自動的に組み込まれるものはありません。他のユーザーが過去に提案したように、次のようなことを試すことができます。
C:\> nslookup myip.opendns.com resolver1.opendns.com
dNSリクエストを使用して、公開IPを返します。回答は最初に見つかりました ここ 。
これを試して。 %MyIP%を変数として、または単に表示するために使用できます。
@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 .
あなたが間違った質問をしているので、あなたの質問は現状では答えることができません。
あなたは尋ねるべきだった:
コマンドラインからインターネット接続の[〜#〜] wan [〜#〜]アドレスを取得するにはどうすればよいですか?
WANアドレスは、パブリックまたはプライベートIPアドレスです。
それはすべて、ISPがインターネットサービスを提供するためにあなたのネットワークに接続するためにhis networkをどのように構成したかに依存します。
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%
echo My IP is %MyIP%
これは自動クリーニングしますが、2つのIPアドレス(resolver1.opendns.comからのIPアドレスと現在のIPアドレス)を取得し、resolver1アドレスを切り取って、変数MyIPを現在のIPアドレスとして設定します。バッチファイルでうまく機能します。
これはPowershellを使用したソリューションです:
@powershell -NoProfile -Command "(new-object net.webclient).DownloadString('http://www.trackip.net/ip')"