Ubuntu 16.04 で特定のポートをリッスンできない

Ubuntu 16.04 で特定のポートをリッスンできない

ラップトップの「1017」ポートを「localhost」として実行する必要があります http://127.0.0.1:1017。そのためには、/home ディレクトリ内のいくつかのファイルを実行します。しかし、ファイルを実行した後、次のエラー メッセージが表示されました。上記のポートを「localhost」として実行するにはどうすればよいですか。

listen tcp4 0.0.0.0:1017: bind: permission denied

これを解決するのを手伝ってください。

答え1

を使用すると、1024 未満のポートのみをリッスンできますsudo。これらは特権ポートです:

1024 未満の TCP/IP ポート番号は、通常のユーザーがそのポートでサーバーを実行することが許可されていないという点で特別です。これはセキュリティ機能であり、これらのポートのいずれかでサービスに接続すると、ハッカーが仕掛けた偽物ではなく、本物であることがほぼ確実になります。

ソース


例:

$ nc -l 127.0.0.1 1017
nc: Permission denied

ただし、これは機能します:

$ sudo nc -l 127.0.0.1 1017

関連情報