포트가 열려 있는지 여부를 어떻게 알 수 있습니까?


22

Windows 7 컴퓨터에 Apache 서버를 설치했습니다. 브라우저의 주소 표시 줄에 http : // localhost / 를 입력하여 기본 index.php를 표시 할 수있었습니다 .

그러나 여전히 내 컴퓨터의 IP 주소를 입력해도 (같은 컴퓨터에서 로컬로 또는 전역으로 인터넷에 연결된 다른 컴퓨터에서) IP 주소를 입력해도이 페이지를 볼 수 없습니다.

포트 80을 열어야한다는 말을 들었습니다. ( 여기에 설명 된 방법으로 )했지만 문제가 해결되지 않았습니다.

먼저 어떤 포트가 열려 있고 열려 있지 않은지 확인하고 싶습니다. 예를 들어, 열려고하기 전에 포트 80이 닫혔는지 확실하지 않습니다. 나는 그것을 열려고 시도한 후에 그것이 열려 있는지 확실하지 않습니다.

파이썬으로 작성된 매우 간단한 웹 서버를 실행하려고했습니다. 이를 위해 포트 81을 사용했으며 작동했습니다! 그리고 포트 81을 열려고하지 않았습니다. 그래서 기본적으로 열려있었습니다. 따라서 기본적으로 81이 열리면 80이 아닌 이유는 무엇입니까? 아니면?

추가 정보 :
1. httpd.conf 파일에 "Listen 80"이 있습니다.
2. 이 사이트 는 컴퓨터의 포트 80이 열려 있음을 알려줍니다.
3. http : // myip : 80http : // myip : 81을 시도하면 다른 응답이 표시됩니다 . 마지막으로 브라우저 (Chrome)는 링크가 끊어 졌다고 말합니다. 첫 번째 경우 : 금지됨이 서버에서 /에 액세스 할 수있는 권한이 없습니다.
4. IE는 "웹 사이트에서이 웹 페이지 표시를 거부했습니다"라고 기록합니다.


3
첫 번째 경우에 "금지됨"이 표시되면 루트 디렉토리 또는 가상 호스트가 올바르게 설정되지 않은 것입니다.
Urda

라우터 뒤에 있다고 가정하면 라우터에서 포트 전달을 설정 했습니까? 라우터 (대부분)는 이미 자체 웹 기반 관리 인터페이스 용으로 포트 80을 사용하고있을 것입니다. 어쨌든 포트 80 (또는 기타)에서 공용 IP 주소 (라우터)에 대한 요청을 컴퓨터의 로컬 IP 주소로 전달해야합니다.
Jongosi

답변:


16

외부에서 포트를 확인하는 경우에만 가능합니다. 이 도구를 사용하십시오 :

http://www.yougetsignal.com/tools/open-ports/

특정 포트의 IP 주소에 연결을 시도하여 외부에 열려 있는지 또는 닫혀 있는지 알려줍니다.

지역 문제도? Windows 7 방화벽이 차단되는 것처럼 들립니다. 이 튜토리얼에서 예외를 추가하십시오 ...

http://www.sevenforums.com/tutorials/542-windows-firewall-add-remove-exception.html


yougetsignal.com/tools/open-ports로 포트를 확인 했습니다 . 이 사이트는 내 포트 80이 열려 있다고 기록합니다 (79와 81이 닫힌 상태).
로마

Windows 7 방화벽 예외를 확인 했습니까? localhost다른 컴퓨터가 아닌 다른 컴퓨터 를 통해 연결할 수있는 이유를 설명 합니다.
Urda

Urda, 이런 식으로 maximumpcguides.com/windows-7/… 포트 80을 열었습니다 . 따라서 모든 IP에 대해 열려 있어야합니다. 또한, 당신이 나에게 제공하는 사이트는 포트 80이 열려 있다고 말합니다.
로마

1
첫 번째 경우에 "금지됨"이라고 표시되면 대부분의 경우 루트 디렉토리 또는 가상 호스트가 올바르게 설정되지 않은 것입니다. 81이 해결되지 않아서 링크가 끊어졌습니다.
우르 다

1
@ Kirk 그것은 결국 훌륭한 웹 사이트입니다!
Urda

13

netstat -a -n또는 ss -a -n명령 프롬프트에서 실행 하면 모든 네트워크 연결이 열려 있고 컴퓨터의 청취 포트가 표시됩니다. 0.0.0.0:80이는 80모든 IP 주소 (localhost 및 공용 / 개인 IP 주소)의 포트 에서 수신 중임을 의미하며, localhost 127.0.0.1:80에서만 수신 중임 을 의미합니다. -b명령에 추가 하면 해당 포트를 사용중인 실행 파일이 표시됩니다. 네트워크 탭의 수신 포트 섹션에서 Windows 7의 리소스 모니터를 사용하여 동일한 정보를 얻을 수 있습니다.


