Para la obtención de la lista de direcciones IP asociadas, puede usar netstat comando
netstat -rn
Esto proporciona una larga lista de direcciones IP y no es fácil encontrar el campo requerido. El resultado de la muestra es el siguiente:
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.195.1 UGSc 17 0 en2
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 1 254107 lo0
169.254 link#7 UCS 0 0 en2
192.168.195 link#7 UCS 3 0 en2
192.168.195.1 0:27:22:67:35:ee UHLWIi 22 397 en2 1193
192.168.195.5 127.0.0.1 UHS 0 0 lo0
More result is truncated.......
La dirección IP de la puerta de enlace está en la primera línea; uno con el valor predeterminado en su primera columna.
Para mostrar sólo las líneas seleccionadas de resultado, podemos utilizar comando grep junto con netstat
netstat -rn | grep 'default'
Este filtra el comando y muestra las líneas de resultado que tiene por defecto. En este caso, se puede ver como el resultado siguiente:
default 192.168.195.1 UGSc 14 0 en2
Si usted está interesado en encontrar sólo la dirección IP de la pasarela y nada más puede filtrar aún más el resultado utilizando awk. El comando awk coincide con el patrón en el resultado de entrada y muestra el resultado. Esto puede ser útil cuando usa su resultado directamente en algún programa o trabajo por lotes.
netstat -rn | grep 'default' | awk '{print $2}'
El comando awk dice que partido e imprimir la segunda columna del resultado en el texto. Así pues, el resultado final se ve así:
192.168.195.1
En este caso, netstat muestra todo el resultado, grep sólo selecciona la línea con 'default' en él, y awk coincide aún más el patrón para mostrar la segunda columna en el texto .
De forma similar puede usar la ruta -n obtener el comando predeterminado para obtener el resultado deseado. El comando completo es
route -n get default | grep 'gateway' | awk '{print $2}'
Estos comandos funcionan bien en Linux y en sistemas Unix y MAC OS.
¿Migrar a SuperUser? – JMD