マシンのポートスキャンに次のコマンドを使用しました
nc -zv 192.168.1.1 1-100
しかし、次の出力から成功したメッセージのみをフィルタリングしたいので、次のコマンドを使用しました
nc -zv 192.168.1.1 1-100|grep succeeded
しかし、役に立たない、それでもそれは完全な出力を示しています
nc: connect to 192.168.1.1 port 1 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 2 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 3 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 4 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 5 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 6 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 7 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 8 (tcp) failed: Connection refused
nc: connect to 192.168.1.1 port 9 (tcp) failed: Connection refused
コマンドを次のように変更します。
nc -zv 192.168.1.1 1-100 2>&1 | grep succeeded
2>&1
により、プログラムのstderr
がstdout
と同じファイル記述子に書き込まれます。 nc
はデフォルトでstderr
に書き込み、パイプはstdout
のみを取得するため、grepはデータを見逃します。
詳細については、ここのセクション3.5を参照してください リダイレクトに関するすべて 。