名字
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 \!#@)。
最新评论