プロキシアプリケーション(PsiphonやProtonVPNなど)を使用してインターネットに接続しています。インターネットに接続しているIPアドレスを取得したい。
後でAutohotkeyでIPアドレスを使用したいので、CMDまたはPowerShellを使用する必要があります。
今、私はこれを行う方法を非常に長い間探していましたが、それは不可能であるという結論に達しました。しかし、何かが足りない可能性があるため、この質問をすることにしました。また、回避策やアプリケーションも評価されます。
これが私がこれまでに試したことです:
CMD:
for /F "tokens=2" %i in ('"nslookup myip.opendns.com resolver1.opendns.com | find /i "address" | find /v "208.67.222.222""') do echo %i
このコマンドは私の実際のIPアドレスを出力しますが、プロキシを経由しません。
そして、それが機能しない理由は、これです: Windows、管理者ではありません:プロキシはFirefoxで機能しますが、cmdでは機能しません、なぜですか?
したがって、上記の質問に対する答えは、TCP接続がプロキシされると主張しているので、これを見つけました:
パワーシェル:
Resolve-DnsName -Name myip.opendns.com -Server resolver1.opendns.com -TcpOnly
しかし、これも機能しません。
次のPowerShellコマンドを使用して、RESTfulWebサービスを使用してHTTP経由でパブリックIPを取得できます。
Invoke-RestMethod http://ipinfo.io/json | Select -exp ip
ルーティングテーブルの構成などによっては、この方法が機能しない場合があります。
この場合、私はそれがあなたを助けてくれてうれしいです。
Windows 10ビルドが17063以降の場合は、cUrl.exe
を使用しても機能します。 C:\windows\system32\cUrl.exe
$_pub_ip=curl ipecho.net/plain | sls [0-9]
$_pub_ip=curl icanhazip.com | sls [0-9]
$_pub_ip=curl ifconfig.me | sls [0-9]
$_pub_ip=curl ifconfig.co | sls [0-9]
rem :: For proxy
$_pub_ip=curl -x [your_ip_local |or| 127.0.0.1]:[door] http://ipecho.net/plain | sls [0-9]
$_pub_ip=curl -x [your_ip_local |or| 127.0.0.1]:[door] http://ipecho.net/plain | sls [0-9]
$_pub_ip=curl -x [your_ip_local |or| 127.0.0.1]:[door] http://icanhazip.com | sls [0-9]
$_pub_ip=curl -x [your_ip_local |or| 127.0.0.1]:[door] http://ifconfig.me | sls [0-9]
$_pub_ip=curl -x [your_ip_local |or| 127.0.0.1]:[door] http://ifconfig.co | sls [0-9]
rem :: in command line ::
@for /f tokens^=* %i in ('curl ipecho.net/plain -B -s')do @set "_pub_ip=%~i" && @call echo\%_pub_ip%
rem :: in bat/cmd file ::
@for /f tokens^=* %%i in ('curl ipecho.net/plain -B -s')do @set "_pub_ip=%%~i" && @call echo\%_pub_ip%
:: in command line ::
@for /f tokens^=* %i in ('curl -x [your_ip_local |or| 127.0.0.1]:[door] http://ipecho.net/plain -B -s')do @set "_pub_ip=%~i" && call echo\%_pub_ip%
:: in cmd/bat file ::
@for /f tokens^=* %%i in ('curl -x [your_ip_local |or| 127.0.0.1]:[door] http://ipecho.net/plain -B -s')do @set "_pub_ip=%%~i" && call echo\%_pub_ip%
[√]ソース