Search code examples
macosroutesnetstatifconfig

How to get default gateway in Mac OSX


I need to retrieve the default gateway on a Mac machine. I know that in Linux route -n will give an output from which I can easily retrieve this information. However this is not working in Mac OSX(Snow Leopard).

I also tried netstat -nr | grep 'default', but I was hoping for a cleaner output like that produced by route -n in Linux/Unix. netstat -nr lists all the interfaces and the default gateway for them.

Any kind of suggestion or a hint in the right direction will be appreciated.


Solution

  • You can try with:

    route -n get default
    

    It is not the same as GNU/Linux's route -n (or even ip route show) but is useful for checking the default route information. Also, you can check the route that packages will take to a particular host. E.g.

    route -n get www.yahoo.com
    

    The output would be similar to:

       route to: 98.137.149.56
    destination: default
           mask: 128.0.0.0
        gateway: 5.5.0.1
      interface: tun0
          flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
     recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
           0         0         0         0         0         0      1500         0
    

    IMHO netstat -nr is what you need. Even MacOSX's Network utility app(*) uses the output of netstat to show routing information. Network utility screenshot displaying routing table information

    (*) You can start Network utility with open /Applications/Utilities/Network\ Utility.app