티스토리 뷰

1. Ethereal이란 무엇인가?

Ethereal은 네트워크 패킷 분석기이다. 네트워크 패킷 분석기는 네트워크 패킷들을 캡쳐하려고 시도할 것이고, 그 패킷 데이터를 가능한한 자세히 드러내려고 시도할 것이다.


당신은 네트워크 패킷 분석기를 네트워크 케이블안으로 무엇이 지나가는지를 시험하는데 사용되는 측정 장비로써 생각할 것이다.(그러나, 당연히 그보다는 높은 레벨이다.)


과거에는, 그러한 툴들이 매우 비싸거나 독점적이었거나 두 가지다에 해당했었다. 그러나, Ethereal의 출현과 함께, 모든 것이 변했다.


아마도 Ethereal은 오늘날 사용할 수 있는 최고의 오픈 소스 패킷 분서기들중의 한개일 것이다.


1.1. 일부 의도된 목적들

여기에는 사람들이 무엇을 위하여 Ethereal을 사용하는지에 대한 몇 가지 예제들이 있다.


ㅇ 네트워크 관리자들은 네트워크 문제들을 해결하기 위해서 이것을 사용한다.

ㅇ 네트워크 보안 엔지니어들은 보안 문제들을 시험하기 위해서 이것을 사용한다.

ㅇ 개발자들은 프로토콜 구현들을 디버그하기 위해서 이것을 사용한다.

ㅇ 사람들은 네트워크 프로토콜 내부 구조를 배우기 위해서 이것을 사용한다.


이러한 예제들을 제외하더라도, Ethereal은 많은 다른 상황들에서도 역시 유용하다.


1.2. 특성들

아래는 Ethereal이 제공하는 많은 특성들중의 일부이다.


ㅇ 유닉스와 윈도우에 대해서 사용 가능하다.

ㅇ 네트워크 인터페이스로부터 활동중인 패킷 데이터를 캡쳐한다.

ㅇ 매우 상세한 프로토콜 정보를 가지고 패킷들을 표현한다.

ㅇ 캡쳐된 패킷 데이터를 열고 저장한다.

ㅇ 많은 다른 캡쳐 프로그램들로부터 패킷 데이터를 임포트하고, 그 프로그램들에게 익스포트 한

    다.

ㅇ 많은 기준에 대해서 패킷을 필터링한다.

ㅇ 필터들에 근거한 패킷 표현을 칼라화한다.

ㅇ 다양한 통계를 생성한다.

ㅇ 그리고, 더 많은 것들이 있다.


그러나, 실제로 이것의 파워를 평가하기 위해서, 당신은 이것을 사용하는 것을 시작해야 한다.


그림 1.1 "Ethereal이 패킷들을 캡쳐하고 당신이 그 패킷들의 내용을 조사하는 것을 허락한다."는 Ethereal이 일부 패킷들을 캡쳐하는 것과 당신이 그것들을 조사하는 것을 기다리는 것을 보여준다.


그림 1.1 Ethereal이 패킷들을 캡쳐하고 당신이 그 패킷들의 내용을 조사하는 것을 허락한다.

사용자 삽입 이미지


1.3. 많은 다른 네트워크 매체로부터 라이브 캡쳐

이것의 이름에도 불구하고, Ethereal은 이더넷과 다른 네트워크 매체로부터 트래픽을 캡쳐할 수 있다. 어떤 매체 타입들이 지원되는지는 당신이 사용하는 운영 시스템과 같은 많은 것들에 의해서 결정된다. 지원되는 매체 타입들에 대한 개요는 http://www.ethereal.com/medial.html에서 찾을 수 있다.


1.4. 많은 다른 캠쳐 프로그램들로부터의 임포트 파일들

Ethereal은 많은 다른 캡쳐 프로그램들로부터 캡쳐된 패킷들을 열 수 있다. 입력 포맷들의 리스트에 대해서는 5장 2.2. "입력 파일 포맷들"에서 볼 수 있다.


1.5. 많은 다른 캡쳐 프로그램들을 위한 익스포트 파일들

Ethereal은 캡쳐된 패킷들을 다른 캡쳐 프로그램들의 많은 포맷들로 저장할 수 있다. 출력 포맷들의 리스트에 대해서는 5장 3.2. "출력 파일 포맷들"에서 볼 수 있다.


1.6. 많은 프로토콜 디코더들

아주 많은 프로토콜들을 위한 프로토콜 디코더들(또는 Ethereal에서 알려진 해부기구들)이 있다.

부록 B. 프로토콜들과 프로토콜 필드들을 보라.


1.7. 오픈 소스 소프트웨어

Ethereal은 오픈 소스 소프트웨어 프로젝트이고 GNU 일반 공개 라이센스(GPL)하에서 공개된다.


