以前は、開いているポートをスキャンしていましたが、nc
スキャン範囲が非常に広く、結果があまりにも多く表示されました。何らかの理由でgrep
「成功」という言葉を使用しても機能しません。
$ nc -zv localhost 31000-32000 | grep succeeded
...
nc: connect to localhost port 31957 (tcp) failed: Connection refused
nc: connect to localhost port 31958 (tcp) failed: Connection refused
nc: connect to localhost port 31959 (tcp) failed: Connection refused
Connection to localhost 31960 port [tcp/*] succeeded!
nc: connect to localhost port 31961 (tcp) failed: Connection refused
nc: connect to localhost port 31962 (tcp) failed: Connection refused
nc: connect to localhost port 31963 (tcp) failed: Connection refused
nc: connect to localhost port 31964 (tcp) failed: Connection refused
...
/dev/null
(次にエラーメッセージを送信することも検討しましたnc -zv localhost 31000-32000 2>/dev/null
が、この場合は何も表示されませんでした。すべてのnc
ポートステータスメッセージはエラー/デバッグメッセージのようです)
答え1
nc
標準エラーに出力を書き込むには、次のものが必要です。
nc -zvv localhost 31000-32000 2>&1 | grep succeeded
2>&1
標準エラーを標準出力にリダイレクトしますgrep
。