Netcatは私を少し混乱させますが、その理由は次のとおりです。
実行すると、
nmap localhost
複数のポートが開いているか閉じているかに関する情報が一覧表示されます。したがって、次のコマンドを実行nc -l -p 60000
し、他の端末で:
nmap localhost -p 60000
ポート60000が表示され、開いていると表示されます。
リスニングを止めるとオフになります。私はnetcatレシーバーがただ聞いていると思います。ここで私が理解したのは、それが特定のポートを開くということです。コマンド
を実行したときにポートが表示されないのはなぜですか?常にいくつかのポートがあります。nmap localhost
ベストアンサー1
TCPポートはアドレスとして使用される数字にすぎません。ポートが「開いている」とは、プロセスがそのポート番号への着信接続のためにオペレーティングシステムに登録されており、Nmapとプログラム間の接続が中断されないことを意味します。ポートのデフォルト状態は「クローズ」です。つまり、そのポートにオペレーティングシステムへの接続を登録したプロセスがないため、オペレーティングシステムはこれらの接続を拒否します。
ポート60000でnetcatリスナーを起動すると、そのポートで接続を受け入れる準備が整いました。 Nmapでスキャンすると接続が承認されるため、Nmapはそれを「open」とマークします。ただし、netcatリスナーはすでに接続を処理しているため終了しているため、次回はポートが「クローズ」と表示されます。
伝統的なオンライン猫一度に1つの接続しか処理できません。OpenBSDネットワーク猫そしてインターネット猫このオプションを使用して、ポートで複数の接続を許可できます-k
。
-sS
使用するには、root権限を必要とするhalf-open TCP SYNスキャンオプション()を使用して、Nmapへのフル接続設定を回避できます。この場合、Nmapは完全な接続を確立できないため、オペレーティングシステムはnetcatに接続を通知せず、終了しません。 root権限を使用するTCPスキャンのデフォルトスキャンタイプ。