web-dev-qa-db-ja.com

NCポートスキャンを使用する場合に成功メッセージをフィルタリングする方法

マシンのポートスキャンに次のコマンドを使用しました

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
4
SuperKrish

コマンドを次のように変更します。

nc -zv 192.168.1.1 1-100 2>&1 | grep succeeded

2>&1により、プログラムのstderrstdoutと同じファイル記述子に書き込まれます。 ncはデフォルトでstderrに書き込み、パイプはstdoutのみを取得するため、grepはデータを見逃します。

詳細については、ここのセクション3.5を参照してください リダイレクトに関するすべて

6
coffeMug