tcpdump를 사용하여 VLAN 패킷 식별

tcpdump를 사용하여 VLAN 패킷 식별

내 호스트가 수신하거나 다른 호스트로 보내는 VLAN 태그가 지정된 패킷을 파악하려고 합니다. 나는 노력했다

tcpdump -i eth1 vlan 0x0070

그러나 그것은 작동하지 않았습니다. 이전에 tcpdump를 통해 VLAN 패킷을 보려고 시도한 사람이 있습니까? 웹 검색으로는 많은 도움을 찾을 수 없었습니다!

답변1

호스트가 액세스 포트에 연결된 경우 스위치는 호스트에 도달하기 전에 VLAN 태그를 제거할 가능성이 높습니다. 결과적으로 문제의 호스트에서 TCPDump를 실행하면 VLAN 태그가 표시되지 않습니다.

네트워크 덤프/추적에서 태그를 확인하려면 태그가 패킷에서 삭제되기 전에 SPAN 포트를 설정하거나 네트워크 어딘가에 네트워크 탭을 도입하여 트래픽을 잡아야 합니다.

답변2

실제로 Linux를 사용하여 802.1q(VLAN 태깅)을 "디코딩"할 수 있습니다. Linux를 "스틱 위의 라우터"로 효과적으로 전환하고 단일 이더넷 포트를 사용하여 고급 cisco 레이어 2 스위치(Vlan이 많이 있음)에서 VLAN 간에 라우팅할 수 있습니다.

메인 이더넷에는 VLAN ID에 해당하는 "하위 인터페이스"가 있습니다. 그런 다음 하위 인터페이스를 개별적으로 라우팅하고 iptables(방화벽)할 수 있습니다.

이것은 경계 Linux 방화벽을 isp에 연결하고 그 뒤에 10개의 VLAN을 연결하는 쉬운 방법이지만 단일 이더넷 인터페이스만 사용합니다.

dot q는 표준입니다. cisco가 표준이라고 생각하더라도 표준이므로 Linux에서 훌륭하게 실행됩니다.

편집: 이것을 활성화하려면

모드 프로브 8021q

그런 다음 tcpdump를 실행하여 하위 인터페이스를 수신할 수 있습니다.

답변3

솔직히 말해서 잘못된 도구를 사용하고 있다고 생각합니다. tcpdump는 IP(L3)에 더 많이 연결되어 있는 반면 VLAN은 L2의 기능입니다. 대신에 Wireshark를 사용해 보세요.

관련 정보