
¿Cómo puedo saber cuál es la dirección del enrutador cuando estoy en una interfaz múltiple? Sé que al usar netstat -rn puedo tener la puerta de enlace de la interfaz dominante, que es la dirección del enrutador. Pero ¿qué pasa con otra interfaz?
En mi caso, estoy en eth0 y wlan0 en un enrutador diferente, el sistema operativo elige eth0 como predeterminado, pero ¿existe alguna forma universal de consultar la dirección del enrutador de una interfaz?
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
$ ifconfig
eth0 Link encap:Ethernet HWaddr b4:b5:2f:32:f3:22
inet addr:192.168.1.132 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::b6b5:2fff:fe32:f322/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3035 (3.0 KB) TX bytes:9857 (9.8 KB)
Interrupt:17 Memory:d4400000-d4420000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:569 errors:0 dropped:0 overruns:0 frame:0
TX packets:569 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:53950 (53.9 KB) TX bytes:53950 (53.9 KB)
wlan0 Link encap:Ethernet HWaddr 60:67:20:00:56:6c
inet addr:192.168.2.115 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::6267:20ff:fe00:566c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8152 errors:0 dropped:0 overruns:0 frame:0
TX packets:4030 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6316155 (6.3 MB) TX bytes:574275 (574.2 KB)
Respuesta1
No es una solución completa, pero lo compruebas arp -n
.
ddd@mmm ~ $ arp -n
Address HWtype HWaddress Flags Mask Iface
xxx.xxx.xxx.xxx ether 00:e0:1e:b4:12:42 C eth0
yyy.yyy.yyy.yyy ether 00:14:78:52:28:d2 C wlan0
Respuesta2
Para encontrar la primera interfaz hopan que se utiliza para acceder a Internet:
ping -I <interface or ip of interface> -t 1 8.8.8.8
-t 1: limita el paquete a ttl de 1, lo que significa que el paquete será eliminado por el primer enrutador que intenta pasar. Ese enrutador devolverá un paquete "Tiempo de vida excedido", que muestra la dirección IP del dispositivo que generó ese paquete.
From 192.168.0.254 icmp_seq=1 Time to live exceeded
En Windows el comando es ligeramente diferente:
ping -S <ip address of interface> -i 1 8.8.8.8
-i 1 es la opción para limitar el ttl a 1 en Windows, la respuesta será:
Reply from 192.168.0.254: TTL expired in transit.
Si aumenta el número después de -t/-i, obtendrá el enésimo salto por el que pasa el paquete. Esta técnica se puede utilizar si no tiene tracert y necesita saber la ruta que tomará un paquete.
Tenga en cuenta que la ruta que toma un paquete en Internet y en algunas LAN puede cambiar cada vez que se envía un paquete.