How to Obtain Public Ip Address Using Windows Command Prompt?

Any way of doing this through the command prompt without using any third party software or relying on powershell?

A simple command would be great like on Linux/Mac which I use curl for.

Thanks!

9 Answers

Use the Invoke-WebRequest module in powershell. For example:

Invoke-WebRequest 

Source

Edit: I misread the question and thought you needed to use Powrshell.

There is no built in command in cmd.exe to return a public IP address. But you can use nslookup to resolve it, like so;

nslookup myip.opendns.com. resolver1.opendns.com

Another option for the OP:

telnet curlmyip.com 80

Type "GET" after you are connected.

Note: telnet is not installed/enabled by default on Windows.

Source

5

Simplest way & Cross platform solution (Mac, Windows, and Linux)

curl ""

& You Will get public IPV4.

1

you can use these commands in both Windows and Linux

curl ifconfig.me

Curl is something that is built-in Windows when you upgrade to the latest version, so it's not called a third-party software.

or

curl ifconfig.co

In Linux, almost Distros have this command already.

Thanks so much ArthurG for your commands. It works perfectly and can be used for Batch script in many ways.

Try this for normal dos batch

@echo off
nslookup myip.opendns.com resolver1.opendns.com | find "Address" >"%temp%\test1.txt"
more +1 "%temp%\test1.txt" >"%temp%\test2.txt"
set /p MyIP=<%temp%\test2.txt
del %temp%\test2.txt
set MyIP=%MyIP:~10%
echo %MyIP%

Now, %MyIP% will can be echo or used as a variable for additional batch use.

0

This command works for me:

nslookup myip.opendns.com. resolver1.opendns.com
0
curl ip-adresim.app

It supports both IPv4 and IPv6.

Windows/Linux version:

nslookup myip.opendns.com resolver1.opendns.com

Unix version:

dig +short myip.opendns.com @resolver1.opendns.com
2

This works perfectly for me:

curl  > ip.json
for /f "tokens=2 delims=:" %%a in ('type ip.json') do (set publicip=%%a)
set publicip=%publicip:{=%
set publicip=%publicip:}=%
set publicip=%publicip:"=%
echo %publicip:~1%

Oneliner, no curl or powershell, just bare CMD, raw ip for IP4

FOR /f "skip=1 tokens=2 delims=:\ " %G IN ('nslookup myip.opendns.com resolver1.opendns.com 2^>^&1 ^|find "dress"') DO @echo %G

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.

Share this article
Twitter Facebook Pinterest