質問: windowsマシンでポートがブロックされているかどうかを確認するにはどうすればよいですか? windowsプラットフォームで、(localhostのように)ローカルマシンのポート(3306など)がブロックされているかどうかを確認するために必要なネイティブオプションは何ですか?
回答: あなたはwindowsマシン上にいるので、これらのことを行うことができます、 次のコマンドを実行して、「:3306」リスナーを探します(udp/tcpについては言及していません)。これにより、ポートで何かが実行されていることが確認されます。 netstat -a -n この後、このポートでの着信接続を予期していて、ファイアウォールがそれらをブロックしている可能性があると感じた場合は、 windowsファイアウォールのログ記録を開始する ドロップされた接続のログを確認します windowsファイアウォールの詳細設定に移動します 「ローカルエリア接続」の横にある「設定」ボタンをクリックします 「ドロップされたパケットのログ」を選択します ログファイルの場所を確認します(存在しない場合は定義します)。 okをクリックします ここで、接続試行が行われたとき(これがいつ行われたかがわかっていると想定)、ポート3306でのドロップについてログファイルを確認します。 これが見られる場合は、このポートの例外を追加する必要があります。 ファイアウォールの状態を確認するコマンドがもう1つあります (windows 7ユーザー向けの更新-以下のnickで参照 netsh advfirewall firewall ) netshファイアウォールの表示状態 これにより、ブロックされたポートと、アプリケーションの関連付けがあるアクティブなリスニングポートが一覧表示されます このコマンドは、windowsファイアウォール構成の詳細をダンプします netsh firewall show config ログの記録を開始した後にアクティブなブロック(受信接続がファイアウォールによってドロップされている)がある場合は、ログにそれが表示されます。3306でリッスンしているアプリケーション/サービスを実行している場合、 ファイアウォール設定 有効になっているはずです。これが表示されない場合は、ファイアウォールで例外を追加してこのアプリ/サービスを許可していない可能性があります。最後に、ポート3306は通常mysqlに使用されます。したがって、このwindowsマシンでmysqlサーバーを実行していると思います。したがって、着信接続を受け入れる3306のリスナーが表示されます。それが表示されない場合は、アプリケーション(mysql)を使用して、それを最初に開始する必要があります。