ポートが開いているかどうかを確認するにはどうすればよいですか?


22

Windows 7コンピューターにApacheサーバーをインストールしました。ブラウザのアドレス行にhttp:// localhost /と入力することで、デフォルトのindex.phpを表示できました。

ただし、自分のコンピューターのIPアドレスを入力しても(ローカル(同じコンピューターから)もグローバルにも(インターネットに接続された別のコンピューターからでも))入力してもこのページを表示できません。

ポート80を開く必要があると言われました。(ここで説明する方法)実行しましたが、問題は解決しませんでした。

まず最初に、開いているポートと開いていないポートを確認します。たとえば、開こうとする前にポート80が閉じられたかどうかはわかりません。また、開こうとした後に開いているかどうかもわかりません。

Pythonで書かれた非常にシンプルなWebサーバーを実行しようとしました。そのためにポート81を使用しましたが、うまくいきました!また、ポート81を開こうとしませんでした。したがって、デフォルトで開かれました。だから、81がデフォルトで開かれている場合、なぜ80は開かれないのですか?それとも?

追加情報:
1. httpd.confファイルに「Listen 80」があります。
2. このサイトから、コンピューターのポート80が開いていることがわかります。
3. http:// myip:80http:// myip:81を試すと、異なる応答が返されます。最後のケースでは、ブラウザ(Chrome)はリンクが壊れていると書いています。最初のケースでは次のようになります:Forbiddenこのサーバーにアクセスする権限がありません。
4. IEは、「WebサイトはこのWebページの表示を拒否しました」と書いています。


3
最初のケースで「禁止」と表示されている場合、ルートディレクトリまたは仮想ホストが正しくセットアップされていません。
ウルダ

ルーターの背後にいると仮定して、ルーターでポート転送を設定しましたか?ルーターは、ほとんどの場合、独自のWebベースの管理インターフェイス用に既にポート80を使用しています。いずれにしても、パブリックIPアドレス(ルーター)への要求をコンピューターのローカルIPアドレス(ポート80またはその他)に転送する必要があります。
チョンゴシ

回答:


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他のコンピューターからではなく、経由してアクセスできる理由を説明します。
ウルダ

ウルダ、この方法でポート80を開いたmaximumpcguides.com/windows-7/…。したがって、すべてのIPに対して開く必要があります。さらに、あなたが私に与えたサイトは、ポート80が開いていると言います。
ローマン

1
最初のケースで「禁止」と表示されている場合、ほとんどの場合、ルートディレクトリまたは仮想ホストが正しくセットアップされていません。81が解決しないため、リンクが切れます。
ウルダ

1
@Kirkそれは結局のところ素晴らしいウェブサイトです!
ウルダ

13

実行中netstat -a -nまたはss -a -nコマンドプロンプトから、開いているすべてのネットワーク接続とマシンのリスニングポートが表示されます。0.0.0.0:80これは80、すべてのIPアドレス(ローカルホストおよびパブリック/プライベートIPアドレス)のポートでリッスンしていることを意味しますが127.0.0.1:80、ローカルホストでのみリッスンしていることを意味します。-bコマンドに追加すると、そのポートを使用している実行可能ファイルが表示されます。Windows 7の[ネットワーク]タブの[リスニングポート]セクションで、リソースモニターを使用して同じ情報を取得できます。


5

別のサーバーから開いているかどうかを確認するにはtelnet serverName 80、セッションが開くかどうかを確認します。そうでない場合は、サーバーがリッスンしていないか、ポートがファイアウォールによってブロックされています。

少なくともWindows 2003で開いてからすぐに閉じる場合、ソフトウェア(Exchangeなど)はその特定のインターフェイスまたはIPでリッスンするように構成されていない可能性がありますが、他のポートでリッスンしています。私はIISがこのように振る舞うのを見てきましたが、それは愚かであり、Apacheはそうではないからです。


2

あなたが書いた:

最初のケースでは、次のようになります:Forbiddenこのサーバーにアクセスする権限がありません。

これは奇妙に聞こえるかもしれませんが、実際に、開いているポートに問題ありません(ただし、Apache configには問題があります)。

その「禁止」メッセージは、Apacheサーバーから送信されます。ウェブサーバーインターネットからアクセスできることを意味します。

すべてのホストへのサービスを許可するようにApacheを構成する必要があります。そうしないと、「禁止」ページが表示されます。IIRC、Apacheは最初はローカルコンピューターからの要求のみを許可するように設定されています。

Apache設定のどこかに、おそらく次のようなセクションがあります(実際のディレクトリは異なる場合があります)。

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

あなたはどのコンピュータがあなたのページを見ることができるようにしたい場合は、変更する必要がありますDeny from allAllow 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にのみバインドするように設定されているように聞こえますが、*にバインドするように設定する必要があります。(Apacheのconfディレクトリにある)httpd.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をWebサーバーに転送する必要があります。


0

Windowsを使用している場合は、SysInternals TCPViewを使用します。どのプログラムがどのポートを使用しているかを知ることができます。

Screenshto


ありがとうディオ・フン。その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.