
다중 인터페이스에 있을 때 라우터의 주소가 무엇인지 어떻게 알 수 있습니까? 나는 netstat -rn을 사용함으로써 라우터의 주소인 지배적인 인터페이스의 게이트웨이를 가질 수 있다는 것을 알고 있습니다. 하지만 다른 인터페이스는 어떻습니까?
내 경우에는 다른 라우터의 eth0과 wlan0에 있고 OS는 eth0을 기본값으로 선택하지만 인터페이스의 라우터 주소를 쿼리할 수 있는 보편적인 방법이 있습니까?
$ 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)
답변1
완전한 해결책은 아니지만 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
답변2
인터넷에 연결하는 데 사용되는 첫 번째 Hopan 인터페이스를 찾으려면 다음을 수행하세요.
ping -I <interface or ip of interface> -t 1 8.8.8.8
-t 1 - 패킷을 ttl 1로 제한합니다. 즉, 패킷이 첫 번째 라우터에 의해 종료되고 통과를 시도한다는 의미입니다. 해당 라우터는 해당 패킷을 생성한 장치의 IP 주소를 표시하는 "Time to Live(Time to Live) 초과" 패킷을 반환합니다.
From 192.168.0.254 icmp_seq=1 Time to live exceeded
Windows에서는 명령이 약간 다릅니다.
ping -S <ip address of interface> -i 1 8.8.8.8
-i 1은 Windows에서 ttl을 1로 제한하는 옵션입니다. 응답은 다음과 같습니다.
Reply from 192.168.0.254: TTL expired in transit.
-t/-i 이후에 숫자를 늘리면 패킷이 통과하는 n번째 홉을 얻게 됩니다. 이 기술은 Tracert가 없고 패킷이 사용할 경로를 알아야 하는 경우에 사용할 수 있습니다.
인터넷에서 패킷이 취하는 경로와 일부 LAN은 패킷이 전송될 때마다 변경될 수 있습니다.