본문 바로가기

IT인생_스크랩/Network

이더리얼을 활용한 패킷분석 1.탄생배경과 특징

출처 오공의 블로그 | 오공
원문 http://blog.naver.com/castlerock/60008139815




*ethereal이라는 공개프로그램에 대한 사용방법을 배워보고자 합니다.
패킷을 캡처할때 대표적으로 쓰는 tool은 많이 있읍니다. tcpdump(리눅스), snoop(유닉스),
상용프로그램인 sniffer 등 많이 있지만 ethereal은 윈도우 운영체제하에서 사용할 수 있는 대표적인 공개 프로그램입니다. 또한 인터넷등에 ethereal사용자 그룹이 많아져서 쉽게 도움을 받을 수 있을 만큼 널리 퍼져있다는 것이 매력입니다.그래서 공개tool중에서 가장 많이 쓰인다고 생각되는 ethereal부터 올려볼까 합니다.
다만 여기 소개되는 여러tool의 사용방법을 뭐하러 다보려고 해야지 하시는 의문이 드시는 분들을 위해서 말하고 싶은게 있는데 tool을 사용하다 보면 그 tool이 그 tool입니다.
혹여 사용방법을 잊어버린다면 제 blog에 잠깐 들려서 훑어보시는 것도 그때 그때 방법이 될것 같아서 생각을 하였읍니다.
 
아래글은 김진규라는분이 onthenet에 연재한 ethereal의 사용법에 대한 글입니다. 글 내용이 좋아서 베낀겁니다. 글을 함부로 베껴서 죄송합니다.

 

이더리얼 을 활용한 패킷 분석

이더리 얼의 탄생배경과 특징

이더리얼은 하루가 다르게 새로운 기술이 추가되고 있는 네트워크와 보안 분야의 변화를 그대로 반영하면서 꾸준히 발전하고 있다. 어떤 기술이나 프로그램이라도 그것이 만들어진 것은 그 나름대로의 필요에 의한 것이며, 그것으로 인해 일련의 특징을 지니게 된다. 때문에 기술이나 프로그램을 보다 잘 알기 위해서는 탄생 배경을 이해하는 것도 도움이 될 것이다. 이번 시간에는 이더리얼에 대한 보다 깊은 이해를 위해 탄생 배경과 그에 따른 이더리얼의 특징을 살펴보고자 한다.

이더리얼의 정식 매뉴얼은 0.8.19 버전을 기준으로 작성돼 있지만, 이 번 강좌에서는 해당 매뉴얼보다 최신 기능에 대한 설명을 더 많이 하고 있다. 이는 이더리얼이 보다 더 많은 기능들을 빠른 속도로 추가해 가고 있으며, 지속적으로 업데이트가 이뤄지고 있다는 증거이다.
현재 이더리얼은 이더리얼 팀(Ethereal team)에 의해 만들어지고 있으며, 계 속적인 업데이트가 이뤄지고 있다. 하지만 최초의 이더리얼은 지금 활동하고 있는 이더리얼팀이 아니라 제럴드 콤스(Gerald Combs)라는 사람에 의해 개발됐다.

 

'모든 것은 필요에 의해 시작된다'
1997
년 제럴드 콤스는 네트워크에 관련된 일을 하다가 발생되는 여러 가지 네트워크 문제들의 근본적인 원인을 추적하며, 또 네트워크에 대해서 보다 깊이 배워나가기 위해서 자신만의 도구가 필요함을 느꼈다. 그는 이 같은 두 가지 요구사항을 모두 만족시킬 수 있는 도구로서 이더리얼을 만들기 시작했다. 개발 과정에서 몇 번이나 중단하기도 했지만 결국 1998 7월 에 이더리얼 0.2.0 버전을 배포하기에 이른다. 첫 버전의 배포 후 곧바로 패치와 버그 리포트 그리고 격려의 말들이 쏟아졌고, 이로서 이더리얼은 그 성공적인 데뷔를 하게 된 것이다.

 

이후 길버트 라미레츠(Gilbert Ramirez)는 이더리얼의 잠재적인 능력을 간파, 초기버전에서 다루지 못했던 하위계층(Low-Level)의 분석에 대한 많은 부분들을 개선하게 된다. 1998 10 NetApp의 가이 해리스(Guy Haris) TCPview 보다 나은 분석 툴을 찾다가 이더리얼을 만나게 됐으며, 이후 이더리얼에 패치를 적용하고, 많은 분석기능들을 추가했다.

 

이와 같은 초기의 선구자적인 멤버들에 의해 이더리얼은 발전을 거듭했으며, 이후 수많은 사람들에 의해서 오랫동안(1998년부터 2004년 현재까지 약 9년간) 지속적으로 개선이 이뤄지고 있다. 그리고 현재는 공식적으로 이더리얼 팀에 의해 수정과 배포가 이뤄지고 있다.

 

공개 소스 정책으로 다양한 플랫폼 지원 가능
이렇게 오랫동안 많은 사람들의 손을 거치면서 수정된 이더리얼은 발전 과정에서 그 어느 것도 따라올 수 없는 범용성을 확보했다. 이런 범용성은 필자가 연재하는데 주로 사용하는 윈도우용 이더리얼을 비롯해서 수많은 플랫폼에서 동작할 수 있는 기반이 된 것이다현 재 이더리얼은 다음과 같은 다양한 플랫폼을 지원한다.

 

·AIX
·Tru64
유닉스(구 디지털 UNIX)
·Debian GNU/
리눅스
·Slackware
리눅스
·
레드햇 리눅스
·FreeBSD
·NetBSD
·OpenBSD
·HP/UX
·Sparc/Solaris 8
·
윈도우 2000, 윈도우 NT, 윈도우 Me/98/95

 

Ethereal Version  GTK+/GLIB version
----------------  -----------------
0.8.16 and after  20001226
0.8.11 - 0.8.15  20000805
0.8.9 - 0.8.10   20000416
0.8.8 and before  19990828

 

지원하는 프로토콜과 프로그램
이더리얼이 지원하는 프로토콜은 0.10.0 버전에서 현재 483개이며, 이더리얼의 메뉴 중 하나인 [Help>Supported Protocols]에서 확인할 수 있다.


 

(화면 3)에서 지원하는 프로토콜을 살펴보면 최신의 프로토콜이 많이 지원되고 있는 것을 확인할 수 있다. 대표적으로 네트워크 장비와 기술에 있어서 업계표준이라고 할 수 있는 시스코 관련 프로토콜은 다음과 같다.

 
Cisco Auto-RP (auto_rp)
Cisco Discovery Protocol (cdp)
Cisco Group Management Protocol (cgmp)
Cisco HDLC (chdlc)
Cisco Hot Standby Router Protocol (hsrp)
Cisco ISL (isl)
Cisco Interior Gateway Routing Protocol (igrp)
Cisco NetFlow (cflow)
Cisco SLARP (slarp)

 

또한 대표적인 P2P 관련 프로토콜인 당나귀(eDONKEY) 프로토콜도 지원한다. 이 밖에 신규로 지원되는 프로토콜들이 추가될 때마다 홈페이지(www.ethereal.com/news)에 해당 사항이 업데이트된다.