There are many ways to learn the location of a computer from its IP address, but how do you go about it if you decide to use the command line to find the information? Today’s SuperUser Q&A post has some helpful suggestions to help a reader find the information he wants.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
Screenshot courtesy of Paul Fenwick (Flickr).
SuperUser reader AlikElzin-kilaka wants to know how to find a computer’s IP address location using the command line:
How do I find a computer’s internet (IP address) location using the command line? Would I use curl or wget, for example?
How do you find a computer’s IP address location using the command line?
SuperUser contributors AlikElzin-kilaka and Ben N have the answer for us. First up, AlikElzin-kilaka:
There is a service (IPInfo) that can provide the results. You can invoke it using curl, for example:
- curl ipinfo.io
A specific IP’s info can also be requested:
- curl ipinfo.io/18.104.22.168
Followed by the answer from Ben N:
Since the question does not specify an operating system, this is how to get that same information with PowerShell’s curl (actually an alias of Invoke-WebRequest):
- (curl ipinfo.io).Content
Which produces a JSON string. To get the object that the JSON represents, use ConvertFrom-Json:
- curl ipinfo.io | ConvertFrom-Json
Since that is a PowerShell object, you can easily get specific fields from it. For example, this command gets just the external IP address as a string:
- (curl ipinfo.io | ConvertFrom-Json).ip
Note that the geographical information from this service is not super accurate, but it did locate me within 20 miles or so of my actual location and the ISP information seems to be reliable.
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.