netcat SMTPスキャンでのリモートサーバー応答のフィルタリング

netcat SMTPスキャンでのリモートサーバー応答のフィルタリング

私はこのコードを使用して、リモート交換サーバー(Exchange1と呼ばれる)がオンラインであるかどうかをテストするためにnetcatを使用しています。

nc -w 3 192.168.130.17 25

Netcatスキャンが次の応答を受け取った場合にのみ、そのサーバー名でファイルを生成したいと思います。「220 SMTPサーバーの準備」、exchange1がオンラインであることを示します。応答がない場合、ファイルはオフラインであるため、ファイルに名前を書きたくありません。

  1. これは何と呼びますか?私はそれがコマンド結果フィルタリングだと思いますが、それがどのように行われたかについての記事を見つけるのは難しいです。
  2. 私が学ぶために誰かが簡単な例を提供できますか?

ベストアンサー1

grep他のコマンドの出力をパイピングして、特定のコマンドの出力がパターンと一致することを確認できますgrep。ブロックgrep内で使用しますif

明らかに愚かな例です(世界ではこれを「金曜日」と呼んでいます。そうですか?)。

if date +%A | grep -q 'Friday'; then   # -q tells grep not to echo the matched text
    throw_a_party
else
    echo "Nope, sorry, not time yet."
fi

Bashマニュアルの関連セクションには、「パイプライン」と「複合コマンド」が含まれています。

おすすめ記事