UDP 포트 확인 TCP 포트 확인 열려있는지1 – 윈도우

네트워크 통신을 하다보면 UDP TCP에 포트가 열려있는지 확인이 필요한 경우가 있습니다. 이럴때 유용하게 쓸 수 있는 방법을 소개합니다.

UDP TCP 포트 확인 방법

TCP 포트 확인

Windows에서 PowerShell 사용

UDP TCP 포트 확인은 Windows에서는 PowerShell을 사용하여 포트를 확인할 수 있습니다.

Test-NetConnection -ComputerName [IP_address] -Port [port]

이 명령어를 실행하면 해당 포트와 IP로 연결이 되는지 결과를 볼 수 있습니다. 만약 연결이 성공하면 포트가 열려 있음을 의미합니다.

만약 여러 포트를 한번에 확인하려면 스크립트를 작성할 수도 있습니다.

참고: 이 명령어들은 로컬 머신에서 원격 서버의 포트에 접근 가능한지만 확인합니다. 만약 방화벽, 네트워크 정책 등이 중간에 끼어 있다면 이 명령어로는 확인이 어려울 수 있습니다.

여러 범위의 TCP 포트 확인

범위 내의 포트가 열려 있는지 확인하려면 스크립트를 사용해 여러 포트를 순차적으로 테스트할 수 있습니다. 여기에는 여러 방법이 있을 수 있지만, 가장 간단한 것은 Bash 스크립트나 PowerShell 스크립트를 사용하는 것입니다.

Windows에서는 다음과 같은 PowerShell 스크립트를 사용할 수 있습니다.

$IP = "공용 IP" 
59000..60000 | ForEach-Object {
  $result = Test-NetConnection -ComputerName $IP -Port $_
  if ($result.TcpTestSucceeded) {
    Write-Host "Port $_ is open"
  } else {
    Write-Host "Port $_ is closed"
  }
}

공용 IP 부분의 외부 IP를 적어주세요

tcping 프로그램 이용

프로그램 링크

사용설명

소개해드릴 툴은 TCP 서비스에 대한 응답 유무를 체크할 수 있는 프로그램인데요, 가장 많이 사용하고 있는 것이 tcping이 되겠습니다.

tcping은 단순 응답에 그치지 않고, TCP 서비스 포트에 대한 응답 여부를 체크하는 툴로써 보다 세밀한 응답을 기대할 수 있습니다.

tcping은 ping과 유사하게 도스 명령으로 처리되는데요, ping x.x.x.x -t 옵션과 같이 계속적인 응답을 요구할 때는 tcping -t x.x.x.x 로 옵션을 주면 됩니다.

ping이 -t 옵션을 ip 뒤에 주는 것에 비해 tcping은 ip의 앞에 주게 됩니다.

tcping -t daum.net 80

위 명령은 daum.net 홈페이지에 대하여 tcp/80 서비스에 대한 응답을 테스트하는 명령입니다.

UDP 포트 확인

외부 IP에 IP를 입력하고 확인하고자 하는 포트를 적습니다.

$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect("외부IP", 포트)

$Message = [Text.Encoding]::ASCII.GetBytes("Test message")
$UdpClient.Send($Message, $Message.Length)
$UdpClient.Close()

UCP포트 범위의 확인

범위로 검색하고 싶으시면 아래의 포트 MIN~ MAX 값을 설정하고 외부IP를 적어줍니다.

$StartPort = 포트 MIN
$EndPort = 포트 MAX
$IPAddress = "외부IP"

for ($port=$StartPort; $port -le $EndPort; $port++) {
    $udpclient = New-Object System.Net.Sockets.UdpClient
    $udpclient.Connect($IPAddress, $port)
    
    $status = $null
    try {
        $udpclient.Send([Text.Encoding]::ASCII.GetBytes("Test"), 4) | Out-Null
        $status = "Open"
    }
    catch {
        $status = "Closed"
    }
    finally {
        $udpclient.Close()
    }

    Write-Host "Port $port is $status"
}

이 스크립트는 각 포트에 대해 UDP 패킷을 전송하고 에러가 발생하지 않는다면 해당 포트를 ‘Open’으로 표시합니다.

주의: 이 스크립트는 실제로 해당 IP에 UDP 패킷을 전송합니다. 따라서 네트워크 정책이나 방화벽 설정에 따라 문제가 발생할 수 있습니다. 항상 조심스럽게 사용해야 합니다.

UDP 포트 확인 TCP 포트 확인

UDP TCP 포트 확인

다른포스트

댓글 남기기

%d 블로거가 이것을 좋아합니다: