안녕하세요?

 

 이번 티스토링에서는 netstat에 대해서 알아 볼려고 합니다. 시스템을 운영하다보면 백도어(Backdoor)같이 PORT를 항상 열어두고 있는 경우가 있습니다. 실제로 백도어(Backdoor)가 설치되어 있기도 합니다.

 

 제가 경험한 바로는 PORT부족해서 더이상 실제 사용자가 접속을 못하는 경우가 간혹 발생을 하였습니다(심한경우 원격접속도 되지 않아서 직접 콘솔에서 작업해야 되는 경우도 발생 ㅡㅡ;).

 

 현재 내 컴퓨터에서 연결중이거나 연결대기중인 상태의 PORT를 확인 할 수 있는 방법을 알아 보겠습니다. 해당 PORT를 사용하는 프로세스를 찾아서 강제로 종료해 보겠습니다.

 

실행창에서 cmd를 실행 합니다.

 

 

 

 

 

 명령프롬프트에서 netstat -? 명령과 옵션을 확인해 보겠습니다. 많이 사용하는 옵션에는 -a, -b, -n, -o 정도 입니다.

 

 

 

 

netstat로 기본으로 출력되는 내용을 보겠습니다.

 

 

 프토로콜(TCP, UDP), 로컬 주소(컴퓨터IP와 포트), 외부 주소(호스트-서버 주소와 포트), 상태가 표시 됩니다.

 

- TCP(Transmission Control Protocol) : 신뢰성 있는, 즉 재전송에 의한 오류제어와 흐름제어를 하는 스트림(stream) 형태의 연결형 서비스를 제공

 - UDP(User Datagram Protocol) : 재전송이나 흐름제어가 없는 비연결형 서비스를 제공

 

- ESTABLISHED : 연결 중

- CLOSED : 끊어진 연결

- LISTENING : 열린 포트

 

 

netstat -a 옵션으로 출력되는 항목을 확인해 보겠습니다.

 

 

모든 연결과 수신 대기 포트를 표시합니다.

 

 

netstat -n 옵션으로 출력되는 항목을 확인해 보겠습니다.

 

 

주소와 포트 번호를 숫자 형식으로 표시합니다. www.dsun.kr 처럼 도메인 주소가 아닌 IP번호와 숫자포트로 나타납니다.

 

 

 

netstat -b 옵션으로 출력되는 항목을 확인해 보겠습니다.

 

 

"요청한 작업을 수행하려면 권한 상승이 필요합니다." 라고 오류가 뜹니다. cmd 창이 현재 관리자 권한으로 실행이 되지 않아서 프로세스 목록을 표시 할 수 없기 때문입니다.

 

 

 

 

 cmd 창을 아래와 같이 관리자 권한으로 실행하여 뛰웁니다.

 

 

 

 

이제 다시 netstat -b 옵션으로 실행을해 봅니다.

 

 

각 연결 또는 수신 대기 포트 생성과 관련된 실행 파일을 표시합니다.

 

 

이제는 -b-n 옵션을 동시에 사용해 보겠습니다.

 

netstat -bn 옵션으로 실행을해 봅니다.

 

 

-b 옵션으로 실행 파일이 표시가 되고 -n 옵션으로 주소와 포트 번호가 숫자로 표시가 됩니다.

 옵션을 복합적으로 사용하여 좀더 상세한 내역을 볼 수 있습니다.

 

 

 이제는 실제 어떤 프로그램이 어떤 프로세스 ID로 실행이 되고 있으며 실행파일의 위치가 어디인지 확인하는 방법을 알아 보겠습니다.

 이 방법은 백어도(Backdoor)로 의심이 되는 실행파일을 찾아서 프로세스를 강제로 종료하고 프로그램을 삭제할 수 있는 방법이기도 합니다.

 

 

-b, -n, -o 옵션을 복합적으로 사용합니다.

 

-o 옵션으로 프로세스 ID(PID)가 표시 됩니다. 작업관리자를 실행하여 PID를 이용하여 프로세스를 찾아 보겠습니다. PID692KakaoTalk.exe의 실행파일의 위치를 찾아 보겠습니다.

 

 

 작업관리자를 실행 합니다. 단축키는 Ctrl + Shift + Esc 를 동시에 누르면 작업관리자가 나타납니다.

 

 

 KakaoTalk(32비트)가 보이지만 PID가 같은지는 알수가 없습니다. PID를 볼 수 있도록 컬럼을 추가해 보겠습니다.

 

 

 저는 윈도우8.1을 기준으로 하였습니다. 작업관리자에서 PID를 추가 할 수 있도록 마우스 오른쪽 클릭을 해서 메뉴에 PID를 선택하시면 됩니다.

 

 

 

 이제는 PID가 보입니다. netstat -bno로 알 수 있었던 PID 692KakaoTalk(32비트)가 정확게 뜹니다.

 

 

 

 해당 프로세스에 마우스를 올려놓고 오른쪽 클릭을 하고 메뉴에서 파일 위치 열기(O)를 선택하시면 실행파일의 위치가 열립니다.

 

 

 

 

다시 작업관리자로 돌아가서 강제로 PID692프로세스를 강제로 죽여 보겠습니다(KakaoTalk에 대한 나쁜감정은 없습니다 ㅠㅠ).

 해당 프로세스에 마우스를 올려놓고 오른쪽 클릭을 하고 메뉴에서 작업 끝내기(E)를 선택하시면 프로세스가 종료 됩니다.

 

 

지금까지 소개한 내용으로 백도어(Backdoor)를 찾거나 내 컴퓨터에서 실행되는 프로세스가 사용하는 Port번호, 실행 파일 위치 등을 알 수 있습니다.

 만약 백도어(Backdoor)로 의심이 된다면 안철수 연구소로 신고하시면 됩니다. ^^*

 

 

※ 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.