서버이야기

Windows 네트워크 트러블 슈팅 명령 : Test-NetConnection (포트/경로 확인)

지기(ZIGI) 2026. 2. 22. 17:18

Today Keys : windows, powershell, test-netconnection, tcp, port, traceroute, dns, troubleshooting, firewall, routing


 실무 환경에서, '인터넷이 안 돼요', '특정 서비스가 안 열려요'와 같은 이슈를 받으면, 가장 먼저 하는 일들은 DNS 질의는 잘 되는지, 목적지까지 통신이 되는지, 서비스 포트는 열리지 않았는지 등을 먼저 체크하게 됩니다. 

 사용자들의 환경 중의 상당 수가 윈도우 환경이기 때문에 보통 이럴 때 가장 많이 사용되는 명령어가 ping이나, tracert, nslookup 같은 명령어를 사용하여 점검을 합니다.

 이번 포스팅에서는 PowerShell에서 기본적으로 사용 가능한 Test-NetConnection 명령어를 통해서 이와 같은 점검하는 방법을 알아보겠습니다.


Test-NetConnection

Test-NetConnection은 연결(Connection)에 대한 진단 정보를 확인할 수 있는 PowerShell 명령어로 다음의 기능을 수행할 수 있습니다. 

  • DNS 질의 결과 확인 : 도메인으로 질의 시에, Remote Address 항목으로 질의 결과에 대한 IP 값을 확인 할 수 있습니다.
  • TCP 포트 오픈 확인 : TcpTestSucceeded 항목의 결과 값으로 목적지의 특정 TCP 포트가 오픈된 상태인지 확인할 수 있습니다.
  • 경로 추적(Trace Route) : 목적지까지의 경로를 추적합니다. 단, TCP를 사용한 경로 추적을 지원하지는 않습니다.
  • 정제된 점검 결과 값 : 점검한 결과 값이 사용자가 보기 쉽게 정제되어 출력됩니다. 

 

Test-NetConnection 사용법

1. DNS 질의 결과 및 Ping 확인

   - 목적지 도메인(혹은 IP 주소로도 가능)에 대한 Ping 테스트와 동일한 사용입니다. 

Test-NetConnection 도메인
Test-NetConnection IP주소

   - 목적지에 도달 가능한지, 'PingSucceeded' 결과 값과 RTT와 함께 목적지 주소와 함께 점검에 사용한 출발지의 인터페이스와 IP 주소도 함께 출력해주기 때문에 점검 결과를 그대로 받아서 분석하기 편리합니다. 

   - 다만, Ping에서 제공하는 다양한 옵션을 지원하지는 않습니다.

 

2. 서비스 포트 오픈 확인

   - 목적지 서비스 포트가 오픈된 상태인지 확인하는 방법입니다.

   - 옵션에 '-Port 포트번호' 를 사용합니다.

Test-NetConnection 도메인주소 -Port 포트번호

   - TcpTestSucceeded에서 'True' 혹은 'False'로 TCP 포트가 오픈된 상태인지 점검합니다.

 

 

3. 목적지까지의 경로 추적(Traceroute)

   - 목적지까지의 경로 추적하는 하는 것으로, 기존 윈도우의 tracert와 동일한 역할을 합니다.

   - ICMP Echo Request를 이용해서 목적지 경로까지의 경로를 추적하여 결과를 알려줍니다.

   - PingSucceeded 결과 값과 함께, RTT 값 그리고 TraceRoute를 출력합니다.
       ※ 중간에 0.0.0.0으로 출력된 값은 * * * 같은 의미로, 경로 상의 장비 정책에 따라서 응답 받지 못한 경우입니다.

 

 

 

4. 점검에 대한 상세 값 확인

   - 점검 결과에 대한 상세한 값을 추가적으로 확인하기 위한 detailed 옵션을 사용하는 방법입니다. 

Test-NetConnection 도메인 -Port 포트 -InformationLevel Detailed

   - 기존의 출력되는 값이외에 추가적인 항목이 출력되는 것을 볼 수 있습니다. 

  • NameResolutionResults : 요청 도메인 주소에 대한 응답 IP 값이 모두 출력됩니다. 
  • MatchingIPSecRules : Windows IPsec 정책/규칙이 있는 경우, 테스트 트래픽이 이 정책/규칙에 매칭되는지 확인합니다.
  • NetworkIsolationContext : Windows가 테스트한 목적지를 어떤 격리/네트워크 컨텍스트로 분류됐는지에 대한 내용입니다.
  • NetRoute (NextHop) : 테스트한 목적지로 가기 위한 Next Hop 정보입니다. 어떤 라우팅 정책을 탔는지 확인할 수 있습니다.

 

   - Detailed 옵션을 사용하는 경우는 보통 테스트가 성공한 경우가 아니라, 실패한 경우에 원인을 확인하기 위해서 사용합니다.

   - 만약 동일한 시도에 대해서 실패한 경우라면 추가적인 테스트와 함께 결과 값을 좀 더 출력합니다.

   - 아래 결과 값을 확인해보면, 445 포트에 대해서는 서비스 오픈 점검은 실패하였지만, Ping을 추가적으로 점검하여, Ping은 정상적으로 된다는 것을 보여주고 있습니다. 

 

 

이처럼 Test-NetConnection 명령과 옵션으로 다양한 네트워크 연결 점검을 할 수 있습니다. 

다만, 기존에 지원하는 개별 점검 명령어가 제공하는 다양한 옵션 값 사용이 필요한 경우에는 각 개별 점검 명령어를 사용해야 하기 때문에 대체제의 명령어라기 보다는 네트워크 점검을 보다 효율적으로 지원하는 또 하나의 명령어라고 보시면 좋을 것 같습니다.