2013년 1월 9일 수요일

netstat 를 이용한 포트사용 프로세스 확인방법 (윈도우)

Windows 를 사용하는 동안에 보안 감염이 의심되는 경우나 운영상의 이유로 열려있는 포트가 어떤 프로세스에서 사용하는지 알아야할 때가 있다.

보통은 Cports (Currport) , Active Ports 등을 사용하면 편리한데 (툴은 각자 찾아보길...)
정말 급할 때는 그냥 윈도우에 내장되어 있는 netstat 를 조금만 활용하면 쉽게 포트와 프로세스를 매칭 시킬 수 있다.


먼저 윈도우의 netstst help 페이지는 다음과 같다.
==================
> netstat /?
프로토콜 통계와 현재 TCP/IP 네트워크 연결을 표시합니다.
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
  -a            모든 연결과 수신 대기 포트를 표시합니다.
  -b            각 연결 또는 수신 대기 포트 생성과 관련된 실행 파일을
                표시합니다. 잘 알려진 실행 파일에서 여러 독립 구성 요소를
                호스팅하는 경우 연결 또는 수신 대기 포트 생성과 관련된
                구성 요소의 시퀀스가 표시됩니다.
                이러한 경우에는 실행 파일 이름이 아래에 대괄호로
                표시되고 위에는 TCP/IP에 도달할 때까지
                호출된 구성 요소가 표시됩니다.
                이 옵션은 시간이 오래 걸릴 수 있으며 사용 권한이 없으면
                실패합니다.
  -e            이더넷 통계를 표시합니다. 이 옵션은 -s 옵션과 함께
                사용할 수 있습니다.
  -f            외부 주소의 FQDN(정규화된 도메인 이름)을
                표시합니다.
  -n            주소와 포트 번호를 숫자 형식으로 표시합니다.
  -o            각 연결의 소유자 프로세스 ID를 표시합니다.
  -p proto      proto로 지정한 프로토콜의 연결을 표시합니다. proto는
                TCP, UDP, TCPv6 또는 UDPv6 중 하나입니다. -s 옵션과 함께
                사용하여 프로토콜별 통계를 표시할 경우 proto는 IP, IPv6, ICMP,
                ICMPv6, TCP, TCPv6, UDP 또는 UDPv6 중 하나입니다.
  -r            라우팅 테이블을 표시합니다.
  -s            프로토콜별 통계를 표시합니다. 기본적으로 IP, IPv6, ICMP,
                ICMPv6, TCP, TCPv6, UDP 및 UDPv6에 대한 통계를 표시합니다.
                -p 옵션을 사용하여 기본값의 일부 집합에 대한 통계만 표시할 수 있습니다.
  -t            현재 연결 오프로드 상태를 표시합니다.
  interval      다음 화면으로 이동하기 전에 지정한 시간(초) 동안 선택한 통계를다시 표시합니다.
                통계 다시 표시를 중지하려면 <Ctrl+C>를 누르십시오.
                이 값을 생략하면 현재 구성 정보가
                한 번만 출력됩니다.
==================

따라서 netstat -no 를 이용하면 "PID" 를 확인 할 수 있으며, 
다시 tasklist /FI "PID eq [PID]" 명령어를 이용하면 해당 프로세스의 이름을 알 수 있다


댓글 2개: