web-dev-qa-db-ja.com

リスニング用にポート8080を開く

8080ポートを開いてリスニングする方法を教えてください。

通常の状況では、ポート8080でリッスンするTomcat7を使用しています。

     Sudo netstat -tanpu | grep ":8080"
tcp6       0      0 :::8080                 :::*                    LISTEN      7519/Java

その後、Sudo service Tomcat7 stopを使用してTomcat7を停止します。したがって、8080ポートは閉じられます。

開くためにSudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPTを実行しましたが、ポートは待機していません。

Sudo netstat -tanpu | grep ":8080"
tcp6       0      0 127.0.0.1:8080          127.0.0.1:37064         TIME_WAIT   -

このポート(8080)を開いて、(Tomcat以外の)別のアプリケーションをリッスンするにはどうすればよいですか?

7
user15992

あなたは2つの概念を混乱させています。 Iptablesは、ネットワークのアクセス制御を処理します。宛先がTCPポート8008である入力トラフィックを受け入れる場合、それは単にインターネットがそのポートにトラフィックを送信できるようにしていることを意味します。港。

ポートをリッスンするには、それを行うように設定されたプログラムが必要です。元のケースでは、Tomcatがそのプログラムでした。あなたはそれを止めたので、今そのポートで何も聞いていません。それをリスナーとして開くには、Tomcat、または必要な他のプログラムを起動して、そのポートで待機する必要があります。そのポートでリッスンするために選択するプログラムは、そのポートで提供するサービスに完全に依存します。

Iptablesコマンドは、プログラムがリッスンしているかどうかには影響しません。インターネットからのトラフィックがそのプログラムと通信できるかどうかに影響します。

送信されたものをすべてダンプするネットワークポートを開くだけの場合、必要なプログラムはnetcatです。コマンド

nc -l -p 8080 

これにより、netcatはポート8080をリッスンし、そのポートに送信されたものをすべて標準出力にダンプします。そのポートに送信されたデータを保存したい場合は、その出力をファイルにリダイレクトできます。生データダンプよりも高度なものが必要な場合は、データを処理できる特定のプログラムを特定し、代わりにそれらの1つを開始する必要があります。

9
casey

ポートを開きません。プログラムを実行すると、プログラムはポート上の接続を待機します。したがって、他のプログラムがポート8080をリッスンしていないことを確認する必要があります。次に、ポート8080をリッスンするようにプログラムを構成し、プログラムを実行する必要があります。

3
hymie

アプリケーション(Tomcatなど)がポートを開きます。そのアプリケーションを停止すると、ポートが閉じられます。再び開くには、そのポートを開くアプリケーションを(再)起動する必要があります。 Sudo service Tomcat7 start、 例えば。

1
Jeff Schaller