본문 바로가기
프로그램 리뷰

Process Explorer (프로세스 익스플로러)

by 글벌레 2011. 2. 18.
반응형
  이 글은 2023년 1월 26일 목요일에 최종 수정되었습니다.
이 글은 2009년 10월 17일에 발행했던 것을 2011년 2월 18일 금요일에 재발행한 겁니다.
프로세스 익스플로러는 시스템의 현재 상태를 가장 간단하면서 명확하게 체크할 수 있는 도구입니다.
강력한 시스템 모니터링 도구이지만 이 도구에 처음 접근하는 사용자들을 위한 친절한 가이드는
그 누구도 제시하지 않았던 것으로 보입니다.

그래서 오늘 제가 그 부분을 제시해 보고자 합니다.

글은 가능한 최대로 간단하게 쓰여질 겁니다.
이 도구와 친해져서 시스템 관리에 있어서 고급 사용자들가 되어 보기 바랍니다.

최대한 간단하게 쓰는 데도 글은 좀 길 겁니다.
그만큼 프로세스 익스플로러는 설명할 게 많은, 활용도가 높은 강력한 도구인데
저는 초보 사용자들이 접근하기 쉽도록 기본적인 부분들을 될 수 있으면 
간단하게 설명해 보겠다는 겁니다.

찬찬히 읽어서 소화만 시킨다면 당신의 컴퓨팅 능력이 몇 단계 높아져 있으리라고 보증합니다 ^ ^*
 
                           ProcessExplorer 다운로드 및 실행


아래 링크가 프로세스 익스플로러의 간단한 소개 및 다운로드 페이지입니다.

https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer

다운로드 받은 Zip 파일을 임의의 폴더에 압축 해제합니다.
(꼭 압축 해제 후에 실행을 해야 합니다.)

                               [그림1]


다운로드받은 파일의 압축을 풀면
아래와 같은 두 개의 파일이 보이는데
64비트 윈도우라면 procexp64.exe를, 32비트 윈도우라면 procexp.exe를 실행하면 됩니다.
 

 


 실행 파일을 실행하면 이제 프로세스 익스플로러가 실행됩니다.
                             
                              [그림2] 프로세스 익스플로러의 메뉴줄 및 도구 모음



                             ProcessExplorer 메인 창 - Hide Lower Pan

 

프로세스 익스플로러를 실행시키고 나서 [그림2]에서 (Hide Lower Pan)를 클릭한 상태라면
메인 창은 다음과 같은 모습입니다.

                 [그림3] 프로세스 익스플로러 메인창 - Hide Lower Pan


[그림3] 은 서비스 영역으로 로딩된 프로세스들을 표시하는 겁니다.
            즉, 시작>실행에서 services.msc 라고 적고 엔터해서 볼 수 있는 것들이라 이해하면 됩니다.

[그림3] ②는 시작 프로그램 영역,
             즉, 시작>실행에서 msconfig라고 적고 엔터해서 뜨는 시스템 구성 유틸리티에서
             시작 프로그램 탭으로 이동해 볼 수 있는 시작 프로그램들의 프로세스들,
             또는 사용자가 실행시킨 프로세스들입니다.

프로세스 익스플로러 간단 예제들.

[예제1]

예를 들어서 작업 관리자를 통하여 보니 svchost.exe가 무수히 많이 실행되어 있습니다.
그런데 작업 관리자 수준에서는 svchost.exe가 많다는 외에 그 어떠한 정보도 알 수가 없습니다 (윈도우 XP 기준).

svchost.exe는 정상적인 경우 프로세스 익스플로러로 볼 때 서비스 영역에서 실행이 되어야 하고
또 그 경로는 system32여야 합니다.

그러므로 [그림3] 영역에서 실행되는 svchost.exe가 있다면 그건 악성코드입니다.

또 한편 실행되고 있는 svchost.exe들을 프로세스 익스플로러 상에서 더블 클릭을 해보면

[그림4] 프로세스 익스플로러에서 보는 파일 properties


[그림4]에서 볼 수 있듯이 그 경로가 단박에 파악이 되고,
또한 서비스 영역에 속한 프로세스의 경우라면
해당 프로세스가 제공하는 서비스가 무엇인지도 알 수가 있습니다.

그러므로 svchost.exe들중에 악성코드로써 침투된 게 있다면 금방 파악이 가능할 겁니다 .

[예제2]

어떤 프로세스가 오류가 나서 응답이 없는 경우 해당 프로세스를 죽여도 죽지 않는 경우가 있습니다.

예를 들어서
인터넷 익스플로러가 응답 없음에 빠졌는데 작업관리자에서 아무리 꺼도 죽지를 않는 경우,
그 이유는 인터넷 익스플로러에 그 오류를 보고하기 위한 프로세스와 또 디버깅을 통해 오류
보고를 하려는 닥터왓슨 프로세스가 하위 프로세스로 따라 붙었기 때문인 경우가 있는데,
이 경우는 이 하위 프로세스들이 작업을 마칠때까지는 응답없는 인터넷 익스플로러가 죽지를 않기 때문에
응답없는 프로세스를 죽이는게 한참 걸려 짜증이 날 수도 있습니다.
그러나 프로세스 익스플로러에서는 이런 경우 단박에 해결이 가능합니다.

이에 대한 자세한 확장된 정보는 아래 관련 글들을 보아 주시기 바랍니다.

