IT 기술

PortQry를 사용하여 TCP/UDP 열린 포트 확인(포트 스캐너)_(1)

초이1220 2021. 11. 24. 20:24
728x90

윈도우 (TCP / IP 네트워크에서 문제를 진단하는 데 많은 도구가 ping, telnet, pathping, 등). 그러나 이들 모두가 상태를 편리하게 확인하거나 원격 서버에서 열린 네트워크 포트를 스캔할 수 있는 것은 아닙니다. Portqry.exe가의 유틸리티는 TCP / IP 네트워크에서 다양한 네트워크 서비스와 방화벽의 운영과 관련된 문제를 진단하기 위해 원격 호스트의 TCP / UDP 포트의 반응을 확인 할 수있는 편리한 도구입니다. 대부분의 경우 Portqry 유틸리티는 telnet명령을 보다 기능적으로 대체하는 데 사용되며 텔넷과 달리 열려 있는 UDP 포트도 확인할 수 있습니다.

 

PortQry로 열린 UDP/TCP 포트 스캔

Windows Server 2003용 PortQry의 첫 번째 버전은 최신 OS 버전(Windows Server 2008 이상)에서 제대로 작동하지 않으므로 유틸리티의 두 번째 버전인 PortQryV2 가 릴리스되었습니다. 오늘 사용해야 하는 버전입니다( 여기에서 PortQryV2를 다운로드할 수 있음)

 

Windows 10에서는 다음 명령과 함께 Chokolatey 패키지 관리자  사용하여 PortQry를 설치할 수 있습니다 .

choco install portqry

 

PortQryV2.exe 아카이브를 다운로드하고 압축을 풉니다 . 명령 프롬프트를 실행하고 유틸리티가 있는 디렉터리로 이동합니다. 예를 들면 다음과 같습니다.

 

cd c:\tools\PortQryV2

 

 

예를 들어 클라이언트에서 DNS 서버의 가용성을 확인하려면 53개의 TCP 및 UDP 포트가 열려 있는지 확인해야 합니다. 포트 확인 명령의 구문은 다음과 같습니다.

PortQry -n server [-p protocol] [-e || -r || -o endpoint(s)]

  • -n 은 가용성을 확인 중인 서버의 이름 또는 IP 주소입니다.
  • -e 는 검사할 포트 번호입니다(1에서 65535 사이).
  • -r 은 검사할 포트의 범위입니다(예: 1:80).
  • -p 는 검사에 사용되는 프로토콜입니다. TCP, UDP 또는 BOTH일 수 있습니다(기본적으로 TCP가 사용됨).

참고 . TCP 포트의 가용성만 확인하는 데 사용할 수 있는 Test-NetConnection PowerShell cmdlet 과 달리 PortQry 유틸리티는 TCP 및 UDP 프로토콜을 모두 지원합니다.

 

이 예에서 명령은 다음과 같습니다.

PortQry.exe –n 10.0.25.6 -p both -e 53

 

Portqry는 세 가지 사용 가능한 포트 상태 중 하나를 반환합니다.

  • Listening – 포트가 열려 있고(연결 수락) 응답이 수신되었음을 의미합니다.
  • Not Listening – 지정된 포트에서 연결을 수락하는 대상 시스템에 프로세스(서비스)가 없음을 나타냅니다. PortQry는 UDP 포트 또는 Reset 플래그가 있는 TCP 패킷을 확인할 때 ICMP 응답 "Destination Unreachable – Port Unreachable"을 수신했습니다.
  • 필터링됨 – PortQry가 지정된 포트에서 응답을 받지 못했거나 응답이 필터링 되었음을 의미합니다. 즉, 이 포트는 대상 시스템에서 수신 대기하지 않거나 방화벽이나 일부 시스템 설정에 의해 액세스가 제한됩니다. 기본적으로 TCP 포트는 3번 폴링되고 UDP는 1번입니다.

이 예에서 DNS 서버는 TCP 및 UDP 포트를 통해 클라이언트에서 사용할 수 있습니다.

 

TCP 포트 53(도메인 서비스): 수신
UDP 포트 53(도메인 서비스): 수신 중

-o 속성을 사용하면 포트의 순서를 지정하여 가용성을 확인할 수 있습니다.

portqry -n 10.0.25.6 -p tcp -o 21,110,143

다음 명령은 잘 알려진 TCP/IP 포트 번호의 범위를 스캔하고 연결을 허용하는 포트 목록을 반환합니다(TCP 포트 스캐너로 작동).

portqry -n 10.0.25.6 -r 1:1024 | find ": LISTENING"

 

열린 포트 스캔 결과를 텍스트 파일에 저장할 수 있습니다.

portqry -n 10.0.25.6 -p tcp -r 20:500 -l scan_port_log.txt

portqry 유틸리티에는 대화식 모드가 있습니다.

portqry –i

이제 PortQry 대화형 모드 프롬프트에서 원격 컴퓨터의 이름과 포트 번호를 지정할 수 있습니다.

node srv-lic
set port=80

지정된 서버의 포트를 확인하려면 q를 누르고 Enter를 누르 십시오.

 

-wport  -wpid 인수를 사용하여 지정된 포트(wport) 또는 로컬 호스트의 지정된 프로세스(wpid)와 연관된 모든 포트의 상태를 모니터링할 수 있습니다.

예를 들어, 다음 명령은 지정된 로컬 포트의 응답을 10분 이내에 모니터링하고(예: RDP 포트 3389 ) 상태가 변경되면 이에 대해 관리자에게 알립니다(자세한 로그는 LogFile .txt). 포트 모니터링을 중지하려면 Ctrl-C를 누릅니다.

portqry -wport 3389 -wt 600 –l LogFile.txt -y -v

로컬 컴퓨터에서 열린 포트 및 활성 TCP/UDP 연결에 대한 정보를 얻을 수 있습니다.

portqry.exe -local

728x90