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

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

ベストアンサー1

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

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

2>&1stderrプログラムが原因と同じファイル記述子に書き込まれていますstdout。デフォルトncでは、 を作成するとstderrパイプはインポートするだけなので、stdoutgrep はデータを失います。

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

おすすめ記事