관련글 : : 2009/02/13 - [유용한 팁들] - 응답없는 프로세스는 왜 안죽을까 ?
관련글 : : 2009/02/15 - [묻고 답하기] - 응답없는 프로세스 - 확장 .

                        ProcessExplorer 메인 창 - Show Lower Pan


이제 [그림2]에서 (Show Lower Pan)를 클릭한 상태라면 메인 창은 다음과 같은 모습입니다.

                [그림5] 프로세스 익스플로러 메인창 - Show Lower Pan

스샷을 클릭하면 크게 보는 게 가능합니다.


[그림5] 녹색 박스 친 부분을 Lower Pan이라고 부르는데
                 이 부분은 위 [그림5]에서 빨간 네모 친 부분을 보면 프로세스 하나를 클릭해 놓아서
                 파랗게 된 것이 보이실 터인데요. 
                 그렇게 Upper Pan에서 선택된 프로세스에 대한 라이브러리
                 또는
                 핸들들(Handles)을 보여 주는 창입니다.

                 라이브러리는 프로세스가 실행될 때 따라 실행되는 .dll들,
                 핸들(handle)은 해당 프로세스와 관련된 레지스트리 사항들의 표시라고
                 이해하면 이해가 빠르게 될 겁니다.

DLL 보기와 Handles 보기는 [그림2]번 스위치에 의하여 전환이 됩니다.

이제 간단한 또다른 예제를 통해서 라이브러리를 볼 수 있다는데 대한 의미를 찾아보기로 합니다.

[예제]

예를 들어 인터넷 익스플로러가 이상하다고 가정을 하고 심파일 툴바가 악성코드라고 가정을 합니다.

어느 순간 인터넷 익스플로러가 이상한데, 작업 관리자로는 아무리 보아도 
이상한 프로세스가 보이지를 않습니다.

이런 경우는 라이브러리(.dll) 수준에서 어떤 악성코드 파일이
인터넷 익스플로러(iexplorer.exe)로 인젝션이 되었다고 보아야 합니다.

그래서 프로세스 익스플로러에서 iexplorer.exe를 택하고 그 라이브러리들을 보았더니

[그림6] 프로세스별로 보는 하위 라이브러리들 - 이 그림에서는 iexplorer.exe


[그림6]에서 보이는 거처럼 다른 파일들은 Company Name만 참조해도 정상으로 보이는데
빨간 네모친 cablemokey.dll 만 컴퍼니 네임이 낯선 파일입니다.
(사실 cablemokey.dll 은 악성코드가 아니고 심파일 툴바 모듈로써 iexplorer.exe에 인젝션된 상태입니다.)

이런 경우 백신이 그걸 진단하지 못하고 있다면,
우선 아래 관련 글에서 제시한 방법을 통하여
악성 여부를 판단 후 수동 제거 및 사용 중인 백신 회사로 신 고등의 절차를 고려하면 될 겁니다.

관련 글 : : 2009/02/05 - [유용한 팁들] - 바이러스 검사 - Virus Total / VirScan


                                      ProcessExplorer 참고 사항들


1 . 프로세스 익스플로러를 활용해 어떤 프로그램이 프리징(Freezing)된 원인을 
     thread 수준에서 찾아 볼 수 있습니다. 
     이에 대한 확장된 정보는 아래 관련 글을 참조하시기 바랍니다.

     관련 글 보기 : : 2009/04/03 - [유용한 팁들] - 샌드박스 (sandbox)내에서의 프로그램 제거

2 . [그림2]을 통하여 현재 상태의 저장이 가능합니다.
     만약 [그림3]과 같은 상태에서 [그림2]의 을 클릭한다면
     현재 시스템에 실행중인 모든 프로세스들의 정보를 텍스트로 저장이 가능합니다.

      만약 [그림5]와 같은 상태에서 특정 프로세스를 선택하고 [그림2]의 을 클릭한다면
      실행중인 모든 프로세스 + 선택된 프로세스의 라이브러리(.dll)들이 텍스트로 저장됩니다.

     이러한 정보 저장은 자신의 시스템에 문제 발생 시 
     다음 지식 같은 곳에 질문을 올려 해결하려 한다면 답변을 얻는데
     도움이 되는 양질의 정보가 될 수도 있습니다.

3 . Handles 부분은 
    일반적인 사용자들의 입장에서 구별도 잘 안 되는 사항이라서 설명에서 제외를 하였습니다.

4 . 프로세스 익스플로러에는 작업관리자 대체 기능이 제공되는데요.
    이 기능
은 사용하지지 마시기 바랍니다.
    시스템이 전체적으로 프리징되었을 시 
    작업관리자는 신속하게 실행이 가능해 해결의 단초를 제공해 줄 수 있는 반면
    그런 상황에서 프로세스 익스플로러는 실행이 잘 안 됩니다.

여기까지입니다. ^ ^*

아래 관련 글은 2009년 11월 28일 토요일 추가한 확장 예제입니다.
관련 글 : :
2009/11/28 - [유용한 팁들] - ProcessExplorer 활용 예제

아래 관련 글은
프로세스 익스플로러를 실행해 놓고 보면
프로세스들이 여러가지 색들로 표시가 되죠? 그에 대한 설명을 한 글입니다.
관련 글 -
2011/02/22 - [유용한 팁들] - Process Explorer (프로세스 익스플로러) - 아직도 못다한 이야기

반응형

댓글