2010-07-21 06:06:13 +0000 2010-07-21 06:06:13 +0000
61
61

外部IPを返すWindowsコマンド

whatsmyip.netなどに行かなくても、ルータやNATDSLルータなどの外部IPを見つけることができるコマンドはありますか?

回答 (13)

109
109
109
2014-02-27 14:57:47 +0000

あなたの公開IPを見つけるためにHTTPリクエストの代わりにDNSリクエストを使用することができます:

C:\> nslookup myip.opendns.com. resolver1.opendns.com

それは、yourのIPアドレスに魔法のようなresolver1.opendns.comホスト名を解決するためにmyip.opendns.com. dnsサーバーを使用しています。(注意: 検索の最後の . は検索ドメインが付加されるのを防ぎます。)

Unix バージョン:

$ dig +short myip.opendns.com @resolver1.opendns.com
33
33
33
2010-07-21 08:24:26 +0000

http://curl.haxx.se/download.html ](http://curl.haxx.se/download.html) から curl のあなた自身のコピーをつかみ、そしてちょうど

curl "http://myexternalip.com/raw"

または powershell を使用して下さい:

$wc = new-object System.Net.WebClient
$wc.DownloadString("http://myexternalip.com/raw")

(免責事項: http://myexternalip.com は私によって作成されました)

16
16
16
2010-07-21 06:28:20 +0000

これを行うためのビルトインコマンドはありません。問題の一部は、ルータを介してインターネットに接続されている場合、ネットワークハードウェアが直接インターネットに接続されていないので、システムは特にIPを割り当てられていないということです。多くの企業ネットワークが設定されているように、リバースプロキシの背後にある場合、それはあなたも、いくつかのケースで複数の外部IPを持っている可能性があります。あなたの最善の策は、 whatismyip.org を問い合わせるスクリプトを作成することかもしれません, または1つがすでに存在するかどうかを見つけようとしている.

(先端として, whatismyip.orgは、他のほとんどのソリューションよりも好ましいです, それだけであなたのIPをプレーンテキストとして返すので - 余計なテキスト、リンク、画像や他のゴミはありません. 他のIP検出サイトのほとんどよりも、カスタムスクリプトで使用する方がはるかに簡単です)

7
7
7
2015-04-23 08:25:29 +0000

これはうまく動作します。私はクライアントコンピュータの接続を検査するときに、主に psexec を使っています。

6
6
6
2011-02-12 01:58:08 +0000

ip.vbsという名前のファイルを作成して、以下をコピーします:

Option Explicit
Dim http : Set http = CreateObject( "MSXML2.ServerXmlHttp" )
http.Open "GET", "http://icanhazip.com", False
http.Send
Wscript.Echo http.responseText 'or do whatever you want with it
Set http = Nothing

を使用して実行します。のように:

(ソース: 元 http://externip.com/about )

5
5
5
2014-02-16 13:34:55 +0000

Powershell 3.0(Windows 7のデフォルトは2.0です)を使用すると、 Invoke-WebRequest

IPv4の場合:

$tmp =Invoke-WebRequest -URI http://myip.dnsomatic.com/
$tmp.Content

IPv6の場合:

$tmp =Invoke-WebRequest -URI http://myexternalip.com/raw
$tmp.Content

これはあなたがそれでやりたい特定の何かを持っている場合に動作するように変数を与えるでしょう。私は実際に私のルータの動的なIPを定期的にアップロードするスクリプトを構築するためにこれを使用しています, 定期的にそれに別のマシンのテスト通信を持っている, そしてそれが変更された場合、最新のIPでDNSを更新していますので、私は名前を使用してどこからでも私のギアにアクセスすることができますので、私は常にIPを追いかけることを持っているのではなく、名前を使用して. :)

5
5
5
2011-02-12 04:03:59 +0000

私は数ヶ月前にそれを行うためにこのバッチスクリプトを作成しました:

@echo off

:: WhatIsMyIP.cmd - returns public IP address
:: requires: wget.exe

if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP

wget -q -O %temp%\MyIP http://www.whatismyip.com/automation/n09230945.asp
for /f "delims= " %%G in (%temp%\myip) do set PublicIP=%%G & del %temp%\MyIP
echo. & echo Your public IP address is %PublicIP% & echo.
if [%1]==[--clip] echo %PublicIP% | clip
goto :EOF

:HELP
echo. & echo Usage: whatismyip [--clip] & echo.
goto :EOF

:EOF

それはあなたにクリップボードにIPアドレスを置くためのオプションを与え、それは環境変数を設定します - %PublicIP%


SIMPLER METHOD:

今、私はちょうど代わりにこれを行います:

curl icanhazip.com

または…

curl icanhazip.com | clip

…クリップボードに現在のパブリックIPアドレスを取得するには。

3
3
3
2014-01-15 00:48:54 +0000

サードパーティのプログラムなしでは、Telnetはデフォルトでは供給されていないので、Windows上では難しいですが、もしそれがそこにある場合(XP)または(Windows Vista以上)をオンにして、単にタイプ:&002&002&001&002&002&002画面が点滅し、あなただけのカーソルを取得します… 次のタイプ:

telnet curlmyip.com 80

大文字で…あなたはその後、ヘッダーが表示され、その後、あなたのIPが表示されます(と私はそれをぼかして申し訳ありませんが、それがどこにあるかを示しているだけ! ):

他の回答は明らかにここでは動作しますが、私はサードパーティのプログラムなしで、どのWindowsでも使用できるものについての質問を維持しようとしています!

Windows Vista以上では、Programs and featuresを通して簡単に(そして安全に)telnetをインストールすることができます、または、次のコマンドを使用してください:

GET
3
3
3
2013-12-05 15:40:30 +0000

試してみてください: 外部ソフトウェアのインストールは必要ありません。

2
2
2
2014-11-28 11:40:53 +0000

ifcfg.me ](http://ifcfg.me) を使用することができます。

1
1
1
2015-10-07 22:09:34 +0000

私は、サードパーティのツールをインストールすることなく、Windowsで動作するソリューションが欲しいと思っていました。そこで、私は1時間ごとにスクリプトを実行する必要がありますpowershellオプションを取りました。

あなたはメモ帳

$wc = new-object System.Net.WebClient
$ip = $wc.DownloadString("http://myexternalip.com/raw")
$LogTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss"
Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt $LogTime
Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt "`n"
Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt $ip
Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt "`n"

でこのスクリプトを作成し、それをどこかにgetIP.ps1として保存します。このスクリプトを powershell で直接呼び出すか、私がしたようにタスクプランナーを使用することができます。これは実行のための命令である:

powershell -executionpolicy bypass -File C:\Users\Administrator\Desktop\getIP.ps1

タスクスケジューラで新しい仕事を作成する。Triggerではdaily for every 1 dayの設定を使い、advanced optionではevery hour for the duration of immediatelyを選択しています。また、設定の「スケジュールされた開始が失敗した後、できるだけ早くタスクを実行する」にチェックを入れてください。アクションの下に、上記の実行コードを貼り付けます。今は、スクリプトが1時間ごとに呼び出されるかどうかをテストしています。

1
1
1
2015-03-22 15:25:28 +0000

ここでは、私が考え出したものですが、それはパブリックIPアドレスを取得するために内蔵のコマンドを使用することが可能ですが、インターネットへのアクセス権を持っています

telnet icanhazip.com
telnet myip.gelma.net

&001

0
0
0
2018-11-08 19:54:03 +0000

ルータの外部IPを抽出して返すHTMLを解析できれば、ipchicken.comは見かけのIPアドレスをテキスト形式で返してくれます。別の方法として、見かけの外部IPをFQDNに更新するダイナミックDNSエージェントをインストールして、現在のIP番号を見るためにFQDNでnslookupを行うこともできます。以前はDynDNSのような無料のものもありましたが、今ではほとんどのものが有料のサブスクリプションアカウントを必要としています。