강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

The Ethereal Network Analyzer(0.10.14)

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

The Ethereal Network Analyzer(0.10.14) - 1편-

squirrelmail로고

프로그램명

The Ethereal Network Analyzer(0.10.14)

파일이름

ethereal-0.10.14 / libpcap 0.8.3

운영체제

X 환경의 유닉스

라이센스 GPL
홈페이지

http://www.ethereal.com

test OS

Fedora Core 2 [Kernel 2.6.9-22]

작성자

수퍼유저코리아 서버팀http://www.superuser.co.kr

 

설치하기 top

이번 강좌는 etherpeak나 sniffer 등처럼 이더넷 카드를 통해 나가고 들어오는 팻킷을 스니핑 할 수 있는 프로그램인 Ethereal에 관해서 rpm

설치와 사용방법 및 특징을 되짚어 보는 시간을 가진다.

처음에 리눅스 데스크탑을 사용하면서 인터넷 메뉴의 첫 아이콘으로 Ethereal를 볼 수 있었는데 처음엔 뭔가 했다가 특별히 프로그램을 구해서 설치해야만 볼 수 있는 스니핑 기능을 CentOS에서 기본으로 Ethereal이 제공

되어져있다는 것을 알았으며 실제로 아이디와 패스워드정보의 패킷이 잡히는지 테스트해 본 기억이 난다.(그대로 잡힌다.)

그럼 Ethereal를 간단히 정의하면 네트워크 팻킷분석기이다.

Ethereal는 네트워크 (eth0, eth1...)를 지나가는 패킷들을 캡쳐하려고 할 것이고 그 패킷을 다양한 형태로 결과물을 보여준다.

설치와 기능을 살펴보면서 이 형태들을 살펴볼 것이며 이러한 프로그램을 쓰는 목적은 네트워크 문제를해결하기 위해서 이것을 사용할 것이며 보안 관련 엔지니어들은 보안적인 측면에서 시험하기 위해 사용할 수도 있다.

개발자들은 프로토콜 구현에 있어 디버그를 하기 위해서 Ethereal와 같은 프로그램을 사용 가능하다.

눈에 보이지 않는 팻킷을 보고 그 패킷이 어떤 정보를 담고 있으며 어떤 서비스에서 나간것 인지를 알려주므로 정말 유용한 프로그램이 아닐 수 없다.

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

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

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

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

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

그 프로그램들에게 익스포트 한다.

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

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

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

이제 Ethereal이 무엇인지 어떠한 특징이 있는지 어떻게 사용 될 수 있는지를 살펴보았다.


Ethereal 의 공식 홈피이지인 (www.ethereal.com)서 최신버전인 ethereal-0.10.14를 다운받고 이 패키지를 설치하기위해 필요한 libpcap 0.8.3 도 염두해두고 설치를 시작한다.

최소한의 플랫폼들

리눅스

ㅇ 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

network_02.gif

다운로드 화면이다. ( http://www.ethereal.com/download.html )

Windows, Red Hat / Fedora , Solaris, Source Code 등의 카테고리가 있음을 알 수가 있다 .
원하는 플렛폼에 맞게 선택할 수 있다.


안에 보면 All Version이라 하여 버전별로 의존성 걸리는 패키지들까지 모두 있으며 시그너쳐 파일도 보인다. 여기서 의존성 걸리는 것을 모두 받아 설치해도 되고 (미리 설치하는 것 보다 설치하다가 의존성 걸리면 찾아 설치 하는 것이 더 좋겠다.)

아니면 아래처럼 자신의 시스템의 설치 씨디가 있으면 마운트 하여 rpm을 구할 수 있다.

마운트 후

cd /mnt/cdrom/CentOS/RPMS

rpm -ivh glib-1.2.6-3.i386.rpm

rpm -ivh glib-devel-1.2.6-3.i386.rpm

rpm -ivh gtk+-1.2.6-7.i386.rpm

rpm -ivh gtk+-devel-1.2.6-7.i386.rpm

rpm -ivh libpcap-0.4-19.i386.rpm

위의 페키지들이 필요하며 아마 데스크탑으로 설치를 했다면 libpcap 페키지 빼고는 대부분 설치가 되어있을 것이다.(rpm -qa | grep 찾을 패키지 명 또는 일부 명 : 패키지가 설치되어있는지 검색)

그럼 glib, gtk+-devel, gtk+ 가 설치되어있는 서버에서 테스트하므로 우선 이렇게 설치해준다.
(의존성에 걸리면 그 패키지 위과같은 방법으로 찾아 설치 해준다.)

패킷을 잡을 수 있도록 해주는 패키지 설치

# rpm -ivh libpcap-0.8.3-10.RHEL4.rpm

Ethereal 설치

# rpm -ivh ethereal-0.10.14-1.EL4.1.rpm

TIP)

설치 시 의존성이 가장 문제일 것이다.

위에서 제시한데로 의존성 걸리는 패키지들을 일단 확보한다. 그러나 모든 의존성 패키지들이 다 한자리에 있는데도 서로 설치가 안되어서 그 어떠한 패키지를 먼저 설치해도 설치가 안되는 경우가 있다.

그럴 때는 rpm -ivh *.rpm 이런 식으로 몽땅해라라고 명령을 내리면 속시원히 설치됨을 볼 수 있다. 또 한가지 yum 업데이트를 이용하여 설치하는 방법도 있다.

사실 이방법이 가장 간편하면서 빠른 방법으로 yum 업테이트가 되는 상황이라면 (안되면 yum도 설치 가능하니 설치하면 된다.)

다음과 같은 형식으로 설치하거나 업데이트 할 수 있다.

# yum install [설치하고 싶은 패키지 명]

이정도면 여러 방면으로 설치 할 수 있는 방법을 알려준 것 같다.