1.8. Ethereal이 아닌 것은 무엇인가?

여기에 몇 개의 Ethereal이 제공하지 않는 것이 있다.


ㅇ Ethereal은 침입 탐지 시스템이 아니다. 이것은 누군가가 당신의 네트워크에 그(그녀)에게 허락되지 않는 이상한 것들을 할 때 당신에게 경고하지 않을 것이다. 그러나, 만약 이상한 것들이 일어나면, Ethereal은 당신이 실제로 무엇이 되어지고 있는지를 알아내는 것을 도와줄 것이다.


ㅇ Etheral은 네트워크상의 것들을 조작하지는 않을 것이고, 단지 네트워크로부터의 것들을 "측정"할 것이다. Ethereal은 네트워크상에 패킷들을 보내지 않거나 다른 실제적인 것들을 할것이다.(이름 분해는 무능력하게 될 수도 있지만, 예외이다.)


2. Ethereal이 작동하는 플랫폼들

Ethereal은 손쉽게 대부분의 유닉스 플랫폼들과 다양한 윈도우 플랫폼들상에서 작동한다. 이것은 작동하기 위해서 GTK+, GLib, libpcap, 일부 다른 라이브러리들이 요구한다.


만약 당신의 플랫폼에 대하여 바이너리 패키지가 이용할 수 없다면, 당신은 그 소스들을 다운로드하고 그것을 바이너리로 만들기 위해서 시도해야 한다. 제발 당신의 경험들을 ethereal-dev[AT]ethereal.com에 보고하라.


바이너리 패키지들은 최소한 아래의 플랫폼들에 대하여 이용할 수 있다.


2.1. 유닉스

ㅇ Apple Mac OS X

ㅇ BeOS

ㅇ FreeBSD

ㅇ HP-UX

ㅇ IBM AIX

ㅇ NetBSD

ㅇ OpenBSD

ㅇ SCO UnixWare/OpenUnix

ㅇ SGI Irix

ㅇ Sum Solaris/Intel

ㅇ Sun Solrais/Sparc

ㅇ Tru64 UNIX(공식적으로는 Digital UNIX)


2.2. 리눅스

ㅇ Debian GNU/Linux

ㅇ Gentoo Linux

ㅇ IBM S/390 Linux(RedHat)

ㅇ Mandrake Linux

ㅇ PLD Linux

ㅇ Red Hat Linux

ㅇ Rock Linux

ㅇ Rock Linux

ㅇ Slackware Linux

ㅇ Suse Linux


2.3. 마이크로소프트 윈도우

ㅇ Windows Me/98/95

ㅇ Windows Server 2003/XP/2000/NT4.0


3. Ethereal을 얻기 위해서는 어디에 가야 하나?

