
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.