Windows 서버에서 포트가 열려 있는지 어떻게 확인합니까? [닫은]


478

서버의 대체 포트 아래에 사이트를 설치하려고하는데 포트가 방화벽에 의해 닫혀있을 수 있습니다. 포트가 열려 있는지 확인하기 위해 특정 포트에서 핑 (ping) 또는 입력하는 방법이 있습니까?


답변:


732

사용하려는 TCP (UDP가 아닌) 포트라고 가정하십시오.

  1. 서버 자체에서 netstat -an어떤 포트가 수신 중인지 확인하십시오.

  2. 외부에서 telnet host port(또는 telnet host:portUnix 시스템에서) 연결이 거부, 수락 또는 시간 종료되었는지 확인하십시오.

후자의 테스트에서 일반적으로 :

  • 연결 거부 는 해당 포트에서 아무것도 실행되지 않음을 의미합니다
  • 허용됨 은 해당 포트에서 무언가가 실행되고 있음을 의미합니다
  • 시간 초과 는 방화벽이 액세스를 차단하고 있음을 의미합니다

Windows 7 또는 Windows Vista에서 기본 옵션 'telnet'은 내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않습니다. 이 문제를 해결하려면 * 시작 ** → 제어판프로그램Windows 기능 켜기 또는 끄기를 클릭하십시오. 목록에서 아래로 스크롤하여 Telnet 클라이언트를 선택 하고을 클릭하십시오 OK.


312
Win7 또는 Vista에서 기본 옵션 인 'telnet'은 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다. 이 문제를 해결하려면 활성화하십시오. 시작, 제어판, 프로그램을 클릭 한 다음 Windows 기능을 켜거나 끄십시오. 목록에서 아래로 스크롤하여 Telnet 클라이언트를 선택하고 확인
volody를

12
@PankajKohli는 PuTTy telnet 클라이언트를 대신 사용합니다. 설치할 필요가 없습니다.
콜린 피커드

52
무엇을 Could not open connection to the host, on port *x*: Connect failed나타 냅니까?
Kenny Evitt

2
@Alnitak 나는 이것이 이미 내 질문에 대답한다고 생각하기 때문에 확인하고 싶었습니다. 내가 할 때 telnet api-3t.sandbox.paypal.com 443내가 얻을 Connecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failed방화벽이 차단되기 때문에이 있습니까?
뽀빠이

2
차이가있는 경우를 열 telnet.exe를 다음 입력 o host port을 입력 한 다음 열기 명령 행 (cmd.exe를) 대와telnet host port
파블 Cioch

185

Windows에서는 사용할 수 있습니다

netstat -na | find "your_port"

결과를 좁히기 위해. 또한 필터링 할 수 있습니다 LISTENING, ESTABLISHED, TCP등. 그래도 대소 문자를 구분합니다.


4
당신은 이런 식으로 찾을 수 없습니다, 그것은 파일을 검색합니다, 당신은 grep를 사용해야합니다
Moataz Elmasry

38
@MoatazElmasry는 Linux에 해당하지만 find는 올바른 명령 인 Windows 서버에 있습니다. Windows에서는 Grep을 사용할 수 없습니다. 나는 여기에 언급 된 정확한 명령을 실행했으며 완벽하게 작동했습니다.
Ben Wyatt

4
내가 netstat -an | "19345"를 찾으면 결과가 없습니다. 무슨 뜻이에요?
nanosoft

14
find나를 위해 Windows 10에서 작동하지 않았지만 작동 netstat -na | findstr "8080"했습니다
arun

6
find 또는 findstr과 함께 아무 일도 일어나지 않습니다
usefulBee

83

서버 자체가 아닌 외부에서 확인하고 텔넷 (최신 버전의 Windows와 함께 제공되지 않음) 또는 다른 소프트웨어 설치를 방해하지 않으려는 경우 기본 PowerShell이 ​​있습니다.

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed

