본문 바로가기

Network

패킷분해 #2 Ethernet Trailer

최근, Ethernet Trailer에 특정 데이터를 담아 보내는 악성코드가 있다는 사실을 알게 되어 이에 대해 조사를 해 보았다. 일단 Ethernet Trailer는 익숙하지 않다. 대부분 우리가 네트워크상에서 데이터를 다룰때 HTTP프로토콜이나 TCP/UDP 세그먼트, 패킷을 이용한다. 조금은 낯설지만 만약, 

Ethernet Trailer에 데이터를 담아 보내면 제대로 전달 될 수 있을까? 

결론은 No, 하지만 설정에 따라 가능성은 있다.

 일단 Ethernet 에 대한 기본 개념먼저 알아봐야겠다. 이전 포스팅에서 패킷의 크기 를 알아보면서 살짝 패킷의 전체 구조에 대해서 살펴 보았다. 이번에는 링크계층에 속하는 Ethernet을 기준으로 프레임구조와 이더넷 Encapsulation, Ethernet Trailer 를 살펴 보고자 한다 :)

링크 계층의 Ethernet과 IEEE 802 Encapsulation  을 그림을 통해 간단히 살펴보자

앞 12바이트의 목적지 MAC 주소와 출발지 MAC주소, 맨 끝에 붙는 CRC를 제외하면 다소 차이가 있는것으로 보인다. 현재는 Ethernet 망의 표준방식으로  IEEE 802.3 CSMA/CD을 채택하고 있다. 

Trailer Encapsulation에 대해서는 1984년 이더넷에서 사용하는 캡슐화의 다른형태로 트레일러 캡슐화라고 하였다고 한다. 하지만 이 부분은 현재는 지원하지 않는다. 과거 BSD초기 계열에서 IP 데이터그램에서 필드를 재정렬하는데 성능을 향상시키기 위해 사용되었다고 한다. 

 즉 트레일러에 데이터를 넣어 우리에게 도달한 패킷을 보면 데이터의 크기만큼 00으로 채워져 있는것을 볼 수 있다. 시스코 관련 포럼에서는 이 문제와 관련하여 이더넷 트레일러는 CRC 값과 함께 라우터끼리 주고받는 일종의 별칭같은것으로 이용된다고 한다. 또한 셋팅에 따라서 이 데이터값을 읽는데 기본적으로는 비활성화되어있어서 버려진다.

※ 참고 : 이더넷 역사 http://cs.epnetworks.co.kr/letslearn/net/5_1.html