5

다른 서버에서 열려 telnet serverName 80있는지 확인하려면 세션이 열리는 지 확인할 수 있습니다 . 그렇지 않으면 서버가 수신하지 않거나 포트가 방화벽에 의해 차단 된 것보다 낫습니다.

Windows 2003 이상에서 열었다가 바로 닫으면 소프트웨어 (예 : Exchange)가 해당 특정 인터페이스 나 IP에서 수신하도록 구성되지 않았지만 다른 포트에서 수신 대기하고있는 것입니다. IIS가 바보이기 때문에 IIS가 이런 식으로 동작하는 것을 보았습니다. Apache는 그렇지 않을 수도 있습니다.


2

당신은 썼습니다 :

첫 번째 경우 : 금지됨이 서버에서 /에 액세스 할 수있는 권한이 없습니다.

이상하게 들릴 수도 있지만 실제로 열린 포트에는 문제가 없지만 Apache 구성에서는 문제 가 없습니다 .

"Forbidden"메시지는 Apache 서버에서 온 것입니다. 인터넷에서 웹 서버 액세스 할 수 있음을 의미합니다 .

모든 호스트에 서비스를 제공 할 수 있도록 Apache를 구성해야합니다. 그렇지 않으면 "금지"페이지가 표시됩니다. IIRC, Apache는 초기에 로컬 컴퓨터의 요청 만 허용하도록 설정되었습니다.

Apache 설정 어딘가에 다음과 같은 섹션이있을 수 있습니다 (실제 디렉토리는 다를 수 있음).

<Directory "/home/piskvor/www">
    Allow from 127.0.0.1
    Deny from all
(...)

컴퓨터에서 페이지를 볼 수있게하려면을로 변경해야 Deny from all합니다 Allow from all. 자세한 내용은 액세스 모듈 설명서를 참조하십시오 .


1

열린 포트를 보려면 아마도 nmap을 사용해야합니다. Windows 버전이 있습니다. http://nmap.org/dist/nmap-5.21-setup.exe

localhost에서 포트 80이 열려 있으면 충분하지 않습니다. 다른 곳에서 시도하면 방해가 될 수 있으므로 nmap을 권장합니다.

클라이언트에서 다음을 입력하십시오. nmap ip-of-your-server



0

서버 포트는 단일 IP 주소 또는 사용 가능한 모든 IP 주소에 바인딩 될 수 있습니다. Apache 설치가 127.0.0.1에만 바인드되도록 설정되어 있고 *에 바인드하도록 설정해야합니다. httpd.conf (Apache의 conf 디렉토리에 있음)에서 같은 줄을 찾아로 Listen localhost:80변경하십시오 Listen 80.


1
httpd.conf 파일을 찾았습니다. 파일에는 "Listen 80"이 있습니다.
로마

0

telnet <host> <port>당신의 친구입니다. 그것은 세상의 거의 모든 컴퓨터에 설치되어 있다는 장점이 있습니다.

질문을 다시 읽은 후 수정 :

유용한 진단 팁이 있습니다.

  1. 로컬 호스트를 통해 사이트에 액세스 할 수 있지만 네트워크의 다른 호스트에서 사이트 로컬 IP (192.168. *)를 통해 사이트에 액세스 할 수없는 경우 Windows 방화벽 문제 일 수 있습니다.

  2. 인터넷에서 공용 IP가 아닌 다른 사이트 로컬 시스템에서 사이트에 액세스 할 수 있으면 라우터 / 포트 전달 구성 문제입니다.


0

명령 프롬프트에서 다음을 입력하십시오.

netstat -ano, look for 0.0.0.0:80 

... 또는 IP : 80. 컴퓨터에 포트 80이 열려 있는지 알려줍니다. 이제 네트워크 외부에서 액세스 할 수 있는지 확인하고 확인하려면 방화벽 종류가 있는지 확인합니다. 그렇게하면 포트 80을 웹 서버로 전달해야합니다.


0

Windows를 사용하는 경우 SysInternals TCPView를 사용하십시오 . 어떤 프로그램이 어떤 포트를 사용하고 있는지 알 수 있습니다.

스크린 슈토


고마워 Dio Phung. 이 Windows 유틸리티는 정말 유용합니다.

-2

DOS 명령에서 :

C:\Windows\system32>netstat -a -b

使用中連線

  協定   本機位址               外部位址               狀態
  TCP    0.0.0.0:80             801781-N1:0            LISTENING     [Skype.exe]
  TCP    0.0.0.0:135            801781-N1:0            LISTENING      RpcSs      [svchost.exe]
  TCP    0.0.0.0:443            801781-N1:0            LISTENING     [Skype.exe]
...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.