달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'네트워크 모니터'에 해당되는 글 1

  1. 2008.11.10 1-4. Microsoft Network Monitor
2008. 11. 10. 21:42

1-4. Microsoft Network Monitor Windows Networking2008. 11. 10. 21:42


네트워크 패킷 캡처 및 분석 도구

 

위에서 TCP/IP를 설명하면서 예제그림으로 네트워크 패킷을 캡처한 그림을 사용하였다. 네트워크 모니터는 마이크로소프트가 Windows NT Server, Windows 2000 Server, Windows Server2003Windows Server 제품에서 기본 제공되는 패킷 캡처 및 분석을 할 수 있는 도구이다. 네트워크 모니터를 이용하면 네트워크에 흐르는 신호를 수집하고, 이것을 네트워크의 각 계층별로 패킷을 풀어서 보여주므로 눈으로는 볼 수 없는 네트워크에 흘러다니는 패킷에 대한 자세한 정보를 관리자가 이용할 수 있게 해 준다.

 

네트워크 분석도구를 악용하는 경우도 있다. 그때는 모니터링(Monitering)이라는 용어보다는 스니핑(Sniffing)이라는 표현을 흔히들 사용하는데, 네트워크에서 다른 사용자가 보낸 패킷을 분석하여 그 사용자의 사용자계정, 암호, 중요한 데이터 등을 빼내려는 의도가 그것이다. 하지만 네트워크 관리자 입장에서는 그러한 용도보다는 네트워크 모니터를 통해서 사내의 네트워크 트래픽을 분석함으로써 다음과 같은 이점을 이용할 수 있다.

 

   네트워크에 불필요한 트래픽으로 인해 전체 성능에 영향을 주는 요인 분석

   네트워크에서 발생하는 각종 문제점 진단

   네트워크 프로세스의 정확한 이해

 

그럼 지금부터 마이크로소프트의 네트워크 모니터의 설치방법 및 사용법에 대해서 알아보겠다. 네트워크 모니터의 전체(Full)버전은 마이크로소프트사의 별도의 제품인 “System Management Server (SMS)”에 포함되어 있다. 그렇다면 Windows 서버 제품에 포함된 것은 그것과는 조금 다르다는 얘기인데? 그렇다. 네트워크 모니터의 Simple버전이다. 네트워크를 캡처하는데 따른 제약이 있지만 간단하게 사용하는 데는 큰 지장이 없다. 제약사항을 살펴보면 다른 네트워크에 있는 트래픽을 캡처하지는 못한다는 것과, 네트워크 모니터를 실행하고 있는 컴퓨터와 관련없는 패킷은 캡처를 하지 않는 다는 것이다. 그런 작업들을 위해서는 네트워크 모니터 전체버전을 설치해야만 한다.

 

네트워크 모니터는 두 가지 구성요소로 나뉘어 있다. 네트워크에서 패킷을 캡처하는 역할을 하는 “Network Monitor Agent”와 캡처한 패킷을 분석하는 “Network Monitor Tool”로 구분을 할 수가 있다. 네트워크환경에서는 항상 그렇다. 역할이 이렇게 분담되어 있다. 예를 들어 원격지의 서버를 원격으로 관리한다고 하면 원격지의 서버에는 그 서버의 상태를 수집하는 “Agent”가 설치가 되어야 하고, 수집한 정보를 분석하고 관리할 시스템에는 “Tool”이 설치가 되어야 하는 것이다.(, SNMP Agent SNMP Tools)

먼저 네트워크모니터를 설치해 보겠다. 제어판의 프로그램 추가/제거’ Windows 구성요소를 통해서 접근한다.

<그림1-17. 마이크로소프트 네트워크 모니터 도구 설치>

Windows 구성요소의 관리 및 모니터링 도구를 선택하고 <자세히>버튼을 누르면 네트워크 모니터 도구를 선택할 수 있다. 네트워크 모니터 툴을 설치하면 Network Monitor Agent는 자동으로 설치가 된다. Network Monitor Agent네트워크 모니터 드라이버라는 이름으로 설치된다. 확인을 하려면 네트워크연결의 등록정보를 열어서 볼 수 있다.


<그림1-18. Network Monitor Agent – 네트워크 모니터 드라이버 설치>

<그림1-18>에서는 네트워크 모니터 드라이버가 설치된 모습을 보여준다. 만일 설치가 안 되었다면 <설치>버튼을 눌러서 네트워크 구성 요소 유형선택그림에서 프로토콜을 눌러서 네트워크 모니터 드라이버를 설치할 수도 있다.

