TCP/IP 트러블슈팅 I
상태바
TCP/IP 트러블슈팅 I
  • 승인 2005.11.15 00:00
  • 댓글 0
이 기사를 공유합니다

Tech Guide / 스니퍼 활용 가이드
정확한 패킷 분석·트러블슈팅 위한 엑스퍼트 시스템·패킷 디코딩
기본적인 TCP/IP 정보 숙지 필수 … 체계적으로 쉬운 TCP/IP 분석 가능

김근혜
피지피넷 스니퍼 분석 기술지원부 차장
kgsun@pgpnet.com

지난 3회에 걸쳐 스니퍼를 활용한 네트워크 분석 바이블에 대해 살펴봤다. 이번 호에서는 네트워크 관리자가 네트워크 트래픽을 분석하기 위해 기본적으로 알아야 할 TCP/IP 항목에 대해 살펴본다. 먼저 실제 패킷 분석을 위해 TCP/IP에 대한 분석방법론에 대해 알아보자. <편집자>

스니퍼뿐만 아니라 기타 다른 네트워크 분석 툴을 이용해 패킷 분석을 하고자 하는 사용자라면 기본적으로 TCP/IP에 대한 정보를 어느 정도 숙지하고 있어야 한다. 이는 패킷 분석을 정확히 하기 위해서도 꼭 알고 있어야 할 항목들이다.
이번 호에서는 TCP/IP 분석을 체계적으로 쉽게 할 수 있도록 스니퍼 엑스퍼트(Expert) 시스템과 연동해 분석하는 방법을 중심으로 설명할 것이다. 기존에 많은 스니퍼 사용자들이 의문을 가져왔던 ‘액스퍼트’는 어떤 기능인가, 엑스퍼트 기능을 이용해 무엇을 할 수 있을까, 이 기능에서 얻을 수 있는 정보는 무엇일까 등의 질문에 대한 답변을 얻을 수 있을 것이다. 우선 TCP/IP 네트워크 분석에 들어가기 전에 우선 정확한 패킷 분석을 제공하기 위해 스니퍼가 지원하는 패킷 디코딩(Decoding)과 엑스퍼트 시스템에 대해서 설명한다.

실시간 엑스퍼트 시스템이란?
엑스퍼트 시스템은 캡쳐하는 패킷을 실시간으로 분석하면서 네트워크 상에 발생되고 있는 네트워크 이상 징후 및 데이터 플로우에 대한 정밀 분석을 체계적으로 제공해 주는 스니퍼 고유의 기술이다. 실시간 엑스퍼트 기능을 실행하려면 다음에 제시한 두 가지 항목을 설정해야 한다.
먼저 앞에서 언급한 캡쳐(Capture) → 디파인 필터(Define Filter) 창에 있는 버퍼 탭에서 파일 저장(Save to file) 항목을 선택하지 않아야 한다. 이를 선택하면 실시간 엑스퍼트 시스템은 실행되지 않으며, 포스트(Post) 엑스퍼트 시스템 기능만을 활용할 수 있게 된다.
두 번째는 툴 메뉴에 있는 엑스퍼트 옵션 항목에 대한 셋업 부분이다. 엑스퍼트 옵션을 클릭하면 나타나는 엑스퍼트 UI 오브젝트 창에서 엑스퍼트 듀링 캡쳐(Expert during capture) 항목을 선택해야 한다. 또한 자신이 관리하는 네트워크의 정확한 엑스퍼트 분석을 위해 몇 가지 셋업을 해야 할 부분들이 있다.
툴 메뉴의 엑스퍼트 옵션을 클릭하면 나타나는 <그림 1>에 제시한 엑스퍼트 UI 오브젝트 창에서는 스니퍼의 엑스퍼트 기능과 관련된 다양한 탭이 있다. 먼저 오브젝트 탭은 엑스퍼트 화면에서 분석되는 대상들에 대한 정보를 설정할 수 있으며, 알람(Alarms) 탭에서는 패킷을 분석해 문제점이 발생하면 표시되는 다양한 징후(Symptom) 및 진단(Diagnose)들에 대한 설정 정보를 담고 있다. 또한 프로토콜 탭에서는 분석되는 프로토콜을 선택 및 제거할 수 있으며, 서브넷 마스크(Subnet Masks) 및 RIP 옵션 탭에서는 해당 항목에 대한 내용을 설정할 수 있다.
이 탭들에 설정되는 내용에 따라 스니퍼의 패킷 전문 분석 기능인 엑스퍼트의 성능이 좌우된다고 할 수 있다. 따라서 엑스퍼트 시스템을 동작시키기 전에 다음 설명을 참조해 각 탭들에 있는 내용을 사용자의 네트워크 환경에 맞춰 조절한다. 다음 <표 1>에는 권장하는 오브젝트 값에 대한 설명이다.

