名字

    crunch – 从一个字符集中产生对应的字典

简介

    crunch <最小长度> <最大长度> [<字符集>] [选项]

注:中括号里面的是可选项

说明

    crunch能够根据你给定的标准来产生字典。并且可以将结果输出到屏幕,文件或者其它程序

参数

    最小长度

        你想要让crunch产生的字符串的最小长度。这个参数即使不会用到也必须填写。

    最大长度

        你想要让crunch产生的字符串的最大长度。这个参数即使不会用到也必须填写。

    字符集

        你能够在命令中指定crunch使用的字符集,或者你可以不填写,这样crunch会使用默认的字符集。字符集里的元素必须按照小写字母,大写字母,数字,符号的顺序写。

        如果你不按照这样的顺序写的话,你将无法得到你想要的结果。

    提示:如果你想要在字符集中加入空白字符,你必须用这样的形式写 “\空白字符” 或者 将字符集写成字符串的形式。如“abc ”。

    例子:crunch 4 4 abc\

          crunch 4 4 “abc ”

    这两条命令是一样的,注意第一条\后面有一个空格

选项

    -b 数字[类型]

        指定输出每个文件的大小,只有在 -o START选项使用时生效。

        例子:crunch 4 5 -b 20mb -o START

            这条命令将会产生aaaa到zzzzz的字典,不过这个字典是被分成几个文件,每个文件最大是20mb。

        提示:数字[类型]之间是没有空格的,即“20mb”是正确的,“20 mb”是不正确的。

    -c 数字

        指定写到每个文件的行数,只有在 -o START选项使用时生效。

        例子:crunch 1 1 -c 13 -o START

            这条命令将会产生字典a-z,不过这个字典会被保存成两个文件,每个文件里有13行。

    -d 数字符号(这里是两个参数)

        限定重复字符的数量。

        例子:crunch 3 3 -d 2@

            这条命令会产生字典aab-zzx,因为根据命令,这个字典是不包括aaa bbb ccc … zzz这样3个重复的字符。其中@表示字母。

    -s startblock

        指定字典从startblock开始产生。

        例子:crunch 3 3 -s zze

        这条命令会产生zze-zzz的字典。

    -e 字符串

        指定产生到哪个字符串时,crunch提前退出。

        例子:crunch 3 3 -e bbb

            这条命令不加选项本来是要产生aaa-zzz的字典,不过在加了“-e bbb”后,只产生了aaa-bbb的字典。

    -f 字符集列表 字符集名

        指定字符集,字符集来自字符集列表。

    -i

        翻转输出。

        例子:crunch 2 2 -i

            这条命令不加-i,输出的应该是aa,ab,ac…加了-i输出的是aa,ba,ca….

    -t @,%^

        指定一个模式。

        @表示小写字母

        ,表示大写字母

        %表示数字

        ^表示字符

        例子:crunch 4 4 -t @,%^

        这条命令会产生这样的长度为4的字符串,第一位为小写字母,第二位为大写字母,第三位为数字,第四位为字符。

    -l

        当你使用 -t选项时,-l选项用来告诉crunch@,%^中把哪个特殊符号当成普通字符。

        例子:crunch 4 4 -t @,%^ -l @A1.

        这条命令会产生长度为4的字符串,并且第一位是@,第二位是大写字母,第三位为数字,第四位为字符。

    -o wordlist.txt

        指定将结果输出为名字的wordlist.txt的文件。

    -p 字符集 或者 -p 单词1 单词2 …

        根据给定的字符集或者单词集,做全排列。

        例子:crunch 3 12 -p abc

         这条命令会将abc做全排列,结果是abc,acb,bac,…。与之前不同全排列是不会出现aaa这种情况的。

        例子:crunch 3 12 -p ab cd

        这条命令会以ab,cd两个单词作为元素进行全排列,得到结果是abcd,cdab。

        提示:这条命令会忽略最小长度和最大长度两个参数,不过尽管如此,你还是必须写出这两个参数。

     

    -q filename.txt

        功能跟-p选项一样,只不过输入是从文件中读取。

    -r

        告诉crunch继续从上一次停止的地方产生字典。-r选项只在你使用-o选项时才有用。

  

    -u

        不输出百分比

   

    -z gzip,bzip2,lzma,7z

        和-o选项联合使用,将输出的文件以gzip,bzip2,lzma,7z其中一种格式压缩。以次是压缩速度越来越慢,但是压缩率越来越高。

    特殊的

    crunch 4 4 abc + ABC + 123 \!#@ -t ,@%^

    这条命令表示产生模式为,@%^的字符串,第一位为大写字母(从ABC中选),第二位为小写字母(从abc中选),第三位为数字(从123中选),第四位为字符(从!#@中选,!比较特殊,要写成\!的形式)

    并且字符集必须按照小写字母,大写字母,数字,符号的顺序写(如 abc + ABC + 123 \!#@)。