Para obtener la lista de direcciones IP asociadas, puede usar el comando netstat
netstat -rn
Esto da una lista larga 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 solo las líneas seleccionadas de resultado, podemos usar el comando grep junto con netstat
netstat -rn | grep 'default'
Este comando filtra y muestra las líneas de resultado que tienen valores predeterminados. En este caso, puede ver un resultado como el siguiente:
default 192.168.195.1 UGSc 14 0 en2
Si está interesado en encontrar solo la dirección IP de la puerta de enlace y nada más, puede filtrar 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 está utilizando su resultado directamente en algún programa o trabajo por lotes.
netstat -rn | grep 'default' | awk '{print $2}'
El comando awk dice que coincida e imprima la segunda columna del resultado en el texto. Por tanto, el resultado final se ve así:
192.168.195.1
En este caso, netstat muestra todos los resultados, grep solo selecciona la línea con 'default' y awk coincide con el patrón para mostrar la segunda columna en el texto.
De manera similar, puede usar el comando route -n get default para obtener el resultado requerido. El comando completo es
route -n get default | grep 'gateway' | awk '{print $2}'
Estos comandos funcionan bien en Linux, así como en sistemas Unix y MAC OS.