[ホーム] - [Windows 10 FAQ 一覧] - [【3通り】WindowsでパブリックIPアドレスを表示する方法]



作成日:2021/11/18
更新日:2022/03/11
対象:Windows 10

【3通り】WindowsでパブリックIPアドレスを表示する方法




【目次】


パブリックアドレスIPを表示する


このページではWindows 環境において自分のPCのパブリックIPアドレスを表示する方法を紹介します。
まずパブリックIPアドレスに関して説明します。Windowsに限らずPCからインターネットに接続する場合、そのまま自分のIPアドレスで接続するケースはないと思います。
なぜなら自分のIPアドレスで外部接続すると、逆に相手の機器から自分のIPがばれてしまうので、逆に攻撃を受ける可能性が高まるからです。
要するにセキュリティの観点からIPアドレスを付け替えて外部通信するということです。
一般的な組織では外部接続はWebに限定し、Proxyサーバを使用するでしょう。個人ユーザは家庭用ルータを導入し、家庭用ルータにパブリックIP(グローバルIP)をアサインして外部接続すると思います。

プライベートIPアドレスとパブリックIPアドレス



このようにWindows上では自分自身のプライベートIPアドレスが表示されますが、ルータからインターネットはパブリックIPアドレスで接続されます。

nslookup でパブリックIPアドレスを確認する


一番簡単なのは nslookupコマンドでopendns.comの機能を利用してパブリックIPアドレスを表示する方法です。
DNSサーバである"resolver1.opendns.com"に対して"myip.opendns.com"の名前解決を試みると、自分のパブリックIPアドレスが戻されます。(このDNSサーバにアクセスしているIPはあなたのPCのパブリックIPアドレスであるため。)


c:\nslookup myip.opendns.com resolver1.opendns.com
(中略)
権限のない回答:
名前: myip.opendns.com
Address: a.b.c.d


(a.b.c.d には実際のあなたのパブリックIPアドレスが表示されます)

Windowsにおけるnslookup の書式は次の通りです。

nslookup [-opt ...] (解決したいホスト名) (DNSサーバ名)




curl で取得する


curl により httpbin.org から IPを取得することが可能です。curl はWindows に標準で装備されていないため、cygwin に付属しているツールを利用しました。


C:\>curl http://httpbin.org/ip
{
"origin": "a.b.c.d"
}




C:\>curl inet-ip.info
a.b.c.d




Powershellでは次の通り取得可能です。


C:\>powershell Invoke-WebRequest http://httpbin.org/ip


StatusCode : 200
StatusDescription : OK
Content : {
"origin": "a.b.c.d"
}

RawContent : HTTP/1.1 200 OK
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 33
Content-Type: application/json
Date: Thu, 18 Nov 2021 00:0:00 GMT...
Forms : {}
Headers : {[Connection, keep-alive], [Access-Control-Allow-Origin, *], [Access-Control-Allow-Credentials, tru
e], [Content-Length, 33]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 33


(a.b.c.d には実際のあなたのパブリックIPアドレスが表示されます)

Powershell の ISEで以下の通り実行すればアドレスのみ取り出すことが可能です。

PS> Invoke-WebRequest http://httpbin.org/ip | ConvertFrom-Json
origin
------
a.b.c.d



最終的にIPアドレスのみ取り出す場合は以下のコマンドを実行します。(JSONからオブジェクトに変換し、その後 orogin プロパティのみ取り出しています。)

PS> Invoke-WebRequest http://httpbin.org/ip | ConvertFrom-Json |select -ExpandProperty origin
a.b.c.d



参考


プライベートアドレスとグローバルアドレスの違い






(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2022

[Windows 10 FAQ 一覧に戻る]