당신은 Ethereal 웹사이트(http://www.ethereal.com/download.html)로부터 프로그램의 최신 복사본을 얻을 수 있다. 웹사이트는 당신이 다룬로드받는 것을 위해서 몇 개의 미러들로부터 선택하는 것을 허락한다.


새로운 Ethereal 버전은 전형적으로 매 4-8 주 이용할 수 있게 된다.


4. 다른 이름으로 불릴지라도 장미

William Shakespeare는 "다른 이름으로 불릴지라도 장미는 향기로울 것이다."라고 썼다. 그리고 사람이 그 이름을 발음하는데 두개의 다른 방법들이 있는 것처럼 보이는 것처럼, Ethereal에서도 마찬가지다.


일부 사람들은 이것을 ether-real이라고 발음하는 반면, 아주 소량의 다른 사람들은 이것을 e-the-real이라고 발음한다.


당신이 이것이 유용하다는 것을 발견만 한다면, 당신은 이것을 당신이 원하는대로 상관없다. FAQ는 공식적인 발음기호으로 "e-the-real"을 발표한다.


5. Ethereal의 간력한 히스토리

1997후반에, Gerald Combs는 네트워킹 문제들을 탐지하기 위한 툴이 필요했었고, 네트워킹에 대하여 더 많이 배우기를 원했었다. 그래서, 그는 두 가지 문제들을 풀기위한 하나의 방법으로써 Ethereal을 만들기 시작하였었다.


개발에 있어서 몇 번의 중지들 이후에, 1998년 7월에 0.2.0 버전으로 Ethereal이 최초로 공개되었다. 몇일안에, 패치들, 버그 리포트들, 격려의 글들이 도착하기 시작하였고, Ethereal은 성공으로 가는 도중이었다.


그 이후 오래지 않아, Gilbert Ramire은 이것의 가능성을 보았고, 이것에 낮은 수준의 해부기구를 기증하였다.


198년 10월에 네트워크 기구의 Guy Harris는 tcpview보다 좀더 나은 것을 기대하였고, 그는 패치들과 Ethereal에 해부기구를 기증하는 것을 지원하기 시작하였다.


1998년 후반에, TCP/IP 강의를 하고 있던 Rickard Sharpe은 그러한 강의들에 대한 이것의 가능성을 보았고 이것이 그가 필요로하던 프로토콜들의 지원하는지를 알기 위해서 이것을 조사하기 시작하였다. 이것은 그러한 점에 있어서 맞지 않았지만, 새로운 프로토콜들은 쉽게 추가될 수 있었다. 그래서 그는 해부기구들을 기증하는 것과 패치들을 기증하는 것을 시작하였다.


Ethereal에 공헌해온 사람들의 목록은 그때 이후로 매우 길어지고 있고, 그들의 거의 대부분이 Ethereal이 그전에는 다루지 않았지만, 그들이 필요했던 프로토콜을 가지고 시작하였었다. 그래서 그들은 존재하는 해부기구를 복사하였고, 그 코드를 그 팀에 돌려주는데 공헌하였었다.


6. Ethereal의 개발과 유지보수

Ethereal은 최초로 Gerald Combs에 의해서 개발되었다. 도중에 Ethereal의 개발과 유지보수는 버그들을 고치고 새로운 기능들을 제공하는 개인들의 느슨한 그룹이었던 Ethereal 팀에 의해서 다루어졌다.


또한 Ethereal에 프로토콜 해부기구들을 기고해오고 있는 많은 사람들이 있고, 이것이 계속 지속될 것으로 예상된다. 당신은 Ethereal의 "about" 대화 박스나 Ethereal 웹 사이트의 "authors" 페이지를 체크함으로써, Ethereal에 코드를 기고해오고 있는 사람들의 목록을 발견할 수 있다.


Ethereal은 오픈 소스 소프트웨어 프로젝트이고, GNU 일반 공개 라이센스(GPL)하에서 공개된다. 모든 소스 코드는 GPL하에서 자유롭게 사용가능하다. 당신은 당신 자신의 필요들에 적합하게 만들기 위해서 Ethereal을 수정해도 좋고, 만약 당신이 당신의 개선들을 원래의 Ethereal 팀에 기고해준다면, 감사할 것이다.


당신은 당신의 개선들을 원래의 커뮤니티에 기고함으로써 세 가지 이득들을 얻는다.


ㅇ 당신의 공헌들이 유용하다는 것을 발견한 다른 사람들이 팀에게 감사할 것이고, 당신은 당신이

    Ethereal의 개발자들이 사람들을 돕고 있는 것과같은 방법으로 사람들을 돕고 있다는 것을 알게

    될 것이다.

ㅇ 항상 개선들을 위한 방이 있는 것처럼, Ethereal의 개발자들은 당신의 변화들을 좀 더 많이 개선

    시킬 것이다.


ㅇ API 변화들이나 다른 변화들이 생길 때 이것을 조정하고 일반적으로 Ethereal과 함께 발생한 것

    들과의 조화를 맞춤으로써, Ethereal의 유지보수자들과 개발자들은 당신의 코드를 잘 유지할 것

    이다. 그래서 만약 Ethereal이 (종종 그러는 것처럼) 업데이트가 되면, 당신은 웹사이트로부터

    새로운 Ethereal 버전을 얻을 수 있고, 당신의 어떠한 노력 없이 당신의 변화들은 이미 포함되어

    있을 것이다.


일부 플랫폼들을 위한 Ethereal 소스 코드와 바이너리 킷들은 다운로드 페이지(http://www.ethereal.com/download.html)에서 모두 얻을 수 있다.


7. 문제들을 리포트하고 도움 얻기

만약 당신이 문제들을 가지고 있다거나, Ethereal에 대한 도움이 필요하다면, 이 가이드 코스를 제외하더라도 몇 개의 장소들이 당신에게 흥미로울 것이다.


7.1. FAQ

"자주 물어보는 질문들"은 종종 요청된 질문들과 그에 대응하는 대답들을 나열한다.


[알림] FAQ를 읽어라!

FAQ는 종종 당신이 가지고 있는 질문(들)에 대해서 답변ㅇ르 할 것이기 때문에, 아래의 메일링 목록들에 메일을 보내기 전에, 꼭 FAQ를 읽어보아라. 이것은 당신 자신과 다른 사람들에게 많은 시간을 아낄 수 있게 해줄 것이다.(많은 사람들이 메일링 목록들에 메일을 작성하는 것을 기억하라.)


당신은 "Help/Contents" 메뉴 항목을 클릭하고 나오는 다이얼로그에서 FAQ 페이지를 선택함으로써, Ethereal안에 있는 FAQ를 발견할 것이다.


온라인 버전은 Ethereal 웹사이트(http://www.ethereal.com/faq.html)에서 이용할 수 있다. 온라인 버전은 전형적으로 더 최신이고 HTML 포멧이 사용하기 더 쉽기 때문에, 당신은 오히려 이 온라인 버전을 더 좋아할 것이다.


7.2. 메일링 목록들

유용하고 상세한 Ethereal 주제들에 대한 몇 개의 메일링 목록들을 있다.


ethereal-announce     이 메일링 목록은 대체적으로 당신에게 약 4-8주마다 나타나는 새로운

                                    프로그램 발표들에 대해서 알려줄 것이다.


ethereal-users            이 목록은 Ethereal 사용자들을 위한 것이다. 사람들은 Ethereal을 생성

                                    하고 사용하는 것에 대한 질물들을 메일로 보내고, 다른 사람들은 (바라

                                    건대) 답변들을 제공한다.


ethereal-dev               이 목록은 Ethereal 개발자들을 위한 것이다. 만약 당신이 프로토콜 해부

                                    기구를 개발하는 것을 시작하기 원한다면, 이 목록에 참가하라.


[팁] 팁!

당신은 전에 언젠가 누군가가 같은 질문을 요청했었고 아마도 벌써 답변을 얻었는지를 알기 위해서 목록 보관소를 검색할 수 있다.


7.3. 문제들 보고

[알림] 주의하라!

어떤 문제들을 보고하기 전에, 제발 당신이 Ethereal의 최신 버전을 설치하고 있는지에 대해서 확인하라.


Ethereal의 문제들을 보고할때, 만약 당신이 아래의 정보를 제공한다면 유용하다.


1) Ethereal의 버전 번호와 Ethereal과 연계된 종속된 라이브러리들(GTK+ 등). 당신은 ethereal-v

    명령과 함께 이것을 얻을 수 있다.


2) 당신이 Ethereal을 작동하는 플랫폼에 대한 정보


3) 당신의 문제에 대한 상세한 설명


[알림] 큰 파일들을 보내지 마라!

메일링 목록들에게 100KB 이상의 큰 파일들을 보내지 말고, 단지 요구에 대해서 유용한 데이터인 짧은 편지만 제출하라. 큰 파일들은 단지 당신의 상세한 문제에 관심이 없는 목록의 많은 사람들을 귀찮게 할 것이다. 만약 필요하다면, 당신은 실제로 당신을 도울 수 있는 사람들로부터 더 많은 데이터에 대해서 요구되어 진다.


[알림] 기밀 정보를 보내지 마라!

만약 메일 목록들에 캡쳐된 데이터를 보낸다면, 그것들이 비밀번호들과 같은 조금이라도 민감하거나 기밀한 정보를 포함하지는 않는지 확인하라.


7.4. 유닉스/리눅스 플랫폼들상에서의 고장들 보고

Ethereal 고장들을 보고할때, 만약 당신이 문제들 보고에서 언급되어진 정보 이외의 backtrace 정보를 제공하는 것은 도움이 된다.


당신은 이러한 backtrace 정보를 다음의 명령어들을 통하여 얻을 수 있다.


$ gdb `whereis ethereal | cut -f2 -d: | cut -d' ' -f2` core >& bt.txt backtrace ^D

$


[알림] 주의

첫 라인에 축약적으로 문자들을 타이프하라! 그것들은 거기서 back-tics 이다


[알림] 주의

backtrace는 gdb 명령이다. 첫 라인이 위에 보인 뒤에 당신은 이것을 축약적으로 입력해야 하지만, 이것은 되풀이되지 않을 것이다. ^D(Control-D는 컨트롤 키와 D 키를 함께 누르는 것임)은 gdb를 종료하게 할 것이다. 이것은 당신에게 현재의 디렉토리상에 bt.txt라고 불리는 한 개의 파일을 남길 것이다. 당신의 버그 보고서와 함께 그 파일을 포함하라.


[알람] 주의

만약 당신이 gdb를 이용할 수 없다면, 당신은 당신의 운영 시스템의 디버거를 체크해야 할 것이다.


당신은 traceback을 ethereal-dev[AT]ethereal.com 메일링 목록에 메일로 보내야 한다.


7.5. 윈도우 플랫폼들상에서의 고장들 보고

윈도우 배포판들은 매우 크기때문에, 심볼 파일들(.pdb)을 포함하지 않는다. 이러한 이유 때문에, 그것으로부터 의미있는 backtrace 파일을 생성하는 것은 불가능하다. 위에서 설명된 절차를 사용하여 당신은 단지 다른 문제들처럼 당신의 고장을 보고해야 한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크