- 오브젝트 탭
이 탭에서는 엑스퍼트 시스템이 분석할 수 있는 대상, 즉 IP 혹은 TCP/UDP 포트 개수 등에 대한 정보를 지정한다. 기본적으로는 대부분의 계층에서 1천개의 대상을 분석하도록 설정돼 있으며, 각 계층에 설정된 개수에 따라 필요한 메모리 크기가 계산돼 창의 하단에 나타난다. 스니퍼에서 제공하는 캡쳐는 시스템 메모리를 이용하므로 스니퍼가 인스톨돼 있는 시스템의 메모리 사양도 네트워크 오브젝트 수에 따라 늘어나야 할 것이다.
자신이 측정하고 있는 세그먼트의 일반적인 IP/MAC/애플리케이션에 대한 개략적인 수를 파악해 수정한 후 캡쳐하기 바란다. 가장 관심있게 봐야 할 부분은 통상적으로 스테이션(네트워크 계층)과 커넥션(전송 계층) 항목으로 가장 많은 오브젝트가 필요하다. 또한 랜을 측정하는 동안에는 왠 및 ATM 항목이 필요하지 않으니 분석(Analyze) 셀에서 ‘No’로 바꾸거나 맥스 오브젝트(Max Objects) 셀에서 ‘0’을 입력하도록 하자. 모든 항목이 적절히 설정됐다면 추정되는 메모리 크기가 대략 20Mbyte 내외가 될 것이다.
이제 엑스퍼트 시스템은 최적의 환경에서 최대한 랜 환경을 분석할 수 있을 것이다. 필요하다면 알람 최대값 항목의 개수도 수정하자. 참고로 스니퍼를 사용하는 시스템은 최소 512MB 이상의 메모리를 사용하기 바란다.

- 알람 탭
알람(Alarms) 탭에는 각 계층별 알람 항목들이 있다. 각 항목들을 확장해 살펴보면 특정 메시지에 대한 임계 값(threshold), 중요도(Severity) 및 스니퍼 알람에 등록 여부(Alarm Logged)를 결정하는 칸들이 있다. 각 알람에 대한 설명도 있으면 좋겠지만, 아쉽게도 각 알람에 대한 설명은 엑스퍼트 시스템에서 도움말로 제공한다(별도로 스니퍼 동호회 자료실에 가면 한글 알람 자료를 받아볼 수 있다).
이곳에 있는 값들은 기본 설정된 것으로 사용하는 것이 바람직하겠지만, 필요하다면 수정할 수 도 있다. 예를 들어 서비스 계층에는 각 서버에 대한 응답시간을 분석해 설정된 임계 값 2.5초(2500ms)를 초과하면 분석 화면에 등록하지만, 사용자의 네트워크에서는 대역폭에 비해 사용자가 많아 더 많은 시간이 필요하다면 해당 값을 수정할 수도 있다. 또 서버의 응답시간이 중요한 사용자들은 중요도를 높이고, 반드시 알람 화면에 등록해 관찰이 필요한 항목으로 수정할 수도 있다.
여기서 중요하게 봐야 될 부분은 엑스퍼트 시스템에서 제공하는 ‘Symptoms’과 ‘Diagnosis’로 알람 탭의 값에 따라 좌우되며, 이 알람의 중요도(Severity)에서 크리티컬(Critical)로 돼 있으면 Diagnosis로, 그 외에 메이저/마이너/워닝(Warning)/인포멀(Informal)로 지정돼 있는 알람 발생시에는 Symptoms에 그 이상 징후를 표시하도록 돼 있다.