(불행히도 이것은 PowerShell 4.0 이상에서만 작동합니다. PowerShell 버전을 확인하려면을 입력하십시오 $PSVersionTable.)

추신 : 요즘 트위터 코어에는 PowerShell Core의 "Test-Connection"또는 바로 가기 "tnc"를 언급 하여이 답변을 향상시킬 수 있음을 암시하는 주장이 있습니다. https://twitter.com/david_obrien/status/1214082339203993600을 참조 하여이 답변을 편집하여 개선하십시오.


(PS4.0 <4.0 인 경우 운이 좋지 않습니다.이 표를 확인하십시오.

여기에 이미지 설명을 입력하십시오

Windows Management Framework 4.0 을 설치하여 PowerShell 버전을 업그레이드 할 수 있지만 속임수는 없지만 Test-NetConnection cmdlet을 계속 사용할 수는 없습니다).


3
이것이 가장 좋은 대답입니다. 텔넷 설치가 다른 사람의 서버에 항상 간단한 것은 아닙니다!
TrojanName 2019

반드시 최고의 답변이어야합니다.
QtRoS

1
이것은 텔넷보다 더 안정적인 옵션이며, 텔넷은 아무것도보고하지 않고 중단되었지만이 경우 포트를 사용할 수 있다고보고합니다.
axk

42

Windows 시스템에서는 Microsoft의 PortQry 를 사용하여 다음 명령을 사용하여 애플리케이션이 특정 포트에서 이미 청취 중인지 확인할 수 있습니다 .

portqry -n 11.22.33.44 -p tcp -e 80

4
방화벽 포트는 일반적으로 "FILTERED"로 나타납니다.
dlanod

이 도구를 사용하여 UDP 포트도 확인할 수 있습니다.portqry -n 11.22.33.44 -p udp -e 19132
Antony

41

나는 그렇게했다 :

netstat -an | find "8080" 

텔넷에서

telnet 192.168.100.132 8080

방화벽이 해당 시스템에서 꺼져 있는지 확인하십시오.


내가 netstat -an | "19345"를 찾으면 결과가 없습니다. 무슨 뜻이에요? –
nanosoft

2
이 포트는 무료입니다
Sarvar Nishonboev

실행할 때 오류가 발생 netstat -an | find "8080"합니다.no such file named "8080"
Pragyaditya Das

24

telnet사용할 수 없으면 PuTTY를 다운로드하십시오 . 그것은 훨씬 우수한 Telnet, SSH 등의 클라이언트이며 특히 서버를 관리하는 경우이 상황뿐만 아니라 많은 상황에서 유용합니다.


네,하지만하지와 말, 넷째 코드를 붙여 넣는 AmForth (와 함께 퍼티를 사용하지 않는 편집 오버플로 ).
Peter Mortensen


12

Windows 서버에서 사용 및 청취 포트를 모두 보려면 다음을 사용하십시오.

netstat -an |find /i "listening"

열려 있고 청취중인 기존 포트를 모두 확인하십시오.

netstat -a

7

Windows Server에서 사용할 수 있습니다

netstat -an | where{$_.Contains("Yourport")}

어떤 방식 으로든 방화벽 문제를 해결하지 않습니다.
Lorne의 후작

5
이것은 powershell에서 작동합니다
Paco Zarate

아니면 "Windows 서버"를 의미합니까?
Peter Mortensen

4

다른 옵션은 tcping 입니다.

예를 들면 다음과 같습니다.

tcping host port


4

Sysinternals의 PsPing 도 매우 좋습니다.


좋은 도구입니다. 예제 코드는 다음과 같습니다. PsPing -n 20 -i 0 servername : port
Asher

1

다음은 나를 위해 일한 것입니다.

  • 명령 프롬프트를 엽니 다
  • 유형 telnet
  • Microsoft Telnet> <호스트 이름 또는 IP 주소> <공백> <포트> 열기

포트가 열려 있는지 확인합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.