Ethereal의 세부적인 기능은 홈페이지에서만 보더라도 꾀 많은 문서로 양이 많다. 흔히 사용하고 굵직한 기능들만 보도록 하고 자세한건 직접 건드려 보길 바란다.

먼저 인터텟 - Ethereal Network Analyzer 실행한다.

network_03.gif

실행 후 먼저 help - About Ethereal을 클릭하면 위와 같은 정보를 볼 수가 있다.
GTK+, GLib, libpcap, libz, Net-Snmp 그리고 마지막으로 해당 서버의 시스템 버전이 나온다.
그리고 첫줄에서 Ethereal의 Version 0.10.14 버전도 확인 할 수 있다.

그럼 눈에 바로 보이는 큰 아이콘부터 보자

처음에 보이는 것이 Interfaces 이다. 클릭하면 다음과 같은 화면을 만날 것이다.

자 실행시킨 위 그림을 보면 Device라 하여 eth0 any, lo라는 것이 명시되고 만약 랜카드가 두게면 eth1도 있을 것이다. 그 device에 대한 설명과 IP ,Packets량의 정보가 보인다. 오른쪽에 Capture에 살짝 마우스를 올리면 즉시 팻킷 캡쳐를 한다는 메세지를 볼 수가 있고 클릭 시 다음과 같이 서비스 프로토콜별로 패킷을 양과 % 를 볼 수 있으면 캡쳐를 시작한때로부터 경과된 시간도 보인다.

network_04.gif

TCP 와 UDP 프로토콜이 지배적으로 사용되며 패킷량을 보여준다.

그럼 이 화면이 과연 정말 맞는 것일까 하는 의문에 실제로 팻킷을 발생시켜 보았다.

이 캡쳐 창을 한쪽으로 계속 보고 있는 가운데 인터넷 창을 띄워보자

그 다음 각종 링크를 클릭한다든지 이벤트를 발생시키면 갑자기 TCP 의 상황 바가 올라가면서 다른 것들이 조금씩 줄어드는 것을 볼 수 있을 것이다.

이메일 역시 보내보면 UDP가 올라가는 것을 볼 수 있다.

우리는 장치별로 본 다음 그 장치에서 나가는 패킷을 프로토콜 종류로 보았다.

그럼 이 창을 종료를 해보자 아주 재미있는 것이 나온다. 통계로만 보았던 패킷이 내용과 함께 색깔별로 잘 정리되어 시간 ,시작IP , 대상IP Protocol 그리고 내용까지 각 항목별로 정렬가능하게 나오면 아래에는 더 세부적인 내용까지 제공해준다.

심지어는 임의 사이트에 로그인을 했을 시 아이디와 패스워드까지 나오는 것을 보았을 때 나는 입을 다물지 못했다. 처음 사용목적에서 기술했듯이 이런 기능들이 있기에 많은 활용이 되는 것이다.

정보를 보존하고 싶으면 다시 Interface를 선택하고 캡쳐 하기를 클릭하면 현재까지의 패킷정보를 저장하고 시작할 것인지 버리고 새로 시작할 것인지 묻는다.

그때 저장하면 된다. (저장옵션도 있으니 유심히 보길)

색깔도 사용자가 바꿀 수 있다 view 메뉴에 coloring rules에 보면 색깔별로 내용이 정의되어있다.

그럼 다음 아이콘은 Option 역시 그리 어렵지 않다. 말 그대로 사용하면서 옵션을 줄 수 있다.

다음 그림을 보면 이해가 더 쉬울 것이다.

network_05.gif

network_06.gif

위의 화면에서 Option 을 클릭하면 위와 같이 Capture Option 팝업이 뜨며

여기에서는 eth0 , 1 ,2 등의 네트워크 장치에 대해서 불규칙적인 패킷을 대상으로 캡쳐 할 수 있으며 패킷키기의 제한을 줄 수 있다.

그리고 캡쳐를 할 때 필터를 할 수 있으며 필터 하는 옵션자체도 파일로 저장하여 사용할 수 있다.
Capture Filter를 클릭하면 위 화면처럼 Capture Filter 팝업이 뜨면서 Filter 항목이 꼭 포토샵에서 Filter 종목을 고르듯 템플릿화 되어 제공되면 새로 만들기 버튼을 눌러 자신만의 규칙을 만들 수 있다.
그 외에도 Display Options, Stop Capture에서 자동으로 캡쳐를 중단할 기준을 셋팅 할 수도 있다.

다음 아이콘인 Star는 Interfaces에서 기능설명을 할때 캡쳐시작부분이 있었다.
그 부분을 바로 실행기켜준다. 클릭하면 아까 보았던 창이 다시 보일것이다.
(물론 한번 한상태면 현재상태를 저장하고 다시시작할건지 버리고 다시 시작할건지 물어본다.)

다음 아이콘인 Stop와 Restart는 Start 를 하고 있는 상태에서만 활성화 되어있으면 기능은 캡쳐를 멈추고 다시시작하는 기능이다.

열기 아이콘은 캡쳐한것을 파일로 자장할수있다고 하였다.
클릭하게 되면 파일브라우져가 떠서 캡쳐가 저장된 파일을 찾을수있도록 해준다.

기본적인 기능들을 살펴보았다.

큰아이콘이아닌 위의 메뉴로 살펴보면 좀더 섬세하고 많은 기능들이 있다.

좀더 많이 프로토콜에 대해서 셋팅을 할수있고 I.O 그래프도 그릴수 있다.

운영체제를 설치하면서 이런기능에 좋은 인터페이스의 프로그램이 기본으로 설치된다는것에 다시한번 놀라면서 리뷰를 마친다.

 

 
copyright.gif

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,813 개
  • 현재 접속자 :  147 명