2012년 3월 25일 일요일

linux] 패킷 분석 프로그램 링크.

http://www.linux.co.kr/home/lecture/?leccode=10592
퍼옴

프로그램명 : The Ethereal Network Analyzer
파 일이름 : ethereal-0.10.14 / libpcap 0.8.3
운 영체제 : X 환경의 유닉스
라 이센스 : GPL
홈 페이지 : http://www.ethereal.com

이 번 강좌는 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
다 운로드 화면이다. ( 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 실 행한다.
실 행 후 먼저 help - About Ethereal을 클릭하면 위와같은 정보를 볼수가
있 다. GTK+, GLib, libpcap, libz, Net-Snmp 그리고 마지막으로해당 서버
의 시스템 버전이 나온다. 그리고 첫줄에서 Ethereal의 Version 0.10.14 버 전
도 확인 할 수 있다.
그 럼 눈에 바로 보이는 큰 아이콘 부터 보자

처 음에 보이는 것이 Interfaces 이다. 클릭하면 다음과 같은 화면을 만날 것이다.
자 실행시킨 위 그림을 보면 Device 라하여 eth0 any, lo 라는것이 명시되고 만약 렌카드가 두게면 eth1도 있을것이다 그 device에 대한
설 명과 IP ,Packets량의 정보가 보인다.오른쪽에 Capture에 살짝 마우스를
올 리면 즉시 팻킷캡쳐를 한다는 메세지를 볼수가 있고 클릭시 다음과 같이
서 비스 프로토콜별로 패킷을 양과 % 를 볼수있으면 캡쳐를시작한지로 부터
경 과된 시간도 보인다.
TCP 와 UDP 프로토콜이 지배적으로 사용되며 패킷량을 보여준다.
그 럼 이 화면이 과연 정말 맞는것일까 하는 의문에 실제로 팻킷을 발생시켜
보 았다.

이 캡쳐창을 한쪽으로 계속 보고있는 가운데 인터넷창을 띄워보자 그 다음
각 종 링크를 클릭한다든지 이벤트를 발생시키면 갑자기 TCP 의 상황바가
올 라가면서 다른것들이 조금씩 줄어드는것을 볼 수 있을것이다.
이 메일 역시 보내보면 UDP가 올라가는것을 볼 수 있다.
우 리는 장치별로 본다음 그 장치에서 나가는 패킷을 프로토콜 종류로 보았다.
그 럼 이 창을 종료를 해보자 아주 재미있는것이 나온다. 통계로만 보았던
패 킷이 내용과 함께 색깔별로 잘 정리되어 시간 ,시작IP , 대상IP Protocol
그 리고 내용까지 각 항목별로 정렬가능하게 나오면 아래에는 더 세부적인
내 용까지 제공해준다. 심지어는 임의 사이트에 로그인을 했을시 아이디와
페 스워드까지 나오는 것을 보았을때 나는 입을 다물지 못했다. 처음
사 용목적에서 기술했듯이 이런 기능들이 있기에 많은 활용이 되는 것이다.

정보를 보존하고 싶으면 다시 Interface를 선택하고 캡쳐하기를 클릭하면
현 재까지의 패킷정보를 저장하고 시작할것이지 버리고 새로 시작할
것 인지 묻는다. 그때 저장하면 된다. (저장옵션도 있으니 유심히 보길)
색 깔도 사용자가 바꿀수 있다 view 메뉴에 coloring rules에 보면 색깔별로
내 용이 정의되어있다.

그 럼 다음 아이콘은 Option 역시 그리 어렵지 않다. 말그대로 사용하면서
옵 션을 줄 수 있다. 다음 그림을 보면 이해가 더 쉬울것이다.

위 의 화면에서 Option 을 클릭하면 위와같이 Capture Option 팝업이 뜨며
여 기에서는 eth0 , 1 ,2 등의 네트워크 장치에 대해서 불규칙적인 패킷을 대상으로 캡쳐할수있으며 패킷키기의 제한을 줄 수 있다.
그 리고 캡쳐를 할때 필터를 할수있으며 필터하는 옵션자체도 파일로 저장하여 사용할수 있다. Capture Filter 를 클릭하면 위화면 처럼 Capture Filter 팝업이 뜨면서 Filter 항목이 꼭 포토샵에서 Filter 종목을 고르듯 템플릿화 되어 제공되면 새로만들기 버튼을 눌러 자신만의 규칙을 만들수 있다. 그 외에도 Display Options, Stop Capture에서 자동으로 캡쳐를 중단할 기준을 셋팅할수도 있다.

다 음 아이콘인 Star는 Interfaces에서 기능설명을 할때 캡쳐시작부분이 있었다. 그부분을 바로 실행기켜준다. 클릭하면 아까 보았던 창이
다 시 보일것이다. (물론 한번 한상태면 현재상태를 저장하고 다시시작할건지 버리고 다시 시작할건지 물어본다.)
다 음 아이콘인 Stop와 Restart는 Start 를 하고 있는 상태에서만 활성화 되어있으면 기능은 캡쳐를 멈추고 다시시작하는 기능이다. 열기 아이콘은
캡 쳐한것을 파일로 자장할수있다고 하였다. 클릭하게 되면 파일브라우져가 떠서 캡쳐가 저장된 파일을 찾을수있도록 해준다.

기 본적인 기능들을 살펴보았다.
큰 아이콘이아닌 위의 메뉴로 살펴보면 좀더 섬세하고 많은 기능들이 있다.
좀 더 많이 프로토콜에 대해서 셋팅을 할수있고 I.O 그래프도 그릴수 있다.
운 영체제를 설치하면서 이런기능에 좋은 인터페이스의 프로그램이 기본으로
설 치된다는것에 다시한번 놀라면서 리뷰를 마친다.




참 고자료 : http://www.ethereal.com/docs/eug_html_chunked
TEST OS : CentOS 4.2 Final [Kernel 2.6.9-22 EL]
작 성자 : 수퍼유저코라아 서버관리팀 안재성(mymaster@superuser.co.kr)

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...