Cryptsetup Benchmark --cipherがすべてのパスワードのリストを繰り返すようにします。

Cryptsetup Benchmark --cipherがすべてのパスワードのリストを繰り返すようにします。

私は走ろうとしていますcryptsetup benchmark --cipher/proc/crypto

/proc/crypto私は以下を実行してリストを取得しました。

cd ./Documents/; cat /proc/crypto | grep "name" | cut -c 16- | tee ciphers.txt

今、各パスワードを順番に渡す方法を見つけようとしていますcryptsetup。最初の試みは簡単でしたが、今cat ciphers.txt | cryptsetup benchmark --cipher作成したリストを.CSVファイルに変換してループを介して渡す必要があるかもしれません。それfor

ciphers.txtあまり努力をかけずに私が作成したリストを使用してに渡す方法はありますかcryptsetup

ベストアンサー1

あなたの問題はdm_cryptとは関係ありません。これは単純なシェルプログラミングの質問です。

まずコミットします。 猫虐待。代わりにcat /proc/crypto | grep "name"書いてくださいgrep name /proc/crypto(引用符は必要ありません)。

grepとcutを組み合わせて単一のコマンドにすることもできますsed。読み取りは必ずしも簡単ではありませんが、sed -n '/^name/s/.*: //p' /proc/crypto2つではなく1つのコマンドが必要です。印刷ラインはデフォルトでブロック-nされています。sedプログラムは、「name」で始まる行を探し、コロンの後のスペースが出るまで行の最初の部分を削除します。p後で必ず印刷してください。

今、あなたの質問に答えます。。この--cipherオプションにはパスワードが必要であることがわかります。これはcryptsetup benchmark、各パスワードに対して一度、複数回実行する必要があることを意味します。これには次のようなループが必要です。

for cipher in $(<cipher.txt)
do cryptsetup benchmark --cipher "$cipher"
done

一部のパスワード名には特殊文字(括弧など)が含まれているため、引用符が必要です。

ファイルが不要な場合は、cipher.txtこれらすべてを一度に実行できます。

for cipher in $(grep name /proc/crypto | cut -c 16-)
do cryptsetup benchmark --cipher "$cipher"
done

おすすめ記事