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以外の)別のアプリケーションをリッスンするにはどうすればよいですか?
あなたは2つの概念を混乱させています。 Iptablesは、ネットワークのアクセス制御を処理します。宛先がTCPポート8008である入力トラフィックを受け入れる場合、それは単にインターネットがそのポートにトラフィックを送信できるようにしていることを意味します。港。
ポートをリッスンするには、それを行うように設定されたプログラムが必要です。元のケースでは、Tomcat
がそのプログラムでした。あなたはそれを止めたので、今そのポートで何も聞いていません。それをリスナーとして開くには、Tomcat
、または必要な他のプログラムを起動して、そのポートで待機する必要があります。そのポートでリッスンするために選択するプログラムは、そのポートで提供するサービスに完全に依存します。
Iptablesコマンドは、プログラムがリッスンしているかどうかには影響しません。インターネットからのトラフィックがそのプログラムと通信できるかどうかに影響します。
送信されたものをすべてダンプするネットワークポートを開くだけの場合、必要なプログラムはnetcat
です。コマンド
nc -l -p 8080
これにより、netcatはポート8080をリッスンし、そのポートに送信されたものをすべて標準出力にダンプします。そのポートに送信されたデータを保存したい場合は、その出力をファイルにリダイレクトできます。生データダンプよりも高度なものが必要な場合は、データを処理できる特定のプログラムを特定し、代わりにそれらの1つを開始する必要があります。
ポートを開きません。プログラムを実行すると、プログラムはポート上の接続を待機します。したがって、他のプログラムがポート8080をリッスンしていないことを確認する必要があります。次に、ポート8080をリッスンするようにプログラムを構成し、プログラムを実行する必要があります。
アプリケーション(Tomcatなど)がポートを開きます。そのアプリケーションを停止すると、ポートが閉じられます。再び開くには、そのポートを開くアプリケーションを(再)起動する必要があります。 Sudo service Tomcat7 start
、 例えば。