Universelle Möglichkeit, die Adresse des Routers herauszufinden

Universelle Möglichkeit, die Adresse des Routers herauszufinden

Wie kann ich die Adresse des Routers herausfinden, wenn ich mehrere Schnittstellen verwende? Ich weiß, dass ich mit netstat -rn das Gateway der dominanten Schnittstelle erreichen kann, also die Adresse des Routers. Aber was ist mit anderen Schnittstellen?

In meinem Fall bin ich auf eth0 und wlan0 auf unterschiedlichen Routern, das Betriebssystem wählt eth0 als Standard, aber gibt es eine universelle Möglichkeit, die Routeradresse einer Schnittstelle abzufragen?

$ 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)

Antwort1

Ist zwar keine Komplettlösung, aber checkst du 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

Antwort2

So finden Sie die erste Hopan-Schnittstelle für den Internetzugang:

ping -I <interface or ip of interface> -t 1 8.8.8.8

-t 1 – begrenzt das Paket auf TTL 1, was bedeutet, dass das Paket vom ersten Router, den es zu durchlaufen versucht, gelöscht wird. Dieser Router gibt ein Paket mit der Meldung „Time to Live überschritten“ zurück, das die IP-Adresse des Geräts anzeigt, das dieses Paket generiert hat.

From 192.168.0.254 icmp_seq=1 Time to live exceeded

Unter Windows ist der Befehl etwas anders:

ping -S <ip address of interface> -i 1 8.8.8.8

-i 1 ist die Option, um den TTL unter Windows auf 1 zu begrenzen. Die Antwort lautet:

Reply from 192.168.0.254: TTL expired in transit.

Wenn Sie die Zahl nach -t/-i erhöhen, erhalten Sie den n-ten Hop, den das Paket durchläuft. Diese Technik kann verwendet werden, wenn Sie kein Tracert haben und den Pfad kennen müssen, den ein Paket nimmt.

Bitte beachten Sie, dass sich die Route, die ein Paket durch das Internet und einige LANs nimmt, bei jedem Senden eines Pakets ändern kann.

verwandte Informationen