- 프로토콜·서브넷 마스크·RIP 옵션
이 탭에 있는 내용은 최적의 엑스퍼트 시스템을 구성하기 위한 부분적인 항목들로 프로토콜 탭에서는 계층별로 분석이 필요한 프로토콜만 지정할 수 있다. 이 부분은 기본 값을 그대로 둬도 상관없다.
다음 서브넷 마스크에는 기본적으로 A, B, C 클래스에 대한 서브넷 마스크 값이 지정돼 있어, 더 세밀하게 구분돼는 네트워크 세그먼트에 대한 분석이 필요할 시 추가로 입력해야 한다. TCP/IP 서브넷 마스크는 전통적으로 IP 주소의 분류에 따른 서브넷 마스크가 되도록 IP 네트워크 주소 내에서 특정 비트들로 예약돼 있다. 어떤 네트워크들은 비전통적인 서브넷 마스크를 사용할 수도 있다. 만일 엑스퍼트가 비전통적인 서브넷 마스크를 사용하는 네트워크 세그먼트에 접속돼 있다면, 엑스퍼트는 가짜 네트워크 대상들과 분석 내용들을 등록할 수도 있다.
이러한 상황은 엑스퍼트가 실질적인 서브넷 마스크 주소라기보다는 주소 필드 내에의 한 곳에 있는 주소 정보라고 예상하기 때문이다. 만일 네트워크에서 비전통적인 서브넷 마스크를 사용한다면 엑스퍼트가 프레임을 관찰하는 네트워크를 위한 IP 네트워크 주소와 적절한 서브넷 마스크를 추가해야 한다.
마지막으로 RIP 옵션 탭에서는 네트워크의 라우터 주소를 입력할 수 있으나, 현재 거의 사용되지 않고 있다. 위의 두 항목이 설정된 후, 캡쳐를 시작하면 엑스퍼트 분석 화면이 나타나고, 스니퍼는 실시간으로 패킷을 분석하기 시작할 것이다. 네트워크에 대한 이상 징후가 있는지 또는 캡쳐되고 있는 패킷에 대한 정밀 분석 결과를 네트워크 관리자에게 보여주게 될 것이다.

엑스퍼트 화면 구성
다음 <그림 2>는 스니퍼의 엑스퍼트 분석 화면이다. 스니퍼를 사용하는 관리자라면 한번씩은 이 화면이 과연 어떠한 분석 정보를 가져다주는지 또는 어떠한 도움을 주는지에 대한 의문을 가져봤을 것이다. 이 화면을 어떻게 봐야 하는지, 이 화면을 이용해 분석하는데 어떤 도움을 얻을 수 있는지를 명확하게 알아보자.
다음 <그림 2>에 나와있는 각 항목들에 대해 먼저 살펴보자. 엑스퍼트 메인 화면을 잘 살펴보면 어딘가 모르게 OSI 7계층에 대한 연관관계를 찾을 수 있을 것이다. 그렇다. 스니퍼 엑스퍼트 시스템은 실시간으로 패킷을 캡쳐하면서 OSI 7계층별로 데이터 플로우를 분석하고, 네트워크의 이상 징후는 없는지 세부 데이터 분석 정보는 무엇인지 등에 대한 모든 분석 정보를 네트워크 관리자에게 쉽고 체계적인 화면으로 제공한다.
엑스퍼트 시스템에 대한 기본적인 내용들을 살펴보기로 하자. <그림 2>의 좌측 상단 엑스퍼트 개요(overview) 창에는 네트워크 계층별로 분석되는 대상 및 패킷 분석 결과 발생하는 알람 항목인 Diagnoses, Symptoms 개수가 표시된다. 이 창에서는 분석되는 특정 계층을 선택할 수 있으며, 해당 계층에서 창의 상단에 있는 Diagnoses, Symptoms 또는 오브젝트 버튼을 클릭하거나 해당 숫자를 두 번 클릭하면, 각 항목에 대한 결과가 우측 상단에 있는 엑스퍼트 요약(summary) 창에 나타난다.
다시 엑스퍼트 요약 창에서 특정 항목을 선택하면, 우측 하단의 상세 트리(detail tree) 및 엑스퍼트 상세 정보(detail) 창에 보다 자세한 정보가 표시된다. 그리고 좌측 하단의 프로토콜 통계(Protocol Statistics) 창에서는 개요 창에 있는 각 계층에서 사용된 프로토콜들과 해당 프로토콜을 이용해 전송된 데이터 크기가 표시된다. 프로토콜이라는 것은 데이터의 송수신 방법에 대한 내용을 헤더 정보로 정의하는 것이므로, 상위 계층에는 하위 계층에 대한 헤더 정보가 제거돼서 프로토콜별 데이터 크기가 작아질 것이다. 이제 각 창에 대해 보다 상세하게 살펴보자.

- 엑스퍼트 개요
엑스퍼트 개요 화면에서는 Object/Symptoms/Diagnosis 등의 정보를 한눈에 파악할 수 있다.

· 네트워크 오브젝트 : 스니퍼에서 네트워크 트래픽을 관찰하는 동안 발견한 네트워크 이벤트 및 디바이스로 이 정보를 이용해 프로토콜에 대한 분석을 시작하며, Symptom, Diagnosis 및 Alarms 등으로 네트워크 문제점을 표현해 준다.
· Symptom : 네트워크에 문제를 발생시킬 수 있는 비정상적인 이벤트다. 스니퍼 → 엑스퍼트 옵션 → 알람에서 위험 등급이 메이저/마이너/인포멀/워닝에 해당하는 알람들이 이 위치에 존재한다.
· Diagnosis : 몇 가지의 symptom이나 동일한 symptom이 여러 개 발생했을 경우로 직접적으로 네트워크에 문제를 발생시킬 수 있는 이벤트다. 스니퍼 → 엑스퍼트 옵션 → Alarm에서 위험 등급이 크리티컬에 해당하는 알람들이 이 위치에 존재한다.

- 엑스퍼트 요약
이 창에는 개요 창에서 선택한 특정 계층의 Symptoms, Diagnoses 및 Objects에 대한 정보를 표시한다. 즉, 선택된 계층에서 어떤 프로토콜을 사용해 얼마 동안 통신하는 과정에서 어떤 문제점이 발견됐는가를 개괄적으로 살펴볼 수 있다.

- 상세 트리 및 엑스퍼트 상세 정보
상세 트리에서는 두 호스트간의 통신 상황을 계층별 트리 형식으로 살펴볼 수 있다. 이 창에는 개요 창에서 어떤 계층이 선택됐느냐에 따라 표시되는 내용이 다르다. 만약 개요 창에서 세션 계층이 선택됐다면, 트리 창에서는 세션 계층과 더불어 그 하위 계층의 호스트 정보를 포함해 표시한다. 즉, 세션 프로토콜 종류, TCP 또는 UDP 포트 번호, 각 호스트의 IP 주소, MAC 주소를 트리 구조로 표시하게 된다.
다시 말하면 계층 구조를 나타내는 창으로 이 부분 역시 각 계층별로 제공하는 정보가 다르다. 우선은 엑스퍼트 시스템의 각 부분들이 어떤 정보를 제공하는지에 대해서만 간략히 이해하고 넘어가도록 하자.

패킷 디코딩의 각 기능
스니퍼의 디코드(Decode) 화면은 캡쳐된 패킷에 대해 세부 값들을 분석하는 기능으로 크게 3가지로 구분돼 있다. 상단이 요약(summary) 창, 중앙이 상세 정보(detail) 창, 하단이 핵사(hex) 코드 창이다.
요약 창에서는 기본적인 정보를 포함해 캡쳐된 패킷들의 목록을 볼 수 있으며, 상세 정보 창에서는 선택된 패킷의 헤더 정보와 더불어 몇 가지 애플리케이션에 대한 코드 정보를 알 수 있다. 핵사 코드 창에서는 해당 패킷의 16진수 정보와 ASCII(EBDIC) 코드 정보를 볼 수 있다. 디코드 각 화면은 <그림 6>을 참고하면 된다.
디코드 탭은 패킷을 3가지 색상을 이용해 요약, 상세 정보, 핵사의 3가지 창을 보여준다.

· 요약 창은 줄 단위의 요약된 형태로 캡쳐된 패킷의 전체 내용을 보여준다.
· 상세 정보 창은 현재 요약 창에서 선택된 패킷의 자세한 내용을 보여준다. 상세 정보 프로토콜 창은 완전히 확장된 디코드, 한 라인 요약, 두 가지가 혼합된 형태의 3가지 시점으로 디스플레이 할 수 있다. 기본적으로 스니퍼 프로는 상세 정보 창에서 밑줄 그어진 프로토콜 계층을 확장해 보여준다. 관찰 영역을 작게 하고 싶다면, 프로토콜 하위계층 줄의 앞에 있는 (-) 기호를 클릭한다. 프로토콜 디스플레이를 다시 확장하려면, (+) 기호를 클릭한다.
· 핵사 창은 선택된 패킷을 16진수 코드와 ASCII(EBCDIC) 형태로 보여준다.

요약 창에서 한 패킷을, 혹은 상세 정보 창에서 하나의 상세한 프로토콜 필드를 선택한 경우, 패킷 내부에 있는 동일한 16 진수 옥텟(octets)들이 핵스 창에 강조돼 나타난다. 이것은 프로토콜 필드 및 패킷 내에서 그에 상응하는 바이트들과의 상관 관계를 빠르게 보여준다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.