두 개의 이더넷 인터페이스가 동일한 LAN에 있는지 어떻게 알 수 있습니까?

두 개의 이더넷 인터페이스가 동일한 LAN에 있는지 어떻게 알 수 있습니까?

본딩된 인터페이스를 설정하여 Linux 서버에서 인터페이스를 보호해야 합니다. 배선 정보가 정확하지 않습니다.

두 인터페이스가 동일한 LAN에 연결되어 있는지 쉽게 알 수 있는 방법이 있습니까?

일부 인터페이스에는 IP가 없으므로 가능하면 가상 IP를 설정하지 않는 것이 좋습니다.


마침내 사용을 마쳤고 arping서버에 설치되었습니다.

ifconfig eth2 up 
ifconfig ethO up 
tcpdump -i eth2 -c 3 arp net 10.10.10.10

다른 터미널에서:

arping -D -I eth0 10.10.10.10

tcpdump다음과 같은 줄이 표시되어야 합니다.

16:15:43.032103 arp who-has 10.10.10.10 (Broadcast) tell 0.0.0.0
16:15:44.032277 arp who-has 10.10.10.10 (Broadcast) tell 0.0.0.0
16:15:45.032441 arp who-has 10.10.10.10 (Broadcast) tell 0.0.0.0

* -D는 선택 사항이지만 멋진 0.0.0.0 소스 주소를 제공합니다.

답변1

인터페이스가 eth0 및 eth1이라고 가정하는 몇 가지 아이디어는 다음과 같습니다.

  • 두 인터페이스 모두에서 동시에 비유니캐스트 트래픽을 스니핑합니다. 모든 패킷을 두 번 보아야 합니다.

    ( tcpdump -nni eth0 -c 10 broadcast or multicast & tcpdump -nni eth1 -c 10 broadcast or multicast & ) | sort
    
  • IP-free 프로토콜을 사용하여 프로브.

    예를 들어, 이 도구를 사용하여 DHCP 요청을 생성합니다. http://www.latinsud.com/pub/dhd/dhd.c

    ( sleep 1; ./dhd eth1 > /dev/null ) & tcpdump -nni eth0 udp and port 68
    

    다음과 같은 내용이 표시됩니다.

    14:46:16.449738 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:50:56:99:76:cb, length 300
    14:46:16.650330 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:50:56:99:76:cb, length 300
    

관련 정보