한 시스템에 네트워크 모니터 드라이버만 설치하고, 또 다른 시스템 네트워크 모니터 툴을 설치한 다음에 다른 시스템이 수집한 네트워크 패킷을 원격으로 툴을 통해 들여다 볼 수 있을까? 눈치 빠른 분들은 감을 잡았을 것이다. 정답은 이다. 네트워크가 여러 개로 나뉘어진 상황에서는 그런 방법이 유용하게 쓰일수 있다. 라우터를 통해서 물리적으로 여러 개로 나뉘어진 네트워크가 있을 때 관리자는 네트워크마다 한 시스템에 네트워크 모니터 드라이버를 올려두고, 관리자가 있는 네트워크에서 각 네트워크의 Agent가 수집한 정보를 툴로서 분석하는 것이 가능하다.

하지만 Windows 서버제품에 들어있는 것은 심플버전이라고 말한바 있다. 거기에 따른 제약사항에서 다른 네트워크의 트래픽을 캡처하지는 못한다고 했다. 결국 그러한 작업을 하려면 Network Monitor Full Version이 필요하다.

이제 설치가 끝났다. 관리도구를 보면 네트워크 모니터관리도구가 추가된 것을 확인할 수 있다. 실행해 보니 “Microsoft 네트워크 모니터라는 도구가 실행된다.

<그림1-19. Microsoft 네트워크 모니터 네트워크 선택화면>

처음 네트워크 모니터를 실행했을 때 지정된 네트워크가 없다라는 에러 메시지가 발생할 수 있다. 또 여러 개의 네트워크 어댑터 카드를 가지고 있다면 네트워크 패킷 캡처를 원하는 네트워크 어댑터 카드를 지정해 주어야 한다. 예를 들어서 Private Public 이라는 이름의 2개의 네트워크 연결을 가지고 있다면 어느 네트워크 어댑터 카드로 들어오는 패킷을 캡처할 것인지를 지정해야 한다는 것을 의미하는 것이다.

네트워크 모니터의 캡처메뉴의 네트워크를 선택한후, 로컬컴퓨터를 확장하고 원하는 NIC를 지정해 준다. NIC MAC Address를 가지고 구별을 해야 하므로 여러분의 서버에 설치된 NIC MAC Address를 알아야 한다. 그것은 간단하게 명령프롬프트에서 “ipconfig/all” 명령을 통해서 알아볼 수 있다.

<그림1-20. ipconfig/all 명령을 통해서 Physical(MAC) Address 확인>

그림에서 Physical Address 부분이 바로 MAC Address를 말한다. 하이픈(-)으로 구분된 12자리의 숫자가 보일 것이다. 예제에서 필자는 Private 어댑터 카드를 선택했다.

 

다음에 네트워크 모니터의 캡처메뉴에서 시작을 누르면 해당 네트워크 어댑터 카드로 들어오는 패킷들을 수집하기 시작한다. 시작을 해 보자.

<그림1-21. Microsoft 네트워크 모니터 패킷 캡처 시작>

그림에서는 캡처가 시작되었고, 오른쪽 패널을 보면 742개의 프레임이 현재 캡처가 되었음을 보여준다. 캡처를 멈추려면 메뉴중 캡처를 이용하거나, 도구아이콘을 이용한다. 캡처메뉴의 중지하고 보기를 선택했다.

<그림1-22. Microsoft 네트워크 모니터 캡처 중지하고 보기>

필자는 이 그림을 캡춰하기 위하여 Windows XP Professional 이 설치된 192.168.5.3 IP Address를 사용하는 시스템에서 네트워크모니터가 설치된 BLUEAPPLE이라는 이름의 서버로 몇가지 작업을 했다. 첫번째로 명령프롬프트에서 ping 192.168.5.1 이라는 명령을 수행했고, 시작메뉴의 명령창에서 \\BLUEAPPLE 이라는 명령을 내려서 BLUEAPPLE이라는 이름을 가진 서버의 공유자원에 접속하고자 시도했으며, 웹브라우저를 실행하고 http://192.168.5.1 을 이용해서 192.168.5.1의 웹서비스를 요청하는 작업을 했다.

 

캡처를 중지하고 캡처한 패킷을 보여주는 그림이 나오는데 하나하나씩이 패킷 하나에 해당한다. 제목줄을 보면 프레임, 시간, 원본MAC주소, 대상MAC주소, 프로토콜, 설명, 기타원본주소, 기타 대상 원본주소, 기타주소등을 볼 수 있다. 각각이 뭘하는 걸까? 라고 의심이 간다면 앞의 내용을 다시 한번 읽어보길 바란다. 위에서 세가지 작업 정도만 진행을 했었지만 실제 캡처된 패킷은 600개가 넘는다는 것을 알 수 있다.

 

실제 회사의 네트워크 환경에서 캡처를 했다면 어떨까? 5~10초 정도만 패킷 캡처를 해도 천개 이상의 패킷이 잡히기도 한다. 우리가 생각하는 것보다는 훨씬 더 엄청난 작업을 네트워크에서는 처리를 해 주고 있는 것이다. 이런 이유 때문에 여러분이 테스트를 하는 환경에서는 네트워크 모니터 전체버전보다는 오히려 Windows 서버제품에서 기본제공되는 심플버전이 더 좋을 수도 있을 것이다. 자신과 관계있는 패킷만 캡처를 하기 때문에 문제해결에는 딱 좋은 정도로 사용이 가능하니까 이만하면 쓸만한 도구라는 생각이 든다.

 

일단 네트워크 모니터의 설명항목을 보면 간단한 설명을 볼 수 있다. 익숙해지면 이것만으로도 어떤 패킷인지 바로 알 수 있다. 자세한 정보를 보려면 원하는 패킷에 해당하는 부분에서 더블클릭을 해 본다. 패킷을 계층별로 풀어헤친 자세한 패널을 들여다 볼 수 있을 것이다.

 

<그림1-23. Microsoft 네트워크 모니터 자세히 보기>

가운데 패널이 캡처한 패킷을 분석해서 자세히 보여주는 부분이고, 가장 아래쪽의 패널이 원본패킷과 가장 근접한 데이터에 해당하는 원시데이터부분이다. 16진수(Hexa) 코드를 들여다 볼 수가 있다.

너무나 많은 패킷중에서 여러분들이 원하는 정보를 보다 쉽게 찾을 수 있도록 네트워크 모니터는 필터링을 지원한다. 캡처한 데이터를 저장해 두었다가 나중에 분석을 할 수도 있다. 메뉴는 상당히 많아 보이지만 메뉴를 살펴보면 충분히 이해할 수 있는 도구이다. 이상으로 간단한 사용방법에 대해서 설명했다.

<그림1-24. Microsoft 네트워크 모니터 필터링>

이 네트워크 모니터를 통해서 특정 호스트가 브로드캐스트를 지속적으로 뿌리는 형태의 문제점들은 간단하게 진단이 가능하다. 그런 다음 문제가 되는 호스트를 네트워크에서 격리시키고 다시 네트워크 모니터링을 해보면 문제점이 사라진 것을 확인할 수 있다.

구체적으로 다른 형태의 문제해결에 어떻게 도움을 줄 수 있는가는 조금 더 접근해야 할 문제이다. 네트워크가 제대로 동작을 하지 않는 경우, 수많은 원인들이 있을 것이다. 예를 들어서 사용자가 로그온을 하지 못한다든가, 인터넷에 액세스가 되질 않는다든가, DNS 쿼리가 실패한다든가 하는 등의 문제가 발생했을 때, 네트워크 모니터를 실행시켜 두고 그러한 네트워크 테스트를 해 보면 당연히 네트워크에 뿌려져야 할 패킷이 외부로 나가지 않는다든가, 혹은 나가긴 하지만 엉뚱한 응답이 온다든가 하는 등의 문제점을 네트워크 모니터를 통해서 들여다 볼 수가 있는 것이다. 앞으로 설명하게 될 네트워킹 서비스 부분에서 문제점을 해결할 때 네트워크 모니터를 사용하게 되는 것을 볼 수 있을 것이다. 그런 사항들을 통해서 네트워크 모니터의 활용도는 여러분 스스로가 챙겨 나가길 바란다.

네트워크 모니터를 실행시켜서 패킷을 캡처를 했어도 어떤 패킷들이 호스트에서 나가고 들어와야 정상적인 상태인지를 알지 못한다면 그것은 무의미한 데이터가 될 뿐이다. 사실 이러한 패킷을 제대로 분석할 줄 아는 전문가를 주변에서 찾기는 쉽지 않다. 하지만 이러한 것들을 통해서 네트워크의 문제점을 진단하고 해결 할 수 있다는 것, 멋진 일이다.

:
Posted by 새벽예찬