안녕하세요. 일본서버 호스팅 전문 비전 IDC 기술팀입니다.
오늘은 Windows 10에서 PowerShell의 Test-NetConnection 명령을 사용해 특정 TCP 포트의 연결 상태를 확인하는 방법을 알아보겠습니다. 서버에 서비스가 실행 중이더라도 방화벽, 공유기, 보안 그룹, 라우팅 또는 서비스 자체 문제로 인해 해당 포트까지 연결되지 않을 수 있습니다.
이 문서에서는 IP 주소와 도메인을 대상으로 포트 연결을 테스트하는 방법, TcpTestSucceeded 결과 해석, RDP·HTTP 같은 공통 서비스 포트 테스트, 간단한 True/False 결과 확인과 연결 실패 시 점검 순서를 설명합니다.
적용 환경 및 주의사항
이 문서는 Windows 10의 Windows PowerShell에서 Test-NetConnection을 사용하는 환경을 기준으로 작성합니다. Test-NetConnection은 NetTCPIP 모듈에 포함된 cmdlet으로, 원격 호스트의 DNS 이름 또는 IP 주소와 특정 TCP 포트에 대한 연결 진단 정보를 확인할 수 있습니다.
1. 특정 TCP 포트 연결 상태 확인
기본 사용 형식은 다음과 같습니다. -ComputerName에는 대상 서버의 IP 주소 또는 DNS 이름을 입력하고, -Port에는 확인하려는 TCP 포트 번호를 입력합니다.
Test-NetConnection -ComputerName 203.0.113.10 -Port 443
위 예시는 203.0.113.10 서버의 TCP 443 포트까지 연결할 수 있는지 확인합니다. 예시 IP는 실제 확인할 서버 주소로 변경하십시오.
SSH 기본 포트인 TCP 22를 확인하려면 다음과 같이 실행합니다.
Test-NetConnection -ComputerName 203.0.113.10 -Port 22
원격 데스크톱 기본 포트인 TCP 3389를 확인하려면 포트 번호만 변경하면 됩니다.
Test-NetConnection -ComputerName 203.0.113.10 -Port 3389
2. Test-NetConnection 결과 해석
특정 포트를 테스트하면 대상 컴퓨터 이름, 원격 주소, 원격 포트, 사용된 인터페이스와 소스 주소, TCP 테스트 결과 등이 표시됩니다. 가장 중요한 항목은 TcpTestSucceeded입니다.
| 항목 | 의미 |
|---|---|
ComputerName |
테스트 대상으로 지정한 호스트 이름 또는 주소 |
RemoteAddress |
실제로 연결을 시도한 원격 IP 주소 |
RemotePort |
테스트한 TCP 포트 번호 |
InterfaceAlias |
연결에 사용된 로컬 네트워크 인터페이스 |
SourceAddress |
연결을 시도한 로컬 IP 주소 |
TcpTestSucceeded |
True이면 해당 TCP 포트까지 연결 성공, False이면 TCP 연결 실패 |
TcpTestSucceeded : True이면 현재 PC에서 대상 서버의 해당 TCP 포트까지 네트워크 연결이 가능한 상태입니다.
False라고 해서 원인이 반드시 Windows 방화벽이라는 뜻은 아닙니다. 대상 서비스 미실행, 서버 측 방화벽, 공유기 포트포워딩, 클라우드 보안 그룹, IDC 방화벽 또는 라우팅 문제도 원인이 될 수 있습니다.
3. 도메인 이름으로 포트 연결 확인
-ComputerName에는 IP 주소뿐 아니라 DNS 이름도 사용할 수 있습니다. 예를 들어 server.example.com의 TCP 443 포트를 확인합니다.
Test-NetConnection -ComputerName server.example.com -Port 443
도메인을 사용할 경우 결과의 RemoteAddress를 함께 확인하면 현재 DNS 이름이 어떤 IP 주소로 해석되어 연결을 시도했는지 확인하는 데 도움이 됩니다.
도메인 이름으로는 실패하지만 같은 서버의 IP 주소로는 성공한다면 TCP 포트 자체보다 DNS 이름 해석이나 DNS 레코드를 먼저 점검하는 것이 좋습니다.
4. True/False 결과만 확인
스크립트나 간단한 점검에서 전체 진단 정보가 필요하지 않다면 -InformationLevel Quiet를 사용하여 성공 여부만 확인할 수 있습니다.
Test-NetConnection -ComputerName 203.0.113.10 -Port 443 -InformationLevel Quiet
연결이 성공하면 True, 실패하면 False가 표시됩니다. 여러 서버의 포트를 반복 점검하거나 PowerShell 조건문에서 결과를 사용할 때 유용합니다.
5. RDP·HTTP 등 공통 TCP 포트 확인
Test-NetConnection은 -CommonTCPPort 옵션으로 일부 일반 서비스 포트를 이름으로 지정할 수 있습니다. 공식 문서에서 지원하는 값은 HTTP, RDP, SMB, WINRM입니다.
원격 데스크톱 포트를 확인하려면 다음과 같이 실행합니다.
Test-NetConnection -ComputerName 203.0.113.10 -CommonTCPPort RDP
HTTP 서비스는 다음과 같이 확인할 수 있습니다.
Test-NetConnection -ComputerName server.example.com -CommonTCPPort HTTP
6. TcpTestSucceeded가 False일 때 점검 방법
특정 포트 테스트 결과가 False라면 다음 순서로 원인을 좁히는 것이 좋습니다.
- IP 또는 도메인이 정확한지 확인합니다. 잘못된 DNS 레코드나 이전 서버 IP를 사용하고 있지 않은지 확인합니다.
- 대상 서버에서 서비스가 실제 실행 중인지 확인합니다. 서비스가 중지되어 있거나 다른 포트에서 실행 중이면 연결할 수 없습니다.
- 대상 서버가 해당 포트에서 수신 대기 중인지 확인합니다. Windows라면
netstat -ano또는Get-NetTCPConnection을 사용할 수 있습니다. - 서버 측 방화벽을 확인합니다. Windows Defender 방화벽 또는 Linux 방화벽에서 해당 TCP 포트를 허용해야 합니다.
- 상위 네트워크 장비를 확인합니다. 공유기 NAT/포트포워딩, IDC 방화벽, 클라우드 보안 그룹 또는 네트워크 ACL이 차단하고 있지 않은지 확인합니다.
- 다른 네트워크 경로에서도 테스트합니다. 사내망, VPN, 통신사 또는 로컬 방화벽에 따라 특정 포트가 차단될 수 있습니다.
| 상황 | 우선 확인할 항목 |
|---|---|
| IP 주소로 포트 테스트 성공 | 네트워크와 해당 TCP 포트까지 기본 연결 가능 |
| 도메인으로 실패, IP로 성공 | DNS 레코드 및 이름 해석 확인 |
| 서버 내부에서는 포트가 열려 있으나 외부 테스트 실패 | 서버 방화벽, NAT, 보안 그룹, IDC 방화벽 등 외부 경로 확인 |
| 서버 내부에서도 LISTEN 상태가 아님 | 애플리케이션 또는 서비스 상태와 실제 설정 포트 확인 |
7. Test-NetConnection 사용 시 알아둘 점
Test-NetConnection -Port는 지정한 TCP 포트의 연결 가능 여부를 확인합니다. TCP 연결 성공만으로 웹 페이지, 데이터베이스 로그인, SSH 인증 또는 RDP 로그인까지 정상이라는 의미는 아닙니다.
예를 들어 TCP 443 연결이 성공해도 HTTPS 인증서 오류나 웹 애플리케이션 오류가 있을 수 있고, TCP 22가 열려 있어도 SSH 사용자 인증은 실패할 수 있습니다. 포트 테스트는 네트워크 경로에서 해당 서비스의 TCP 연결 지점까지 접근 가능한지를 판단하는 첫 단계로 보는 것이 좋습니다.
공식 참고자료
- Microsoft Learn — Test-NetConnection (NetTCPIP) —
-ComputerName,-Port,-CommonTCPPort,-InformationLevel및 TCP 연결 진단 기능 확인. 조회일: 2026-10-13. - Microsoft Lifecycle — Windows 10 지원 종료 — Windows 10 지원 종료일 및 이후 보안 업데이트 정책 확인. 조회일: 2026-10-13.
자주 묻는 질문
Test-NetConnection에서 포트가 열려 있는지 어떤 값을 보면 되나요?
TcpTestSucceeded 값을 확인하면 됩니다. True이면 현재 PC에서 해당 TCP 포트까지 연결이 성공한 것이고, False이면 연결하지 못한 것입니다.
IP 주소 대신 도메인을 사용할 수 있나요?
가능합니다. -ComputerName에 서버의 DNS 이름을 입력하면 이름을 해석한 뒤 해당 주소의 포트로 연결을 시도합니다.
결과를 True 또는 False만 나오게 할 수 있나요?
-InformationLevel Quiet를 추가하면 Boolean 결과만 확인할 수 있습니다.
TcpTestSucceeded가 True면 해당 서비스가 완전히 정상인가요?
아닙니다. TCP 연결 자체가 가능하다는 의미입니다. 실제 애플리케이션 로그인, 인증서, 프로토콜 응답, 사용자 인증 등의 정상 여부는 해당 서비스에 맞는 별도 점검이 필요합니다.
마무리
Windows 10에서 특정 TCP 포트의 연결 상태를 확인할 때는 Test-NetConnection -ComputerName 대상 -Port 포트번호를 실행하고 TcpTestSucceeded 값을 확인하면 됩니다. 연결에 실패한다면 서비스 실행 상태, 서버의 수신 포트, 방화벽, NAT와 상위 네트워크 경로를 순서대로 확인하면 원인을 보다 빠르게 좁힐 수 있습니다.
비전 IDC는 일본서버 호스팅 환경을 포함한 Windows 및 Linux 서버 운영 환경에서 네트워크와 포트 연결 문제를 정확하게 진단하는 데 도움이 되는 기술정보를 지속적으로 제공하겠습니다.
