it-swarm-korea.com

Windows 컴퓨터에서 포트가 차단되어 있는지 확인하는 방법

Windows 플랫폼에서 로컬 시스템 (예 : localhost)의 포트 (예 : 3306)가 차단되어 있는지 확인해야하는 기본 옵션은 무엇입니까?

109
Boris Pavlović

Windows 컴퓨터를 사용 중이므로 이러한 작업을 수행 할 수 있습니다.

  • 다음 명령을 실행하고 ": 3306"리스너를 찾으십시오 (UDP/TCP는 언급하지 않았습니다). 포트에서 무언가 실행중인 것을 확인할 수 있습니다.

    netstat -a -n

  • 이 후,이 포트에서 들어오는 연결을 기대하고 방화벽이 연결을 차단하고 있다고 생각되면 windows 방화벽 로깅 시작 연결이 끊어진 로그를 확인하십시오.

    • Windows 방화벽, 고급 설정으로 이동
    • "로컬 영역 연결"옆에있는 설정 버튼을 클릭하십시오.
    • "삭제 된 패킷 로그"를 선택하십시오.
    • 로그 파일 위치를 봅니다 (없는 경우 정의).
    • 확인을 클릭하십시오
    • 이제 연결 시도가 완료되면 (이 작업이 완료된 것으로 가정) 로그 파일에서 포트 3306의 삭제를 확인하십시오.
    • 이 경우이 포트에 대한 예외를 추가하려고합니다.
  • 방화벽 상태를 확인하는 명령이 하나 더 있습니다
    (아래의 Nick에서 참조하는 Windows 7 사용자 용 업데이트 - netsh advfirewall firewall )

    netsh 방화벽 표시 상태

    • 여기에는 차단 된 포트와 응용 프로그램 연결이있는 활성 수신 포트가 표시됩니다.
  • 이 명령은 Windows 방화벽 구성 세부 사항을 덤프합니다.

    netsh 방화벽 쇼 설정


로깅을 시작한 후 활성 블록 (방화벽으로 들어오는 연결이 끊어짐)이있는 경우 로그에 해당 블록이 표시됩니다.

3306에서 수신 대기중인 애플리케이션/서비스를 실행중인 경우 방화벽 구성 Enabled로 표시해야합니다. 이것이 보이지 않으면 방화벽에 예외를 추가하여이 앱/서비스를 허용하지 않은 것 같습니다.

마지막으로 포트 3306은 일반적으로 MySQL에 사용됩니다. 따라서이 Windows 시스템에서 MySQL 서버를 실행한다고 가정합니다. 따라서 수신 연결을 승인하는 3306에 대한 리스너가 표시되어야합니다. 표시되지 않으면 먼저 응용 프로그램 (MySQL)을 사용하여 시작해야합니다.

113
nik

NETSTAT는 포트가 listening인지 알려주지 만 포트가 open인지 외부 세계에 대해서는 알려주지 않습니다. 이것이 의미하는 것은 NETSTAT는 0.0.0.0이 포트 3306에서 수신 중임을 나타낼 수 있지만 방화벽은 여전히 ​​해당 포트를 차단하여 외부 연결을 방해 할 수 있습니다. NETSTAT에만 의존하는 것만으로는 충분하지 않습니다.

포트가 차단되어 있는지 확인하는 가장 좋은 방법은 클라이언트 컴퓨터에서 포트 스캔을 수행하는 것입니다

포트 스캔을 수행하는 방법은 여러 가지가 있지만 Windows에서 언급 한 이후 Microsoft 명령 줄 유틸리티 PortQry 및 그래픽 버전 PortQryUI

열려있는 모든 포트를 테스트하려면

portqry.exe -n #.#.#.#   

특정 포트를 테스트하려면

portqry.exe -n #.#.#.# -e #

예를 들어 192.168.1.1에서 라우터의 웹 인터페이스를 테스트하려면 다음을 수행하십시오.

portqry.exe -n 192.168.1.1 -e 80

다음을 반환합니다 :

TCP port 80 (http service): LISTENING

HTTPD를 실행하지 않는 로컬 시스템에서 테스트하면 다음이 반환됩니다.

TCP port 80 (http service): NOT LISTENING

PortScan 유틸리티를 사용하면 3 가지 결과 중 하나를 얻을 수 있습니다.

  • Listening은 서버가 지정된 포트에서 수신 대기 중임을 의미합니다
  • Filtered는 방화벽 또는 소프트웨어 문제를 나타내는 재설정 플래그가 설정된 TCP 승인 패킷을 수신했음을 의미합니다.
  • Not Listening는 전혀 응답을받지 못했다는 의미입니다.

telnet는 일반적으로 OS에 기본적으로 설치되는 다른 명령 줄 옵션입니다. 이 명령 줄 유틸리티를 사용하면 포트가 네트워크 요청에 응답하는지 빠르게 확인할 수 있습니다.

telnet를 사용하려면 명령 프롬프트에서 다음 명령을 실행하면됩니다.

telnet localhost 3306

localhost의 포트 3306가 응답하는 경우 위 명령을 통해 빠른 표시를해야합니다.

25
Tim Penner

PowerShell 4.0부터 Test-NetConnection

예제와 같이 포트 3306을 테스트하려면 다음 명령을 사용하십시오.

Test-NetConnection -ComputerName localhost -Port 3306

TechNet Test-NetConnection 설명서

21
Marcel Janus

다른 컴퓨터가 아닌 로컬 컴퓨터 (외부 IP 주소 사용)에서 포트로 텔넷으로 연결할 수 있으면 그 사이에 차단 된 것입니다.

로컬 컴퓨터의 방화벽 could는 첫 번째 조치조차 방지합니다.

5
Brent