Get IP Address from Command Line

By  on  

Over the past few years I've needed to look up my IP address a dozen times.  What's funny is that I don't recall why I needed it, I just did.  So what's the easiest way to get my IP address from the command line?

To get your internal IP, you can do the following:

ipconfig getifaddr en0

I go through ipecho.net to get it:

curl ipecho.net/plain ; echo

#  >> 71.87.32.78

Why go through an external resource?  Your local address and your external address aren't the same, so using the external resource is the best way to tell what the world is seeing your IP address as.

Recent Features

  • By
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    fetch API

    One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for.  We've done well to create elegant APIs around XHR but we know we can do better.  Our effort to...

Incredible Demos

  • By
    HTML5 Placeholder Styling with CSS

    Last week I showed you how you could style selected text with CSS. I've searched for more interesting CSS style properties and found another: INPUT placeholder styling. Let me show you how to style placeholder text within INPUTelements with some unique CSS code. The CSS Firefox...

  • By
    MooTools ContextMenu Plugin

    ContextMenu is a highly customizable, compact context menu script written with CSS, XHTML, and the MooTools JavaScript framework. ContextMenu allows you to offer stylish, functional context menus on your website. The XHTML Menu Use a list of menu items with one link per item. The...

Discussion

  1. ifconfig | grep mask
    
  2. ElanMan

    I prefer the slightly simpler/easier to remember

    curl ifconfig.me
    
  3. nedt

    ipinfo.io can give you even more information and is easier to use via tunneling as it works without a host header.

  4. MaxArt

    Windows users can use ipconfig (notice the ‘p’).

  5. Your internal IP also depends on interface you’re using, in your case (en0) it was ethernet, but it also can be WiFi (en1).

  6. ip route get 8.8.8.8 | awk 'NR==1 {print $NF}'
  7. Some time ago I started using an alternative which only uses DNS queries:

    dig +short myip.opendns.com @resolver1.opendns.com
  8. Google > “My IP” = Winner!

  9. $ curl ipinfo.io
    {
      "ip": "174.47.27.98",
      "hostname": "174-47-27-98.static.twtelecom.net",
      "city": "Orange",
      "region": "California",
      "country": "US",
      "loc": "33.7878,-117.8531",
      "org": "AS4323 tw telecom holdings, inc.",
      "postal": "92666"
    }
    
    $ curl ipinfo.io/ip
    69.170.45.10
    
    $ curl ipinfo.io/org
    AS4323 tw telecom holdings, inc.
    

    See http://ipinfo.io/developers for more details

  10. I just search Google for “what is my ip” like a n00b.

  11. I prefer:

    alias publicip='curl ipecho.net/plain ; echo'
    alias localip="ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'"
  12. hahaha, i just think to google it :D, but thanks dude, sometimes need to apply to my terminal command

  13. It is ugly. But the Google lovers will enjoy.

    Prerequisite: curl, and grep.

    curl -s "https://www.google.ie/search?client=firefox-b&q=myip&oq=myip&gs_l" | grep "Client IP address" | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"
    

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!